Frida Docs Unified
    Preparing search index...

    Interface NativeFunction<RetType, ArgTypes>

    Represents a native pointer value whose size depends on Process#pointerSize.

    interface NativeFunction<
        RetType extends NativeFunctionReturnValue,
        ArgTypes extends NativeFunctionArgumentValue[] | [],
    > {
        add(
            v: string | number | NativePointerValue | Int64 | UInt64,
        ): NativePointer;
        and(
            v: string | number | NativePointerValue | Int64 | UInt64,
        ): NativePointer;
        apply(thisArg: NativePointerValue, args: ArgTypes): RetType;
        blend(smallInteger: number): NativePointer;
        call(thisArg?: NativePointerValue, ...args: ArgTypes): RetType;
        compare(v: string | number | NativePointerValue | Int64 | UInt64): number;
        equals(v: string | number | NativePointerValue | Int64 | UInt64): boolean;
        isNull(): boolean;
        not(): NativePointer;
        or(v: string | number | NativePointerValue | Int64 | UInt64): NativePointer;
        readAnsiString(size?: number): string;
        readByteArray(length: number): ArrayBuffer;
        readCString(size?: number): string;
        readDouble(): number;
        readFloat(): number;
        readInt(): number;
        readLong(): number | Int64;
        readPointer(): NativePointer;
        readS16(): number;
        readS32(): number;
        readS64(): Int64;
        readS8(): number;
        readShort(): number;
        readU16(): number;
        readU32(): number;
        readU64(): UInt64;
        readU8(): number;
        readUInt(): number;
        readULong(): number | UInt64;
        readUShort(): number;
        readUtf16String(length?: number): string;
        readUtf8String(size?: number): string;
        readVolatile(length: number): ArrayBuffer;
        shl(
            v: string | number | NativePointerValue | Int64 | UInt64,
        ): NativePointer;
        shr(
            v: string | number | NativePointerValue | Int64 | UInt64,
        ): NativePointer;
        sign(
            key?: PointerAuthenticationKey,
            data?: string | number | NativePointerValue | Int64 | UInt64,
        ): NativePointer;
        strip(key?: PointerAuthenticationKey): NativePointer;
        sub(
            v: string | number | NativePointerValue | Int64 | UInt64,
        ): NativePointer;
        toInt32(): number;
        toJSON(): string;
        toMatchPattern(): string;
        toString(radix?: number): string;
        toUInt32(): number;
        writeAnsiString(value: string): NativePointer;
        writeByteArray(value: ArrayBuffer | number[]): NativePointer;
        writeDouble(value: number): NativePointer;
        writeFloat(value: number): NativePointer;
        writeInt(value: number | Int64): NativePointer;
        writeLong(value: number | Int64): NativePointer;
        writePointer(value: NativePointerValue): NativePointer;
        writeS16(value: number | Int64): NativePointer;
        writeS32(value: number | Int64): NativePointer;
        writeS64(value: number | Int64): NativePointer;
        writeS8(value: number | Int64): NativePointer;
        writeShort(value: number | Int64): NativePointer;
        writeU16(value: number | UInt64): NativePointer;
        writeU32(value: number | UInt64): NativePointer;
        writeU64(value: number | UInt64): NativePointer;
        writeU8(value: number | UInt64): NativePointer;
        writeUInt(value: number | UInt64): NativePointer;
        writeULong(value: number | UInt64): NativePointer;
        writeUShort(value: number | UInt64): NativePointer;
        writeUtf16String(value: string): NativePointer;
        writeUtf8String(value: string): NativePointer;
        writeVolatile(value: ArrayBuffer | number[]): NativePointer;
        xor(
            v: string | number | NativePointerValue | Int64 | UInt64,
        ): NativePointer;
        (...args: ArgTypes): RetType;
    }

    Type Parameters

    Hierarchy (View Summary)

    Index

    Methods

    • Makes a new NativePointer by taking this and blending it with a constant, which may in turn be passed to sign() as data.

      Parameters

      • smallInteger: number

        Value to blend with.

      Returns NativePointer

    • Returns a boolean allowing you to conveniently check if a pointer is NULL.

      Returns boolean

    • Converts to a signed 32-bit integer.

      Returns number

    • Converts to a JSON-serializable value. Same as toString().

      Returns string

    • Returns a string containing a Memory#scan()-compatible match pattern for this pointer’s raw value.

      Returns string

    • Converts to a “0x”-prefixed hexadecimal string, unless a radix is specified.

      Parameters

      • Optionalradix: number

      Returns string

    • Converts to an unsigned 32-bit integer.

      Returns number