美文网首页
Frida Javascript api #Global (中文

Frida Javascript api #Global (中文

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

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

    • hexdump(target[, options]):
      根据提供的 ArrayBufferNativePointer 类型的 target生成一个hexdump,可以用 options 对输出内容进行定制.

    例如:

    var libc = Module.findBaseAddress('libc.so');
    console.log(hexdump(libc, {
    offset: 0,
    length: 64,
    header: true,
    ansi: true
    }));
    
              0   1  2  3  4  5  6  7  8  9  A  B  C  D  E  F  0123456789ABCDEF
    00000000  7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00  .ELF............
    00000010  03 00 28 00 01 00 00 00 00 00 00 00 34 00 00 00  ..(.........4...
    00000020  34 a8 04 00 00 00 00 05 34 00 20 00 08 00 28 00  4.......4. ...(.
    00000030  1e 00 1d 00 06 00 00 00 34 00 00 00 34 00 00 00  ........4...4...
    
    • int64(v):new Int64(v)的简写

    • uint64(v):new UInt64(v)的简写

    • ptr(s):new NativePointer(s)的简写

    • NULL:ptr("0")的简写

    • recv([type, ]callback):
      使用 callback接收来自Frida应用的下一条消息. 你可以使用 type来过滤接收到的消息的种类.
      每一次调用只会返回一条消息给你,所以你需要再次调用 recv()来接收下一条消息.

    • send(message[, data]):将JavaScript对象 message发送到Frida应用(该对象必须可以被序列化成JSON格式).
      如果你有一些原始的二进制数据需要与之一起发送,比如你通过 NativePointer#readByteArray转储得到一些内存,
      则可以通过可选的 data参数传递此内存.这要求它要么是一个 ArrayBuffer对象,要么是由0 ~ 255组成的数组.

    性能方面的注意事项

    因为 send() 是异步的, 发送单个消息的总开销并未针对高频进行优化.
    因此, Frida 让你来决定是否需要将多个值分批处理到单个 send() 调用中, 以便获得低延迟还是高吞吐量.

    • setTimeout(func, delay[, ...parameters]):
      delay毫秒后调用 func, 并传递可选的一个或多个 parameters给它.
      返回一个可通过 clearTimeout来取消此延时任务的id.

    • clearTimeout(id):取消 setTimeout返回的id对应的延时任务.

    • setInterval(func, delay[, ...parameters]):
      每间隔 delay毫秒便调用一次 func,并传递可选的一个或多个 parameters给它.
      返回一个可通过 clearInterval来取消此间隔任务的id.

    • clearInterval(id):
      取消 setInterval返回的id对应的间隔任务.

    • setImmediate(func[, ...parameters]):
      调度Frida的JavaScript线程以便尽可能快的让 func被调用,并传递可选的一个或多个 parameters给它.

    • clearImmediate(id):
      取消 setImmediate返回的id对应的即时任务.

    • gc():
      强制垃圾回收.
      Useful for testingWeakRef.bind()logic,but also sometimes needed when using the Duktape runtime and its default GC heuristics proving a bit too lazy.

    相关文章

      网友评论

          本文标题:Frida Javascript api #Global (中文

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