axhlzy/Il2CppHookScripts
axhlzy/Il2CppHookScripts has 666 GitHub stars and 182 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-15 22:58 UTC. Last push 2026-02-02.
What you can do
- Parse Unity's method m / class c / field f / instance lfs / lfp
- parse runtime method argument b / bt / nop function n / detachAll and clean cache D
- (Batch) Hook B/BF/BN for commonly used functions, modify function return value setFunctionXXX, setActive to set gameobject active
- Wrapped "Interceptor.attach" to make it easier to use from the command line A(ptr,(args)=>{},(ret)=>{})
Measured star growth
- in 24h
- 0
- in 7 days
- Collecting history
- in 15 days
- Collecting history
- in 1 month
- Collecting history
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
About
Frida-based libil2cpp.so runtime parsing script
Developer ToolsREADME.md
OriginalIl2cppHook
frida-based libil2cpp.so runtime parsing script
[ Not sure how to use this? There's also an MCP version available il2cpp-frida-mcp ]
Features
- Parse Unity's method
m/ classc/ fieldf/ instancelfs/lfp - parse runtime method argument
b/bt/ nop functionn/ detachAll and clean cacheD - (Batch) Hook
B/BF/BNfor commonly used functions, modify function return valuesetFunctionXXX,setActiveto set gameobject active - Wrapped "Interceptor.attach" to make it easier to use from the command line
A(ptr,(args)=>{},(ret)=>{}) - More convenient to find function
findMethods/findClassesand call functioncallFunction/findExportto find exports function showMethodInfohelp us to Simply get the details of an Il2cppMethod*, and getting the details of a game object useshowGameObject- Object hierarchy
PrintHierarchy/ type hierarchyshowTypeParent - Disassemble
showAsmwith frida and method information,seeHexAmeans hexdump breakWithStackMore symbol parsing for il2cpp,breakWithArgsjust show args- Commonly used Hook package
HookOnPointerClick/HookSetActive/B_Button/HookPlayerPrefssoon ... - Parse mount script
showComponentsaliasPrintHierarchyWithComponentsis also introduced !not alway work! - JNI RegisterNatives Hook (impl in JNIHelper, default off [not stable]), using JNIHelper.cacheRegisterNativeItem to get info !testing!
- Using QBDI to simulate the execution of the function, using t(methoinfo) or traceFunction(mPtr) to enable replacement hook !testing!
- :confused: :confused: :confused:
Install
$ npm install il2cpp-hooker -g
then you can use like this :point_down:
- frida attch current app
$ fat
- frida spawn app of ${PackageName}
$ fat ${PackageName}
- Command line options
$ fat -h
_ _ ______ _ _
| | |(_____ \ | | | |
| | | ____) )____ ____ ____ _____| |__ ___ ___ | | _ _____ ____
| | | / ____// ___) _ \| _ (_____) _ \ / _ \ / _ \| |_/ ) ___ |/ ___)
| | || (____( (___| |_| | |_| | | | | | |_| | |_| | _ (| ____| |
|_|_|\______)____) __/| __/ |_| |_|\___/ \___/|_| \_)_____)_|
|_| |_|
Usage: fat [options] <package-name?>
Options:
-h, --help Print usage information.
-r, --runtime [engine] Specify the JS engine (qjs, v8). Default: v8
-t, --timeout [ms] Specify the time in milliseconds before calling the function.
-f, --functions [name] Specify the functions to call on startup. example: -f getApkInfo();
-l, --log [path] Specify the path to save the log.
-c, --vscode Open project with vscode.
-v, --version Print version information.
Report bugs to:
axhlzy <[email protected]> (https://github.com/axhlzy/Il2CppHookScripts/)
Compile
$ git clone https://github.com/axhlzy/Il2CppHookScripts.git
$ cd Il2cppHook/
$ npm install
$ npm run build & npm run compress
OR
$ npm run watch
$ frida -U -f com.xxx.xxx -l ../_Ufunc.js
OR
$ frida -FU -l ../_Ufunc.js
👇 Here's a simpler way to use it (Recommended)
frida --codeshare axhlzy/il2cpphookscripts -U -f ${PackageName}
Requires Scientific Internet Access
[!NOTE] The npm package may not be updated in time, so you may consider using
fat -cto open the project and use thegithub actionArtifacts to replace _Ufunc.js file. :hushed:
API
OR
open with vscode and search globalthis. to find more useage
Support the author | Buy the author a cup of coffee (^_^)