-
Notifications
You must be signed in to change notification settings - Fork 170
API
- Commonly used functions
- i() == list_images : 列出所有的 Images
- c() == list_classes : 列出所有的 Classes
- m() == list_methods : 列出所有的 Methods
- f() == list_fields : 列出所有的 Fields
findClass(className) : 查找类,一般配合 m() 使用 , m(findClass('className')) === m('className')- findClasses(className) : 查找类通常用这个,而不是上面的findclass
findMethod / find_method : 根据类名查找相关的函数- findMethods : 根据类名查找相关的函数
- printExp : 查找名称为参数的函数,比较慢,但是方便
- getApkInfo : 获取 apk 信息
- callFunction : 函数调用
- showAsm : 基于frida.Instruction结合unity函数信息的反汇编
- showMethodInfo / MethodToShow : 查看MethodInfo信息(后者多用在findMethod)
- showTypeParent : 查看上级类型,参数为实例指针
- showComponents : 查看挂载的脚本
- Breakpoint common functions
- B : breakPoint 断点函数类 / b : 断点指定的一个函数
- BF : 按照方法名过滤函数并下断点 : 断点指定的一个函数
- n/nn : nop 指定的一个函数
- A : Interpreter.attach
- breakInline : InlineHook
- breakWithArgs : 带参数断点
- breakWithStack : 带堆栈断点
- dlopen.ts : 提供早期函数hook位置的回调
- watch/watchDisabled : MemoryAccessMonitor的简单封装(arm32易崩)
StalkerTracePath : StalkerTrace封装,分析调用顺序StalkerTraceEvent : StalkerTraceEvent,分析事件
- Encapsulation of common function Hook
- HookOnPointerClick :Hook 点击事件
- HookDebugLog : Hook Debug.Log
- HookSetActive : Hook SetActive
- HookPlayerPrefs : Hook PlayerPrefs
- HookSendMessage : Hook UnityPlayer.UnitySendMessage / libunity.so->UnitySendMessage
- B_Button : HookOnPointerClick to get actions
- B_Text : hook common text functions
- PrintHierarchy/PrintHierarchyWithComponents : 打印当前场景的层级结构
- showArray : 打印Array
- ...
- About Module/Thread
- listModule : (filterName?: string) => void
- listModules : (moduleName: string, printItems?: number) => void
- listThreads : (maxCountThreads?: number) => void
- attachCurrentThread : Il2Cpp.Api._threadCurrent()
- findExport : (exportName: string, moduleName?: string, callback?: (exp: ModuleExportDetails) => void) => void
- findImport : (moduleName: string, importName?: string) => void
- lf series(list fields ... )
- Others
get = httpGet / post = httpPost : get/post请求,不需要时注释减小体积- dumpSo
- dumpMem
- iterClassLoader iterClassLoader(it=>{LOGD(it)})
- [HookJavaLog / HookMotionEvent / findJavaClass : findJavaClass("dalvik.system.DexClassLoader")]
- [allocCStr / allocUStr / allocVector / alloc / alloc : 分配字符串,分配内存]
- [system/systemSU : 执行cmd命令]
- [Toast : 弹出Toast]
- [clear : 清屏]
-
findClass(className) 查找类,一般配合m()使用 m(findClass('className')) === m('className')
-
printExp 作为findMethods的补充版,方便查找函数
- 第一个参数是查找的函数名
- 第二个参数标识是否全局查找(默认(false)在常用的函数中查找,因为是遍历,这样可以有效提高查找速度)
-
showMethodInfo / MethodToShow 查看MethodInfo信息(后者多用在findMethod)showAddressInfo alias showMethodInfo(addressToMethod)
-
showComponents 查看挂载在对象上的脚本,建议配合使用lfs,OnPointerClick、printh也有调用
-
B ('ClassName') === B(findClass('ClassName')),不会重复添加已添加的Method,不带参数即断点所有常用的方法
BF 等价于原来的 B("filterStr") 断点包含(include)指定字符串的方法 / BFA("filterStr"): 指定类
b ('Method_Pointer') / b('MethodInfo_Pointer')
d / D : d === detachAll and d(ptr) === detach(ptr) / D() === detachAll + clear list cache
bp('filterMethodName') 断点包含 指定的函数名(filterMethodName) 的所有函数
-
n / nn : n(ptr) === nop function and nn() === cancel nop function
-
注意:arm64的地址用双引号包裹起来,arm32直接传递即可
-
listModules (moduleName: string, printItems?: number) => void
-
findExport (exportName: string, moduleName?: string, callback?: (exp: ModuleExportDetails) => void) => void
-
findImport (moduleName: string, importName?: string) => void
-
lfs 详见 Il2cppHook\agent\bridge\fix\parseFields.ts 需要一个参数实例地址 可以去B()中找
-
...
更多用法查看 WIKI
或者使用搜索 globalThis.
进行查看