FRIDA-JSAPI:NativePointer使用

NativePointer

  • new NativePointer(s)
    从包含内存地址的字符串 s 创建一个新的 NativePointer 对象。
    字符串可以是十进制的,也可以是以 0x 开头的十六进制表示。
    可以使用 ptr(s) 的简写形式来创建。

  • isNull()
    返回一个布尔值,方便检查指针是否为 NULL。

  • add(rhs), sub(rhs), and(rhs), or(rhs), xor(rhs)
    创建一个新的 NativePointer,其值为当前 NativePointer 加上/减去/与/或/异或 rhs,其中 rhs 可以是一个数字或另一个 NativePointer。

  • shr(n), shl(n)
    创建一个新的 NativePointer,其值为当前 NativePointer 向右/向左移位 n 位。

  • not()
    创建一个新的 NativePointer,其值为当前 NativePointer 的按位取反。

  • equals(rhs)
    返回一个布尔值,指示 rhs 是否与当前指针相等,即它们的指针值是否相同。

  • readCString([size = -1]), readUtf8String([size = -1]), readUtf16String([length = -1]), readAnsiString([size = -1])
    从当前内存位置读取 ASCII、UTF-8、UTF-16 或 ANSI 字符串的字节。如果知道字符串的字节数,可以提供可选的 size 参数;如果字符串以 NULL 结尾,可以省略该参数或指定为 -1。同样,如果知道字符串的字符数,可以提供可选的 length 参数。
    如果地址中读取的任何 size / length 字节不可读,将抛出一个 JavaScript 异常。
    注意:readAnsiString() 仅在 Windows 上可用(且相关)。

  • readByteArray(length)
    从当前内存位置读取 length 个字节,并将其返回为 ArrayBuffer。此缓冲区可以通过 send() 的第二个参数有效地传输到基于 Frida 的应用程序中。
    如果地址中读取的任何字节不可读,将抛出一个 JavaScript 异常。

  • writeByteArray(bytes)
    将 bytes 写入当前内存位置,其中 bytes 可以是 ArrayBuffer(通常由 readByteArray() 返回)或由 0 到 255 之间的整数组成的数组。例如:[ 0x13, 0x37, 0x42 ]。
    如果地址中写入的任何字节不可写,将抛出一个 JavaScript 异常。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值