├── output.txt ├── .gitignore ├── src └── index.ts ├── package.json └── README.md /output.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | import "frida-il2cpp-bridge"; 2 | import * as fs from "fs"; 3 | 4 | Il2Cpp.perform(async () => { 5 | Il2Cpp.dump("dump.cs"); 6 | }); 7 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "il2cpp", 3 | "version": "1.0.0", 4 | "main": "index.js", 5 | "scripts": { 6 | "spawn": "frida -U -f com.dts.freefireth -l dist/agent.js", 7 | "build": "frida-compile src/index.ts -o dist/agent.js -c", 8 | "watch": "frida-compile src/index.ts -o dist/agent.js -w" 9 | }, 10 | "keywords": [], 11 | "author": "", 12 | "license": "ISC", 13 | "devDependencies": { 14 | "@types/frida-gum": "^18.5.1", 15 | "@types/node": "~20.9", 16 | "frida-compile": "^16.4.1", 17 | "frida-il2cpp-bridge": "^0.9.0", 18 | "typescript": "^5.3.3" 19 | }, 20 | "description": "", 21 | "dependencies": { 22 | "clipboard-copy": "^4.0.1", 23 | "clipboardy": "^4.0.0", 24 | "copy-text-to-clipboard": "^3.2.0", 25 | "open": "^10.0.3", 26 | "require": "^2.4.20" 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Frida Il2cpp Dumper 2 | 3 | Generate dump of il2cpp games using frida. 4 | 5 | ## Overview 6 | 7 | This repository provides tools to generate dumps of IL2CPP (Intermediate Language To C++) games using Frida, a dynamic instrumentation toolkit. IL2CPP is a technology from Unity that converts assemblies to C++ code before compiling, which makes it more challenging to reverse engineer games built with it. This project aims to ease the process of extracting useful information from IL2CPP games for analysis and modding purposes. 8 | 9 | ## Requirements 10 | 11 | To use this tool, you'll need the following dependencies: 12 | 13 | - `"@types/frida-gum": "^18.5.1"`: TypeScript definitions for Frida Gum, a low-level JavaScript library for building powerful instrumentation tools. 14 | - `"@types/node": "~20.9"`: TypeScript definitions for Node.js. 15 | - `"frida-compile": "^16.4.1"`: A tool to compile TypeScript to JavaScript for use with Frida. 16 | - `"frida-il2cpp-bridge": "^0.9.0"`: A bridge for interacting with IL2CPP applications using Frida. 17 | - `"typescript": "^5.3.3"`: TypeScript compiler. 18 | 19 | ## Usage 20 | 21 | ### Installation 22 | 23 | 1. Clone this repository: 24 | 25 | ```bash 26 | git clone https://github.com/springmusk026/Frida-Il2cpp-Dumper.git 27 | cd Frida-Il2cpp-Dumper 28 | ``` 29 | 30 | 2. Install dependencies: 31 | 32 | ```bash 33 | npm install 34 | ``` 35 | 36 | ### Scripts 37 | 38 | - `"spawn": "frida -U -f com.dts.freefireth -l dist/agent.js"`: Spawn a new Frida session targeting the specified application package (`com.dts.freefireth`) and load the compiled agent script (`dist/agent.js`). 39 | - `"build": "frida-compile src/index.ts -o dist/agent.js -c"`: Compile the TypeScript source code (`src/index.ts`) to JavaScript (`dist/agent.js`). 40 | - `"watch": "frida-compile src/index.ts -o dist/agent.js -w"`: Continuously watch for changes in the TypeScript source code and compile to JavaScript. 41 | 42 | ### Example 43 | 44 | To generate a dump of an IL2CPP game, follow these steps: 45 | 46 | 1. Compile the agent script: 47 | 48 | ```bash 49 | npm run build 50 | ``` 51 | 52 | 2. Run the spawn script, replacing `com.dts.freefireth` with the target application package: 53 | 54 | ```bash 55 | npm run spawn 56 | ``` 57 | 58 | ## Contributing 59 | 60 | Contributions are welcome! If you find any issues or have suggestions for improvements, feel free to open an issue or submit a pull request. 61 | 62 | ## License 63 | 64 | This project is licensed under the [MIT License](LICENSE). 65 | 66 | --------------------------------------------------------------------------------