Frida JavaScript-api 中文手册
  • JavaScript API 手册
  • 目录
  • 1. 运行时信息
    • 1.1 Frida
    • 1.2 Script
  • 2. 进程,线程,模块和内存
    • 2.1 线程 (Thread)
    • 2.2 进程 (Process)
    • 2.3 模块 (Module)
    • 2.4 模块映射 (ModuleMap)
    • 2.5 内存 (Memory)
    • 2.6 内存读写监视器 (MemoryAccessMonitor)
    • 2.7 C模块 (CModule)
    • 2.8 Api解析器 (ApiResolver)
    • 2.9 调试符号 (DebugSymbol)
    • 2.10 内核 (Kernel)
  • 3. 数据类型,函数和回调
    • 3.1 64位整型 (Int64)
    • 3.2 无符号64位整型 (UInt64)
    • 3.3 Native指针 (NativePointer)
    • 3.4 数组 (ArrayBuffer)
    • 3.5 Native函数 (NativeFunction)
    • 3.6 Native回调 (NativeCallback)
    • 3.7 系统函数 (SystemFunction)
  • 4. 网络
    • 4.1 套接字 (Socket)
    • 4.2 套接字监听器 (SocketListener)
    • 4.3 套接字连接 (SocketConnection)
  • 5. 文件和数据流
    • 5.1 文件 (File)
    • 5.2 读写流 (IOStream)
    • 5.3 输入流 (InputStream)
    • 5.4 输出流 (OutputStream)
    • 5.5 Unix输入流 (UnixInputStream)
    • 5.6 Unix输出流 (UnixOutputStream)
    • 5.7 Win32输入流 (Win32InputStream)
    • 5.7 Win32输出流 (Win32OutputStream)
  • 6. 数据库
    • 6.1 Sqlite数据库
    • 6.2 Sqlite语句
  • 7. 注入
    • 7.1 Interceptor
    • 7.2 Stalker
    • 7.3 ObjC
    • 7.4 Java
  • 8. CPU指令
    • 8.1 指令集
    • 8.2 X86写入
    • 8.3 X86重定位
    • 8.4 x86枚举类型
    • 8.5 Arm写入
    • 8.6 Arm重定位
    • 8.7 Thumb写入
    • 8.8 Thumb重定位
    • 8.9 ARM 枚举类型
    • 8.10 ARM64 写入
    • 8.11 ARM64 重定位
    • 8.12 AARCH64 枚举类型
    • 8.13 Mips写入
    • 8.14 Mips重定位
    • 8.15 Mips枚举类型
  • 9. 其他
    • 9.1 终端
    • 9.2 转储
    • 9.3 缩写
    • 9.4 宿主与被注入程序之间的通信
    • 9.5 时间相关
    • 9.6 垃圾回收
Powered by GitBook
On this page
  1. 1. 运行时信息

1.2 Script

  • Script.runtime: 字符串属性,表示当前使用的运行时实现。QJS 或 V8 。

  • Script.pin(): 暂时阻止卸载当前脚本。这个行为会被引用计数,因此后面某个地方一定要有个匹配的unpin()。通常在你需要手动控制另一个线程的清理工作时,被用在bindWeak()的回调中。

  • Script.unpin(): pin() 的逆操作,使当前的脚本可以被卸载。

  • Script.bindWeak(value, fn): 监视变量value,当value被垃圾回收后,或脚本将要被卸载时调用fn函数。该API返回一个ID,你可以将该ID传递给Script.unbindWeak(),进行显示的清理。当你构造语言绑定时,这个API会非常有用:当一个JS变量不再被需要时,脚本会自动释放Native资源。

  • Script.unbindWeak(id): 停止对Script.bindWeak(value, fn)监视的变量的监视,并立刻调用fn。

  • Script.setGlobalAccessHandler(handler | null): 安装或卸载一些处理函数,这些函数用来处理尝试访问不存在的全局变量时发生的异常。这个API在实现一个REPL时非常有用,比如尝试惰性取回数据库id时。 其中,handler是一个普通的JavaScript对象,该对象需要包含两个属性: * enumerate(): 用于查询那些全局变量存在,必须返回一个字符串数组。 * get(property): 用于取回指定property的值。

Previous1.1 FridaNext2. 进程,线程,模块和内存

Last updated 2 years ago