美文网首页
Frida Javascript api #Thread #In

Frida Javascript api #Thread #In

作者: 邓超_码农加点中 | 来源:发表于2020-02-13 22:53 被阅读0次

    原文链接: https://frida.re/docs/javascript-api/#thread
    欢迎加入 Frida 交流群: 1049977261

    Thread

    • Thread.backtrace([context, backtracer]):
      为当前线程生成一个回溯, 返回一个 NativePointer 数组.

      如果您在 InterceptoronEnteronLeave 回调中调用这个方法, 您应当把 this.context 提供给可选参数 context, 因为这将给您一个更 精准的回溯.
      省略 context 意味着回溯将从当前栈的位置生成, 但由于 V8 的栈堆帧机制, 您可能得不到一个很好的回溯.
      可选的 backtracer 参数用于指定使用哪个回溯器, 仅限于 Backtracer.FUZZYBacktracer.ACCURATE, 后者是默认选项.
      精准的回溯器 (Backtracer.ACCURATE) 依赖于对调试器友好的二进制文件或者存在适用的调试信息, 而模糊回溯器 (Backtracer.FUZZY) 在堆栈上执行取证, 以便猜测返回地址, 这意味着您可能得到误报, 但它对任意二进制文件都奏效.

    var f = Module.getExportByName('libcommonCrypto.dylib',
        'CCCryptorCreate');
    Interceptor.attach(f, {
      onEnter: function (args) {
        console.log('CCCryptorCreate called from:\n' +
            Thread.backtrace(this.context, Backtracer.ACCURATE)
            .map(DebugSymbol.fromAddress).join('\n') + '\n');
      }
    });
    
    • Thread.sleep(delay):
      暂停当前线程 delay 秒, 例如 0.05 意味着暂停 50 毫秒.

    Int64

    • new Int64(v):
      通过 v 创建一个新的 Int64 对象, v 可以是一个数字也可以是一个包含十进制或以 "0x" 开头的十六进制的数字字符串. 您可以使用 int64(v) 作为这个方法的简写.
    • add(rhs), sub(rhs),
      and(rhs), or(rhs),
      xor(rhs):
      通过将当前 Int64 对象与另一个数字或 Int64 对象进行加, 减, 与, 或, 异或来创建一个新的 Int64 对象.

    • shr(n), shl(n):
      通过将当前对象向右或向左移 n 位来创建一个新的 Int64 对象.

    • compare(rhs):
      类似于 String#localeComare() 一样返回一个数字类型的比较结果.

    • toNumber(): 将当前对象转换成数字.

    • toString([radix = 10]):
      将当前对象转换成数字字符串, 可指定进制, 默认十进制.

    UInt64

    • new UInt64(v):
      通过 v 创建一个新的 UInt64 对象, v 可以是一个数字也可以是一个包含十进制或以 "0x" 开头的十六进制的数字字符串. 您可以使用 uint64(v) 作为这个方法的简写.
    • add(rhs), sub(rhs),
      and(rhs), or(rhs),
      xor(rhs):
      通过将当前 UInt64 对象与另一个数字或 UInt64 对象进行加, 减, 与, 或, 异或来创建一个新的 UInt64 对象.

    • shr(n), shl(n):
      通过将当前对象向右或向左移 n 位来创建一个新的 UInt64 对象.

    • compare(rhs):
      类似于 String#localeComare() 一样返回一个数字类型的比较结果.

    • toNumber(): 将当前对象转换成数字.

    • toString([radix = 10]):
      将当前对象转换成数字字符串, 可指定进制, 默认十进制.

    相关文章

      网友评论

          本文标题:Frida Javascript api #Thread #In

          本文链接:https://www.haomeiwen.com/subject/izjrfhtx.html