Skip to content
芒果糯米糍 edited this page Apr 3, 2024 · 11 revisions

Contents

  1. Commonly used functions
  2. Breakpoint common functions
  3. Encapsulation of common function Hook
  4. About Module/Thread
  5. lf series(list fields ... )
  6. Others

Examples

  • i() == list_images 不带参数即列出所有的 Images

    list_images

  • c() == list_classes 列出所有的类 list_classes(ptr/strFilter)

    list_classes

  • m() == list_methods 列出所有的方法

    list_methods

  • f() == list_fields 列出所有的字段

    list_fields

  • findClass(className) 查找类,一般配合m()使用 m(findClass('className')) === m('className')

    findClass

  • **findClasses(className) 查找类

    findClasses

  • findMethod 新版 / find_method 旧版

    findMethod

  • findMethods

    findMethods

  • printExp 作为findMethods的补充版,方便查找函数

    • 第一个参数是查找的函数名

    printExp_0

    • 第二个参数标识是否全局查找(默认(false)在常用的函数中查找,因为是遍历,这样可以有效提高查找速度)

    printExp_1

  • getApkInfo 获取 apk 信息

    getApkInfo()

  • callFunction 函数调用

    callFunction

  • showAsm 基于frida.Instruction结合unity函数信息的反汇编

    showAsm

    showAsmSP

  • showMethodInfo / MethodToShow 查看MethodInfo信息(后者多用在findMethod)showAddressInfo alias showMethodInfo(addressToMethod)

    showMethodInfo

  • showTypeParent 查看父级类型

    showTypeParent

  • showComponents 查看挂载在对象上的脚本,建议配合使用lfs,OnPointerClick、printh也有调用

    showComponents

  • B breakPoint 断点函数类

    B ('ClassName') === B(findClass('ClassName')),不会重复添加已添加的Method,不带参数即断点所有常用的方法

    breakPoint_B_0

    BF 等价于原来的 B("filterStr") 断点包含(include)指定字符串的方法 / BFA("filterStr"): 指定类

    breakPoint_BF

    b ('Method_Pointer') / b('MethodInfo_Pointer')

    breakPoint_b_1

    d / D : d === detachAll and d(ptr) === detach(ptr) / D() === detachAll + clear list cache

    bp('filterMethodName') 断点包含 指定的函数名(filterMethodName) 的所有函数

  • n/nn nop Function

    n / nn : n(ptr) === nop function and nn() === cancel nop function

    nop

  • Attach Address

    attach

  • breakInline InlineHook

    breakInline

  • breakWithArgs 带参数断点

    breakWithArgs

  • breakWithStack 带堆栈断点(补充了对il2cpp函数名及其偏移的解析)

    breakWithStack

  • dlopen : 提供一个早期的函数hook点

    dlopen

  • watch/watchDisabled MemoryAccessMonitor的简单封装(arm32易崩)

    watch

  • StalkerTracePath StalkerTrace封装 分析调用顺序

    StalkerTracePath

  • StalkerTraceEvent StalkerTraceEvent 分析事件

    StalkerTraceEvent

  • HookOnPointerClick :Hook 点击事件

    HookOnPointerClick

  • HookDebugLog : Hook Debug.Log

    HookDebugLog

  • HookSetActive : Hook SetActive

    HookSetActive

  • HookPlayerPrefs : Hook PlayerPrefs

    HookPlayerPrefs

  • HookSendMessage: Hook HookSendMessage

    HookSendMessage

  • B_Button : Hook Button

    B_Button

    B_Button_1

  • B_Text : 常用的一些text函数hook

    B_Text

  • PrintHierarchy : 打印当前场景的层级结构

    注意:arm64的地址用双引号包裹起来,arm32直接传递即可

    PrintHierarchy

  • showArray : 打印Array

    showArray

  • listModule (filterName: string) => void

    listModule

  • listModules (moduleName: string, printItems?: number) => void

    listModules

  • listThreads (maxCountThreads?: number) => void

    listThreads

  • findExport (exportName: string, moduleName?: string, callback?: (exp: ModuleExportDetails) => void) => void

    findExport

  • findImport (moduleName: string, importName?: string) => void

    findImport

  • lfs 详见 Il2cppHook\agent\bridge\fix\parseFields.ts 需要一个参数实例地址 可以去B()中找

    lfs0

  • HttpGet

    httpGet

  • dumpSo 内存中dump指定so

    dumpSo

  • dumpMem 内存中dump指定部分内存(args[0]:start ptr, args[1]:length)

    dumpMem

  • iterClassLoader 回调函数 参数是classloader)

    iterClassLoader

  • QBDI

    QBDI_0 QBDI_1

...

Experimental feature

  • 详见 Il2cppHook\agent\base\dynamic.ts (命令行补全) dynamic_1 dynamic_2 dynamic_3
Clone this wiki locally