├── .gitignore ├── README.md ├── dist └── agent.js ├── output.txt ├── package-lock.json ├── package.json └── src └── index.ts /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/springmusk026/Frida-Il2cpp-Dumper/f2c8c042fc09c9dc5bd67f9fd50602b81c1a5624/output.txt -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "il2cpp", 3 | "version": "1.0.0", 4 | "lockfileVersion": 3, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "il2cpp", 9 | "version": "1.0.0", 10 | "license": "ISC", 11 | "dependencies": { 12 | "clipboard-copy": "^4.0.1", 13 | "clipboardy": "^4.0.0", 14 | "copy-text-to-clipboard": "^3.2.0", 15 | "open": "^10.0.3", 16 | "require": "^2.4.20" 17 | }, 18 | "devDependencies": { 19 | "@types/frida-gum": "^18.5.1", 20 | "@types/node": "~20.9", 21 | "frida-compile": "^16.4.1", 22 | "frida-il2cpp-bridge": "^0.9.0", 23 | "typescript": "^5.3.3" 24 | } 25 | }, 26 | "node_modules/@frida/assert": { 27 | "version": "3.0.2", 28 | "resolved": "https://registry.npmjs.org/@frida/assert/-/assert-3.0.2.tgz", 29 | "integrity": "sha512-JXJq5SbXGrM5EkjrZKfRmB29zOoEOix02NC6A5TSJ+C1GE/X051EinJJsuOO2pEOx7KZwpvAHvS0WXW0+levKg==", 30 | "dev": true 31 | }, 32 | "node_modules/@frida/base64-js": { 33 | "version": "2.0.3", 34 | "resolved": "https://registry.npmjs.org/@frida/base64-js/-/base64-js-2.0.3.tgz", 35 | "integrity": "sha512-2w0F+1TynOTCZ/v7du9LdHPWwq0lJhazjo2fF9upMyQmA1zHetT14fLuQ1v/6T0qPgyeEGkiSrybstU8EsgeUA==", 36 | "dev": true, 37 | "funding": [ 38 | { 39 | "type": "github", 40 | "url": "https://github.com/sponsors/feross" 41 | }, 42 | { 43 | "type": "patreon", 44 | "url": "https://www.patreon.com/feross" 45 | }, 46 | { 47 | "type": "consulting", 48 | "url": "https://feross.org/support" 49 | } 50 | ] 51 | }, 52 | "node_modules/@frida/buffer": { 53 | "version": "7.0.4", 54 | "resolved": "https://registry.npmjs.org/@frida/buffer/-/buffer-7.0.4.tgz", 55 | "integrity": "sha512-RxQ1lZRRiCJj7nhcCiD8xeJx0NsLpGGnjqsmTg7jShGmbnVFMN5W7+J+3gqdPSQhc/IxNBIWc6zRXVp4+qnYHg==", 56 | "dev": true, 57 | "funding": [ 58 | { 59 | "type": "github", 60 | "url": "https://github.com/sponsors/feross" 61 | }, 62 | { 63 | "type": "patreon", 64 | "url": "https://www.patreon.com/feross" 65 | }, 66 | { 67 | "type": "consulting", 68 | "url": "https://feross.org/support" 69 | } 70 | ], 71 | "dependencies": { 72 | "base64-js": "^1.5.1", 73 | "ieee754": "^1.2.1" 74 | } 75 | }, 76 | "node_modules/@frida/crosspath": { 77 | "version": "3.0.0", 78 | "resolved": "https://registry.npmjs.org/@frida/crosspath/-/crosspath-3.0.0.tgz", 79 | "integrity": "sha512-bNdO1spIPD2P40XtK89N49oZpJhstdlnkJZcD4yJ17jrdkm9Ctu0sd9MIEX6Z8Tm8ydhVJBAOMEKl9/R27onAQ==", 80 | "dev": true, 81 | "dependencies": { 82 | "@types/node": "^17.0.36" 83 | }, 84 | "engines": { 85 | "node": ">=14.9.0" 86 | } 87 | }, 88 | "node_modules/@frida/crosspath/node_modules/@types/node": { 89 | "version": "17.0.45", 90 | "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz", 91 | "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==", 92 | "dev": true 93 | }, 94 | "node_modules/@frida/crypto": { 95 | "version": "1.0.1", 96 | "resolved": "https://registry.npmjs.org/@frida/crypto/-/crypto-1.0.1.tgz", 97 | "integrity": "sha512-WXTkVjESvX8TIVXIynJJv9BKSIdQP0Iis04StIXknkDi1ULdMlrypA9p5C4KW1H6GCkNsVnKbybpzsulYCTvag==", 98 | "dev": true 99 | }, 100 | "node_modules/@frida/diagnostics_channel": { 101 | "version": "1.0.0", 102 | "resolved": "https://registry.npmjs.org/@frida/diagnostics_channel/-/diagnostics_channel-1.0.0.tgz", 103 | "integrity": "sha512-mYX1jp/5Bpk24tHArJNx65iCk7qSuV8YJkdU0gFNVtJUXxfV8BG5WuPa4mL+ynxsbWWpsg/cwKZbLAepYKTdQQ==", 104 | "dev": true 105 | }, 106 | "node_modules/@frida/events": { 107 | "version": "4.0.4", 108 | "resolved": "https://registry.npmjs.org/@frida/events/-/events-4.0.4.tgz", 109 | "integrity": "sha512-qJVQ6VWHf9sjUKuiJzoCAC00frbpcwxeYfvQ+PP9LU/d70j+QvjWgYe98Qa3ekLaBU6r/AvWm8ThKCDUCLWrQQ==", 110 | "dev": true, 111 | "engines": { 112 | "node": ">=0.8.x" 113 | } 114 | }, 115 | "node_modules/@frida/http": { 116 | "version": "4.0.2", 117 | "resolved": "https://registry.npmjs.org/@frida/http/-/http-4.0.2.tgz", 118 | "integrity": "sha512-cvkc7ex7GmVXVOWqtjXKBWUUbYEBgpNRKZbEEoMeI8KiIs8zejKwg+N7rx7296Ao+EP3+xcUr4wBVr3xLaUVfQ==", 119 | "dev": true, 120 | "dependencies": { 121 | "http-parser-js": "^0.5.3" 122 | } 123 | }, 124 | "node_modules/@frida/http-parser-js": { 125 | "version": "1.0.0", 126 | "resolved": "https://registry.npmjs.org/@frida/http-parser-js/-/http-parser-js-1.0.0.tgz", 127 | "integrity": "sha512-2nMrNXt/OeTlWbqnE8AH4Sfz4I2+BGoN206dzKEyC/g2svtn83Xu+zuv/V3TkwrA27s26Mcy84ZwsXeNlqNxUQ==", 128 | "dev": true 129 | }, 130 | "node_modules/@frida/https": { 131 | "version": "1.0.0", 132 | "resolved": "https://registry.npmjs.org/@frida/https/-/https-1.0.0.tgz", 133 | "integrity": "sha512-OiqQ6qsALcWOktRLq07oJ0i6sH8eX6MXb/MdZS1qVKDRf6wchH4Pjn6fiLB+pt/OlYbggk+DOfpHwSdjTwuHMQ==", 134 | "dev": true 135 | }, 136 | "node_modules/@frida/ieee754": { 137 | "version": "2.0.2", 138 | "resolved": "https://registry.npmjs.org/@frida/ieee754/-/ieee754-2.0.2.tgz", 139 | "integrity": "sha512-wlcUebnne4ENN7GDr5pTH598ZDLMVOsh0FjenxeVOe6u7ewZkz9gGRnLnZKJAm9kl5G6XhdxhI0cSXVQK/rQUw==", 140 | "dev": true, 141 | "funding": [ 142 | { 143 | "type": "github", 144 | "url": "https://github.com/sponsors/feross" 145 | }, 146 | { 147 | "type": "patreon", 148 | "url": "https://www.patreon.com/feross" 149 | }, 150 | { 151 | "type": "consulting", 152 | "url": "https://feross.org/support" 153 | } 154 | ] 155 | }, 156 | "node_modules/@frida/net": { 157 | "version": "4.0.2", 158 | "resolved": "https://registry.npmjs.org/@frida/net/-/net-4.0.2.tgz", 159 | "integrity": "sha512-qQRe7hQ+ZfCcG/SE3P1TRqQ9bmuK/T7wPCYaT4z56rBPWAxsaQbQHpX4fR6OrFaSDr7X0xJLsTbdIp9hGhhLZg==", 160 | "dev": true 161 | }, 162 | "node_modules/@frida/os": { 163 | "version": "1.0.2", 164 | "resolved": "https://registry.npmjs.org/@frida/os/-/os-1.0.2.tgz", 165 | "integrity": "sha512-3ISAiGNiyIya3QN2EHBCz1wqP0enTdSxP99wUeroeh8+AQRmgoOr/5TRnrVry8pe378anay3fmV/tdUMMSkehQ==", 166 | "dev": true 167 | }, 168 | "node_modules/@frida/path": { 169 | "version": "2.0.3", 170 | "resolved": "https://registry.npmjs.org/@frida/path/-/path-2.0.3.tgz", 171 | "integrity": "sha512-2RQy36QatoC846fzBhBhV8sXMsSOBGoYvwTHeaE1zUdz7F4RNScP4QEekTTooBYWYX/XjiF36KQpYAzc9OYFtg==", 172 | "dev": true 173 | }, 174 | "node_modules/@frida/process": { 175 | "version": "1.2.1", 176 | "resolved": "https://registry.npmjs.org/@frida/process/-/process-1.2.1.tgz", 177 | "integrity": "sha512-nvCu22DstFW2ttGFtOKekHM7vnjbZm+XgtvavOt427GNT6uV7k0JYK9tnMbcLMRWv57DG6udAmuJlWs8Paq1ag==", 178 | "dev": true 179 | }, 180 | "node_modules/@frida/punycode": { 181 | "version": "3.0.0", 182 | "resolved": "https://registry.npmjs.org/@frida/punycode/-/punycode-3.0.0.tgz", 183 | "integrity": "sha512-XVSDY2KamDs1D5/fTVgHcOSNxdU4kTboxzqJMBbTjcQC7XScIT9c0EfbwKCq7Kci6gWQdsHSCr7lU+9Oc4KAdg==", 184 | "dev": true 185 | }, 186 | "node_modules/@frida/querystring": { 187 | "version": "1.0.0", 188 | "resolved": "https://registry.npmjs.org/@frida/querystring/-/querystring-1.0.0.tgz", 189 | "integrity": "sha512-15m1fOZPmoO/vWlgPJrG/J9/BJDz6a2/JpVGpS8ynNzo+fBhTznaStX5nHxUs24mVTqh/OqLo0EiYJM5WWHXxg==", 190 | "dev": true 191 | }, 192 | "node_modules/@frida/readable-stream": { 193 | "version": "4.1.3", 194 | "resolved": "https://registry.npmjs.org/@frida/readable-stream/-/readable-stream-4.1.3.tgz", 195 | "integrity": "sha512-ntGUFmi+CryRGRJIK13a/VST2Ad19uivbln8Xd92vKPAARq+6vMIASDyZIqyl5BLRccfiyCHdYgrgQ6RI5rUig==", 196 | "dev": true 197 | }, 198 | "node_modules/@frida/reserved-words": { 199 | "version": "1.0.0", 200 | "resolved": "https://registry.npmjs.org/@frida/reserved-words/-/reserved-words-1.0.0.tgz", 201 | "integrity": "sha512-2yG/XxJlsGlk/mm6eZTb4OAaQEhkTI2qaFfZFtAsrA/XuCpuMWkS4y/guyBlsRu4hAuhK2HPmNM8+OLLK1zM9Q==", 202 | "dev": true 203 | }, 204 | "node_modules/@frida/stream": { 205 | "version": "1.0.2", 206 | "resolved": "https://registry.npmjs.org/@frida/stream/-/stream-1.0.2.tgz", 207 | "integrity": "sha512-4OuaC1ztmEKgTq3WeBhsy8Oq+AwW9n9cYnvLklcC9jwD93AEwgbWpecLlxJCVuALvTMdhKPg0nQVfyGYP/i9Bw==", 208 | "dev": true, 209 | "dependencies": { 210 | "@frida/readable-stream": "^4.1.3" 211 | } 212 | }, 213 | "node_modules/@frida/string_decoder": { 214 | "version": "2.0.0", 215 | "resolved": "https://registry.npmjs.org/@frida/string_decoder/-/string_decoder-2.0.0.tgz", 216 | "integrity": "sha512-in371tYZMHQiW9HF5MS3JDw6Ao6tyBoq34UWy2rzOswYyMG1rpizh85ofi/yVkxDiaqybEZefxzkVittpPGT6g==", 217 | "dev": true 218 | }, 219 | "node_modules/@frida/terser": { 220 | "version": "1.0.0", 221 | "resolved": "https://registry.npmjs.org/@frida/terser/-/terser-1.0.0.tgz", 222 | "integrity": "sha512-59h9WuNzD1Rx/zwoWqQ/FW/4Y/Q3R91Eng2hEwdHapqiTDvtKbZ08F6CynCR7ZVinrh4tLYsF46AtVPTz1ys9g==", 223 | "dev": true, 224 | "dependencies": { 225 | "@jridgewell/source-map": "^0.3.2", 226 | "acorn": "^8.5.0", 227 | "commander": "^2.20.0", 228 | "source-map-support": "~0.5.20" 229 | }, 230 | "bin": { 231 | "terser": "bin/terser" 232 | }, 233 | "engines": { 234 | "node": ">=10" 235 | } 236 | }, 237 | "node_modules/@frida/terser/node_modules/commander": { 238 | "version": "2.20.3", 239 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", 240 | "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", 241 | "dev": true 242 | }, 243 | "node_modules/@frida/timers": { 244 | "version": "3.0.0", 245 | "resolved": "https://registry.npmjs.org/@frida/timers/-/timers-3.0.0.tgz", 246 | "integrity": "sha512-3b+0igv10aT8TMxefrTAd06rActqbxJLY2Xkkq9vYcPBffB/yHszl0NYIp/5ko8WC3ecDYPU6bQiY6fjs72zTA==", 247 | "dev": true 248 | }, 249 | "node_modules/@frida/tty": { 250 | "version": "1.0.0", 251 | "resolved": "https://registry.npmjs.org/@frida/tty/-/tty-1.0.0.tgz", 252 | "integrity": "sha512-p/kjLnKYxEAB1MdYP8+5rKv9CsHzyA+0jg9BcGETzjQVKHHcroHDULRxDYUh+DC7qs6cpX8QdDQh9E+a6ydgsQ==", 253 | "dev": true 254 | }, 255 | "node_modules/@frida/url": { 256 | "version": "1.0.2", 257 | "resolved": "https://registry.npmjs.org/@frida/url/-/url-1.0.2.tgz", 258 | "integrity": "sha512-ZKunbKJHMr8w2Eb/5K1avy0MzK1B998S17wYXNv3RmzBGxMm8S5T0F3qEpRxkU7/72P8m4izyQU87fWl+FjQsQ==", 259 | "dev": true, 260 | "dependencies": { 261 | "@frida/punycode": "^3.0.0", 262 | "@frida/querystring": "^1.0.0" 263 | } 264 | }, 265 | "node_modules/@frida/util": { 266 | "version": "1.0.3", 267 | "resolved": "https://registry.npmjs.org/@frida/util/-/util-1.0.3.tgz", 268 | "integrity": "sha512-htcG3uDiRXv89ERVNNYhfase39kJ2X75ZARfrYcYEtJLFEsSk0nemM1YnEIR4CjrHvdvkWHrwgKkS+acOyoNEg==", 269 | "dev": true 270 | }, 271 | "node_modules/@frida/vm": { 272 | "version": "2.0.0", 273 | "resolved": "https://registry.npmjs.org/@frida/vm/-/vm-2.0.0.tgz", 274 | "integrity": "sha512-7fsjLWscZT5odNIBtg6qbLNI+vAk1xmii6H5W2kaYkMYt0vRohQEcDSUWacA+eaWlu5SvMjZI82Yibj/3G9pJw==", 275 | "dev": true 276 | }, 277 | "node_modules/@jridgewell/gen-mapping": { 278 | "version": "0.3.3", 279 | "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", 280 | "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", 281 | "dev": true, 282 | "dependencies": { 283 | "@jridgewell/set-array": "^1.0.1", 284 | "@jridgewell/sourcemap-codec": "^1.4.10", 285 | "@jridgewell/trace-mapping": "^0.3.9" 286 | }, 287 | "engines": { 288 | "node": ">=6.0.0" 289 | } 290 | }, 291 | "node_modules/@jridgewell/resolve-uri": { 292 | "version": "3.1.1", 293 | "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", 294 | "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", 295 | "dev": true, 296 | "engines": { 297 | "node": ">=6.0.0" 298 | } 299 | }, 300 | "node_modules/@jridgewell/set-array": { 301 | "version": "1.1.2", 302 | "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", 303 | "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", 304 | "dev": true, 305 | "engines": { 306 | "node": ">=6.0.0" 307 | } 308 | }, 309 | "node_modules/@jridgewell/source-map": { 310 | "version": "0.3.5", 311 | "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", 312 | "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", 313 | "dev": true, 314 | "dependencies": { 315 | "@jridgewell/gen-mapping": "^0.3.0", 316 | "@jridgewell/trace-mapping": "^0.3.9" 317 | } 318 | }, 319 | "node_modules/@jridgewell/sourcemap-codec": { 320 | "version": "1.4.15", 321 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", 322 | "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", 323 | "dev": true 324 | }, 325 | "node_modules/@jridgewell/trace-mapping": { 326 | "version": "0.3.20", 327 | "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", 328 | "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", 329 | "dev": true, 330 | "dependencies": { 331 | "@jridgewell/resolve-uri": "^3.1.0", 332 | "@jridgewell/sourcemap-codec": "^1.4.14" 333 | } 334 | }, 335 | "node_modules/@types/frida-gum": { 336 | "version": "18.5.1", 337 | "resolved": "https://registry.npmjs.org/@types/frida-gum/-/frida-gum-18.5.1.tgz", 338 | "integrity": "sha512-99geyCbWB+YBCqxcO+ue7dJUQJti7kQ5CHGQtKoz0ENtRswKULGMFKW6QgL657sMiztqhcDHWJjYSPv5GKT1ig==", 339 | "dev": true 340 | }, 341 | "node_modules/@types/node": { 342 | "version": "20.9.5", 343 | "resolved": "https://registry.npmjs.org/@types/node/-/node-20.9.5.tgz", 344 | "integrity": "sha512-Uq2xbNq0chGg+/WQEU0LJTSs/1nKxz6u1iemLcGomkSnKokbW1fbLqc3HOqCf2JP7KjlL4QkS7oZZTrOQHQYgQ==", 345 | "dev": true, 346 | "dependencies": { 347 | "undici-types": "~5.26.4" 348 | } 349 | }, 350 | "node_modules/acorn": { 351 | "version": "8.11.3", 352 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", 353 | "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", 354 | "dev": true, 355 | "bin": { 356 | "acorn": "bin/acorn" 357 | }, 358 | "engines": { 359 | "node": ">=0.4.0" 360 | } 361 | }, 362 | "node_modules/amdefine": { 363 | "version": "1.0.1", 364 | "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", 365 | "integrity": "sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==", 366 | "engines": { 367 | "node": ">=0.4.2" 368 | } 369 | }, 370 | "node_modules/async": { 371 | "version": "0.2.10", 372 | "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", 373 | "integrity": "sha512-eAkdoKxU6/LkKDBzLpT+t6Ff5EtfSF4wx1WfJiPEEV7WNLnDaRXk0oVysiEPm262roaachGexwUv94WhSgN5TQ==" 374 | }, 375 | "node_modules/base64-js": { 376 | "version": "1.5.1", 377 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", 378 | "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", 379 | "dev": true, 380 | "funding": [ 381 | { 382 | "type": "github", 383 | "url": "https://github.com/sponsors/feross" 384 | }, 385 | { 386 | "type": "patreon", 387 | "url": "https://www.patreon.com/feross" 388 | }, 389 | { 390 | "type": "consulting", 391 | "url": "https://feross.org/support" 392 | } 393 | ] 394 | }, 395 | "node_modules/buffer-from": { 396 | "version": "1.1.2", 397 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", 398 | "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", 399 | "dev": true 400 | }, 401 | "node_modules/bundle-name": { 402 | "version": "4.1.0", 403 | "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", 404 | "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==", 405 | "dependencies": { 406 | "run-applescript": "^7.0.0" 407 | }, 408 | "engines": { 409 | "node": ">=18" 410 | }, 411 | "funding": { 412 | "url": "https://github.com/sponsors/sindresorhus" 413 | } 414 | }, 415 | "node_modules/clipboard-copy": { 416 | "version": "4.0.1", 417 | "resolved": "https://registry.npmjs.org/clipboard-copy/-/clipboard-copy-4.0.1.tgz", 418 | "integrity": "sha512-wOlqdqziE/NNTUJsfSgXmBMIrYmfd5V0HCGsR8uAKHcg+h9NENWINcfRjtWGU77wDHC8B8ijV4hMTGYbrKovng==", 419 | "funding": [ 420 | { 421 | "type": "github", 422 | "url": "https://github.com/sponsors/feross" 423 | }, 424 | { 425 | "type": "patreon", 426 | "url": "https://www.patreon.com/feross" 427 | }, 428 | { 429 | "type": "consulting", 430 | "url": "https://feross.org/support" 431 | } 432 | ] 433 | }, 434 | "node_modules/clipboardy": { 435 | "version": "4.0.0", 436 | "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-4.0.0.tgz", 437 | "integrity": "sha512-5mOlNS0mhX0707P2I0aZ2V/cmHUEO/fL7VFLqszkhUsxt7RwnmrInf/eEQKlf5GzvYeHIjT+Ov1HRfNmymlG0w==", 438 | "dependencies": { 439 | "execa": "^8.0.1", 440 | "is-wsl": "^3.1.0", 441 | "is64bit": "^2.0.0" 442 | }, 443 | "engines": { 444 | "node": ">=18" 445 | }, 446 | "funding": { 447 | "url": "https://github.com/sponsors/sindresorhus" 448 | } 449 | }, 450 | "node_modules/commander": { 451 | "version": "11.1.0", 452 | "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", 453 | "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", 454 | "dev": true, 455 | "engines": { 456 | "node": ">=16" 457 | } 458 | }, 459 | "node_modules/copy-text-to-clipboard": { 460 | "version": "3.2.0", 461 | "resolved": "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.0.tgz", 462 | "integrity": "sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q==", 463 | "engines": { 464 | "node": ">=12" 465 | }, 466 | "funding": { 467 | "url": "https://github.com/sponsors/sindresorhus" 468 | } 469 | }, 470 | "node_modules/cross-spawn": { 471 | "version": "7.0.3", 472 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", 473 | "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", 474 | "dependencies": { 475 | "path-key": "^3.1.0", 476 | "shebang-command": "^2.0.0", 477 | "which": "^2.0.1" 478 | }, 479 | "engines": { 480 | "node": ">= 8" 481 | } 482 | }, 483 | "node_modules/default-browser": { 484 | "version": "5.2.1", 485 | "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.2.1.tgz", 486 | "integrity": "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==", 487 | "dependencies": { 488 | "bundle-name": "^4.1.0", 489 | "default-browser-id": "^5.0.0" 490 | }, 491 | "engines": { 492 | "node": ">=18" 493 | }, 494 | "funding": { 495 | "url": "https://github.com/sponsors/sindresorhus" 496 | } 497 | }, 498 | "node_modules/default-browser-id": { 499 | "version": "5.0.0", 500 | "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.0.tgz", 501 | "integrity": "sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==", 502 | "engines": { 503 | "node": ">=18" 504 | }, 505 | "funding": { 506 | "url": "https://github.com/sponsors/sindresorhus" 507 | } 508 | }, 509 | "node_modules/define-lazy-prop": { 510 | "version": "3.0.0", 511 | "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", 512 | "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", 513 | "engines": { 514 | "node": ">=12" 515 | }, 516 | "funding": { 517 | "url": "https://github.com/sponsors/sindresorhus" 518 | } 519 | }, 520 | "node_modules/execa": { 521 | "version": "8.0.1", 522 | "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", 523 | "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", 524 | "dependencies": { 525 | "cross-spawn": "^7.0.3", 526 | "get-stream": "^8.0.1", 527 | "human-signals": "^5.0.0", 528 | "is-stream": "^3.0.0", 529 | "merge-stream": "^2.0.0", 530 | "npm-run-path": "^5.1.0", 531 | "onetime": "^6.0.0", 532 | "signal-exit": "^4.1.0", 533 | "strip-final-newline": "^3.0.0" 534 | }, 535 | "engines": { 536 | "node": ">=16.17" 537 | }, 538 | "funding": { 539 | "url": "https://github.com/sindresorhus/execa?sponsor=1" 540 | } 541 | }, 542 | "node_modules/frida-compile": { 543 | "version": "16.4.1", 544 | "resolved": "https://registry.npmjs.org/frida-compile/-/frida-compile-16.4.1.tgz", 545 | "integrity": "sha512-xI9HNtUFpHxuKBGXaL6XJAYH1zWTvNJDrHRnz1hp0oS24iPHt6c01Jmm3qljZek3oQWn8HhvfNvrzfgbsKzoBQ==", 546 | "dev": true, 547 | "dependencies": { 548 | "@frida/assert": "^3.0.1", 549 | "@frida/base64-js": "^2.0.3", 550 | "@frida/buffer": "^7.0.4", 551 | "@frida/crosspath": "^3.0.0", 552 | "@frida/crypto": "^1.0.1", 553 | "@frida/diagnostics_channel": "^1.0.0", 554 | "@frida/events": "^4.0.4", 555 | "@frida/http": "^4.0.2", 556 | "@frida/http-parser-js": "^1.0.0", 557 | "@frida/https": "^1.0.0", 558 | "@frida/ieee754": "^2.0.2", 559 | "@frida/net": "^4.0.1", 560 | "@frida/os": "^1.0.0", 561 | "@frida/path": "^2.0.3", 562 | "@frida/process": "^1.2.1", 563 | "@frida/punycode": "^3.0.0", 564 | "@frida/querystring": "^1.0.0", 565 | "@frida/readable-stream": "^4.1.3", 566 | "@frida/reserved-words": "^1.0.0", 567 | "@frida/stream": "^1.0.2", 568 | "@frida/string_decoder": "^2.0.0", 569 | "@frida/terser": "^1.0.0", 570 | "@frida/timers": "^3.0.0", 571 | "@frida/tty": "^1.0.0", 572 | "@frida/url": "^1.0.2", 573 | "@frida/util": "^1.0.3", 574 | "@frida/vm": "^2.0.0", 575 | "commander": "^11.1.0", 576 | "frida-fs": "^5.2.3", 577 | "typed-emitter": "^2.1.0" 578 | }, 579 | "bin": { 580 | "frida-compile": "dist/cli.js" 581 | } 582 | }, 583 | "node_modules/frida-fs": { 584 | "version": "5.2.5", 585 | "resolved": "https://registry.npmjs.org/frida-fs/-/frida-fs-5.2.5.tgz", 586 | "integrity": "sha512-Eyb4OqUlcv1/Eq7Q+B9IZmYZIgIM2YjqDojrjmAGzPSSXBuUKwSkuObQcQ8Dup9JTOMIUcSII9/I8DaTe6LFKw==", 587 | "dev": true 588 | }, 589 | "node_modules/frida-il2cpp-bridge": { 590 | "version": "0.9.0", 591 | "resolved": "https://registry.npmjs.org/frida-il2cpp-bridge/-/frida-il2cpp-bridge-0.9.0.tgz", 592 | "integrity": "sha512-nucEstKS/b2xDOR1l8kH/f73Zkbhfwq3xbVcL14w1KZujC8pB2aCJ4OYDGSaxBXhWLKOaaO16bB/oLzfmQ8hqg==", 593 | "dev": true 594 | }, 595 | "node_modules/get-stream": { 596 | "version": "8.0.1", 597 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", 598 | "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", 599 | "engines": { 600 | "node": ">=16" 601 | }, 602 | "funding": { 603 | "url": "https://github.com/sponsors/sindresorhus" 604 | } 605 | }, 606 | "node_modules/http-parser-js": { 607 | "version": "0.5.8", 608 | "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", 609 | "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==", 610 | "dev": true 611 | }, 612 | "node_modules/human-signals": { 613 | "version": "5.0.0", 614 | "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", 615 | "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", 616 | "engines": { 617 | "node": ">=16.17.0" 618 | } 619 | }, 620 | "node_modules/ieee754": { 621 | "version": "1.2.1", 622 | "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", 623 | "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", 624 | "dev": true, 625 | "funding": [ 626 | { 627 | "type": "github", 628 | "url": "https://github.com/sponsors/feross" 629 | }, 630 | { 631 | "type": "patreon", 632 | "url": "https://www.patreon.com/feross" 633 | }, 634 | { 635 | "type": "consulting", 636 | "url": "https://feross.org/support" 637 | } 638 | ] 639 | }, 640 | "node_modules/is-docker": { 641 | "version": "3.0.0", 642 | "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", 643 | "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", 644 | "bin": { 645 | "is-docker": "cli.js" 646 | }, 647 | "engines": { 648 | "node": "^12.20.0 || ^14.13.1 || >=16.0.0" 649 | }, 650 | "funding": { 651 | "url": "https://github.com/sponsors/sindresorhus" 652 | } 653 | }, 654 | "node_modules/is-inside-container": { 655 | "version": "1.0.0", 656 | "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", 657 | "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", 658 | "dependencies": { 659 | "is-docker": "^3.0.0" 660 | }, 661 | "bin": { 662 | "is-inside-container": "cli.js" 663 | }, 664 | "engines": { 665 | "node": ">=14.16" 666 | }, 667 | "funding": { 668 | "url": "https://github.com/sponsors/sindresorhus" 669 | } 670 | }, 671 | "node_modules/is-stream": { 672 | "version": "3.0.0", 673 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", 674 | "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", 675 | "engines": { 676 | "node": "^12.20.0 || ^14.13.1 || >=16.0.0" 677 | }, 678 | "funding": { 679 | "url": "https://github.com/sponsors/sindresorhus" 680 | } 681 | }, 682 | "node_modules/is-wsl": { 683 | "version": "3.1.0", 684 | "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", 685 | "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", 686 | "dependencies": { 687 | "is-inside-container": "^1.0.0" 688 | }, 689 | "engines": { 690 | "node": ">=16" 691 | }, 692 | "funding": { 693 | "url": "https://github.com/sponsors/sindresorhus" 694 | } 695 | }, 696 | "node_modules/is64bit": { 697 | "version": "2.0.0", 698 | "resolved": "https://registry.npmjs.org/is64bit/-/is64bit-2.0.0.tgz", 699 | "integrity": "sha512-jv+8jaWCl0g2lSBkNSVXdzfBA0npK1HGC2KtWM9FumFRoGS94g3NbCCLVnCYHLjp4GrW2KZeeSTMo5ddtznmGw==", 700 | "dependencies": { 701 | "system-architecture": "^0.1.0" 702 | }, 703 | "engines": { 704 | "node": ">=18" 705 | }, 706 | "funding": { 707 | "url": "https://github.com/sponsors/sindresorhus" 708 | } 709 | }, 710 | "node_modules/isexe": { 711 | "version": "2.0.0", 712 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 713 | "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" 714 | }, 715 | "node_modules/merge-stream": { 716 | "version": "2.0.0", 717 | "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", 718 | "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" 719 | }, 720 | "node_modules/mimic-fn": { 721 | "version": "4.0.0", 722 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", 723 | "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", 724 | "engines": { 725 | "node": ">=12" 726 | }, 727 | "funding": { 728 | "url": "https://github.com/sponsors/sindresorhus" 729 | } 730 | }, 731 | "node_modules/npm-run-path": { 732 | "version": "5.2.0", 733 | "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.2.0.tgz", 734 | "integrity": "sha512-W4/tgAXFqFA0iL7fk0+uQ3g7wkL8xJmx3XdK0VGb4cHW//eZTtKGvFBBoRKVTpY7n6ze4NL9ly7rgXcHufqXKg==", 735 | "dependencies": { 736 | "path-key": "^4.0.0" 737 | }, 738 | "engines": { 739 | "node": "^12.20.0 || ^14.13.1 || >=16.0.0" 740 | }, 741 | "funding": { 742 | "url": "https://github.com/sponsors/sindresorhus" 743 | } 744 | }, 745 | "node_modules/npm-run-path/node_modules/path-key": { 746 | "version": "4.0.0", 747 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", 748 | "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", 749 | "engines": { 750 | "node": ">=12" 751 | }, 752 | "funding": { 753 | "url": "https://github.com/sponsors/sindresorhus" 754 | } 755 | }, 756 | "node_modules/onetime": { 757 | "version": "6.0.0", 758 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", 759 | "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", 760 | "dependencies": { 761 | "mimic-fn": "^4.0.0" 762 | }, 763 | "engines": { 764 | "node": ">=12" 765 | }, 766 | "funding": { 767 | "url": "https://github.com/sponsors/sindresorhus" 768 | } 769 | }, 770 | "node_modules/open": { 771 | "version": "10.0.3", 772 | "resolved": "https://registry.npmjs.org/open/-/open-10.0.3.tgz", 773 | "integrity": "sha512-dtbI5oW7987hwC9qjJTyABldTaa19SuyJse1QboWv3b0qCcrrLNVDqBx1XgELAjh9QTVQaP/C5b1nhQebd1H2A==", 774 | "dependencies": { 775 | "default-browser": "^5.2.1", 776 | "define-lazy-prop": "^3.0.0", 777 | "is-inside-container": "^1.0.0", 778 | "is-wsl": "^3.1.0" 779 | }, 780 | "engines": { 781 | "node": ">=18" 782 | }, 783 | "funding": { 784 | "url": "https://github.com/sponsors/sindresorhus" 785 | } 786 | }, 787 | "node_modules/optimist": { 788 | "version": "0.3.7", 789 | "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz", 790 | "integrity": "sha512-TCx0dXQzVtSCg2OgY/bO9hjM9cV4XYx09TVK+s3+FhkjT6LovsLe+pPMzpWf+6yXK/hUizs2gUoTw3jHM0VaTQ==", 791 | "dependencies": { 792 | "wordwrap": "~0.0.2" 793 | } 794 | }, 795 | "node_modules/path-key": { 796 | "version": "3.1.1", 797 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 798 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 799 | "engines": { 800 | "node": ">=8" 801 | } 802 | }, 803 | "node_modules/require": { 804 | "version": "2.4.20", 805 | "resolved": "https://registry.npmjs.org/require/-/require-2.4.20.tgz", 806 | "integrity": "sha512-7eop5rvh38qhQQQOoUyf68meVIcxT2yFySNywTbxoEECgkX4KDqqDRaEszfvFnuB3fuZVjDdJZ1TI/Esr16RRA==", 807 | "dependencies": { 808 | "std": "0.1.40", 809 | "uglify-js": "2.3.0" 810 | }, 811 | "bin": { 812 | "require": "bin/require-command.js" 813 | }, 814 | "engines": { 815 | "browsers": "*", 816 | "node": "*" 817 | } 818 | }, 819 | "node_modules/run-applescript": { 820 | "version": "7.0.0", 821 | "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.0.0.tgz", 822 | "integrity": "sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==", 823 | "engines": { 824 | "node": ">=18" 825 | }, 826 | "funding": { 827 | "url": "https://github.com/sponsors/sindresorhus" 828 | } 829 | }, 830 | "node_modules/rxjs": { 831 | "version": "7.8.1", 832 | "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", 833 | "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", 834 | "dev": true, 835 | "optional": true, 836 | "dependencies": { 837 | "tslib": "^2.1.0" 838 | } 839 | }, 840 | "node_modules/shebang-command": { 841 | "version": "2.0.0", 842 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 843 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 844 | "dependencies": { 845 | "shebang-regex": "^3.0.0" 846 | }, 847 | "engines": { 848 | "node": ">=8" 849 | } 850 | }, 851 | "node_modules/shebang-regex": { 852 | "version": "3.0.0", 853 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 854 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", 855 | "engines": { 856 | "node": ">=8" 857 | } 858 | }, 859 | "node_modules/signal-exit": { 860 | "version": "4.1.0", 861 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", 862 | "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", 863 | "engines": { 864 | "node": ">=14" 865 | }, 866 | "funding": { 867 | "url": "https://github.com/sponsors/isaacs" 868 | } 869 | }, 870 | "node_modules/source-map": { 871 | "version": "0.6.1", 872 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 873 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 874 | "dev": true, 875 | "engines": { 876 | "node": ">=0.10.0" 877 | } 878 | }, 879 | "node_modules/source-map-support": { 880 | "version": "0.5.21", 881 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", 882 | "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", 883 | "dev": true, 884 | "dependencies": { 885 | "buffer-from": "^1.0.0", 886 | "source-map": "^0.6.0" 887 | } 888 | }, 889 | "node_modules/std": { 890 | "version": "0.1.40", 891 | "resolved": "https://registry.npmjs.org/std/-/std-0.1.40.tgz", 892 | "integrity": "sha512-wUf57hkDGCoVShrhPA8Q7lAg2Qosk+FaMlECmAsr1A4/rL2NRXFHQGBcgMUFKVkPEemJFW9gzjCQisRty14ohg==", 893 | "engines": { 894 | "node": "*" 895 | } 896 | }, 897 | "node_modules/strip-final-newline": { 898 | "version": "3.0.0", 899 | "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", 900 | "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", 901 | "engines": { 902 | "node": ">=12" 903 | }, 904 | "funding": { 905 | "url": "https://github.com/sponsors/sindresorhus" 906 | } 907 | }, 908 | "node_modules/system-architecture": { 909 | "version": "0.1.0", 910 | "resolved": "https://registry.npmjs.org/system-architecture/-/system-architecture-0.1.0.tgz", 911 | "integrity": "sha512-ulAk51I9UVUyJgxlv9M6lFot2WP3e7t8Kz9+IS6D4rVba1tR9kON+Ey69f+1R4Q8cd45Lod6a4IcJIxnzGc/zA==", 912 | "engines": { 913 | "node": ">=18" 914 | }, 915 | "funding": { 916 | "url": "https://github.com/sponsors/sindresorhus" 917 | } 918 | }, 919 | "node_modules/tslib": { 920 | "version": "2.6.2", 921 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", 922 | "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", 923 | "dev": true, 924 | "optional": true 925 | }, 926 | "node_modules/typed-emitter": { 927 | "version": "2.1.0", 928 | "resolved": "https://registry.npmjs.org/typed-emitter/-/typed-emitter-2.1.0.tgz", 929 | "integrity": "sha512-g/KzbYKbH5C2vPkaXGu8DJlHrGKHLsM25Zg9WuC9pMGfuvT+X25tZQWo5fK1BjBm8+UrVE9LDCvaY0CQk+fXDA==", 930 | "dev": true, 931 | "optionalDependencies": { 932 | "rxjs": "*" 933 | } 934 | }, 935 | "node_modules/typescript": { 936 | "version": "5.3.3", 937 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", 938 | "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", 939 | "dev": true, 940 | "bin": { 941 | "tsc": "bin/tsc", 942 | "tsserver": "bin/tsserver" 943 | }, 944 | "engines": { 945 | "node": ">=14.17" 946 | } 947 | }, 948 | "node_modules/uglify-js": { 949 | "version": "2.3.0", 950 | "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.3.0.tgz", 951 | "integrity": "sha512-AQvbxRKdaQeYADywQaao0k8Tj+7NGEVTne6xwgX1yQpv/G8b0CKdIw70HkCptwfvNGDsVe+0Bng3U9hfWbxxfg==", 952 | "dependencies": { 953 | "async": "~0.2.6", 954 | "optimist": "~0.3.5", 955 | "source-map": "~0.1.7" 956 | }, 957 | "bin": { 958 | "uglifyjs": "bin/uglifyjs" 959 | }, 960 | "engines": { 961 | "node": ">=0.4.0" 962 | } 963 | }, 964 | "node_modules/uglify-js/node_modules/source-map": { 965 | "version": "0.1.43", 966 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", 967 | "integrity": "sha512-VtCvB9SIQhk3aF6h+N85EaqIaBFIAfZ9Cu+NJHHVvc8BbEcnvDcFw6sqQ2dQrT6SlOrZq3tIvyD9+EGq/lJryQ==", 968 | "dependencies": { 969 | "amdefine": ">=0.0.4" 970 | }, 971 | "engines": { 972 | "node": ">=0.8.0" 973 | } 974 | }, 975 | "node_modules/undici-types": { 976 | "version": "5.26.5", 977 | "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", 978 | "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", 979 | "dev": true 980 | }, 981 | "node_modules/which": { 982 | "version": "2.0.2", 983 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 984 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 985 | "dependencies": { 986 | "isexe": "^2.0.0" 987 | }, 988 | "bin": { 989 | "node-which": "bin/node-which" 990 | }, 991 | "engines": { 992 | "node": ">= 8" 993 | } 994 | }, 995 | "node_modules/wordwrap": { 996 | "version": "0.0.3", 997 | "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", 998 | "integrity": "sha512-1tMA907+V4QmxV7dbRvb4/8MaRALK6q9Abid3ndMYnbyo8piisCmeONVqVSXqQA3KaP4SLt5b7ud6E2sqP8TFw==", 999 | "engines": { 1000 | "node": ">=0.4.0" 1001 | } 1002 | } 1003 | } 1004 | } 1005 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | --------------------------------------------------------------------------------