{"id":13387866,"url":"https://github.com/perfare/il2cppdumper","last_synced_at":"2025-05-14T01:07:45.752Z","repository":{"id":37431356,"uuid":"77703410","full_name":"Perfare/Il2CppDumper","owner":"Perfare","description":"Unity il2cpp reverse engineer","archived":false,"fork":false,"pushed_at":"2024-08-18T17:01:30.000Z","size":1005,"stargazers_count":7573,"open_issues_count":105,"forks_count":1509,"subscribers_count":153,"default_branch":"master","last_synced_at":"2025-04-08T22:19:07.400Z","etag":null,"topics":["il2cpp","reverse-engineering","unity","unity3d"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Perfare.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-12-30T18:29:45.000Z","updated_at":"2025-04-08T16:45:48.000Z","dependencies_parsed_at":"2023-02-15T02:31:47.316Z","dependency_job_id":"8d50e238-46ba-4d65-993a-68626061ec54","html_url":"https://github.com/Perfare/Il2CppDumper","commit_stats":{"total_commits":411,"total_committers":21,"mean_commits":"19.571428571428573","dds":0.06569343065693434,"last_synced_commit":"4741d46ba9cd6159c5d853eb9d6fc48b4bfa2b1a"},"previous_names":[],"tags_count":97,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Perfare%2FIl2CppDumper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Perfare%2FIl2CppDumper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Perfare%2FIl2CppDumper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Perfare%2FIl2CppDumper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Perfare","download_url":"https://codeload.github.com/Perfare/Il2CppDumper/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247934841,"owners_count":21020729,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["il2cpp","reverse-engineering","unity","unity3d"],"created_at":"2024-07-30T12:01:35.814Z","updated_at":"2025-04-08T22:19:14.016Z","avatar_url":"https://github.com/Perfare.png","language":"C#","readme":"# Il2CppDumper\n\n[![Build status](https://ci.appveyor.com/api/projects/status/anhqw33vcpmp8ofa?svg=true)](https://ci.appveyor.com/project/Perfare/il2cppdumper/branch/master/artifacts)\n\n中文说明请戳[这里](README.zh-CN.md)\n\nUnity il2cpp reverse engineer\n\n## Features\n\n* Complete DLL restore (except code), can be used to extract `MonoBehaviour` and `MonoScript`\n* Supports ELF, ELF64, Mach-O, PE, NSO and WASM format\n* Supports Unity 5.3 - 2022.2\n* Supports generate IDA, Ghidra and Binary Ninja scripts to help them better analyze il2cpp files\n* Supports generate structures header file\n* Supports Android memory dumped `libil2cpp.so` file to bypass protection\n* Support bypassing simple PE protection\n\n## Usage\n\nRun `Il2CppDumper.exe` and choose the il2cpp executable file and `global-metadata.dat` file, then enter the information as prompted\n\nThe program will then generate all the output files in current working directory\n\n### Command-line\n\n```\nIl2CppDumper.exe \u003cexecutable-file\u003e \u003cglobal-metadata\u003e \u003coutput-directory\u003e\n```\n\n### Outputs\n\n#### DummyDll\n\nFolder, containing all restored dll files\n\nUse [dnSpy](https://github.com/0xd4d/dnSpy), [ILSpy](https://github.com/icsharpcode/ILSpy) or other .Net decompiler tools to view\n\nCan be used to extract Unity `MonoBehaviour` and `MonoScript`, for [UtinyRipper](https://github.com/mafaca/UtinyRipper), [UABE](https://7daystodie.com/forums/showthread.php?22675-Unity-Assets-Bundle-Extractor)\n\n#### ida.py\n\nFor IDA\n\n#### ida_with_struct.py\n\nFor IDA, read il2cpp.h file and apply structure information in IDA\n\n#### il2cpp.h\n\nstructure information header file\n\n#### ghidra.py\n\nFor Ghidra\n\n#### Il2CppBinaryNinja\n\nFor BinaryNinja\n\n#### ghidra_wasm.py\n\nFor Ghidra, work with [ghidra-wasm-plugin](https://github.com/nneonneo/ghidra-wasm-plugin)\n\n#### script.json\n\nFor ida.py, ghidra.py and Il2CppBinaryNinja\n\n#### stringliteral.json\n\nContains all stringLiteral information\n\n### Configuration\n\nAll the configuration options are located in `config.json`\n\nAvailable options:\n\n* `DumpMethod`, `DumpField`, `DumpProperty`, `DumpAttribute`, `DumpFieldOffset`, `DumpMethodOffset`, `DumpTypeDefIndex`\n  * Whether to output these information to dump.cs\n\n* `GenerateDummyDll`, `GenerateScript`\n  * Whether to generate these things\n\n* `DummyDllAddToken`\n  * Whether to add token in DummyDll\n\n* `RequireAnyKey`\n  * Whether to press any key to exit at the end\n\n* `ForceIl2CppVersion`, `ForceVersion`\n  * If `ForceIl2CppVersion` is `true`, the program will use the version number specified in `ForceVersion` to choose parser for il2cpp binaries (does not affect the choice of metadata parser). This may be useful on some older il2cpp version (e.g. the program may need to use v16 parser on il2cpp v20 (Android) binaries in order to work properly)\n\n* `ForceDump`\n  * Force files to be treated as dumped\n\n* `NoRedirectedPointer`\n  * Treat pointers in dumped files as unredirected, This option needs to be `true` for files dumped from some devices\n\n## Common errors\n\n#### `ERROR: Metadata file supplied is not valid metadata file.`  \n\nMake sure you choose the correct file. Sometimes games may obfuscate this file for content protection purposes and so on. Deobfuscating of such files is beyond the scope of this program, so please **DO NOT** file an issue regarding to deobfuscating.\n\nIf your file is `libil2cpp.so` and you have a rooted Android phone, you can try my other project [Zygisk-Il2CppDumper](https://github.com/Perfare/Zygisk-Il2CppDumper), it can bypass this protection.\n\n#### `ERROR: Can't use auto mode to process file, try manual mode.`\n\nPlease note that the executable file for the PC platform is `GameAssembly.dll` or `*Assembly.dll`\n\nYou can open a new issue and upload the file, I will try to solve.\n\n#### `ERROR: This file may be protected.`\n\nIl2CppDumper detected that the executable file has been protected, use `GameGuardian` to dump `libil2cpp.so` from the game memory, then use Il2CppDumper to load and follow the prompts, can bypass most protections.\n\nIf you have a rooted Android phone, you can try my other project [Zygisk-Il2CppDumper](https://github.com/Perfare/Zygisk-Il2CppDumper), it can bypass almost all protections.\n\n## Credits\n\n- Jumboperson - [Il2CppDumper](https://github.com/Jumboperson/Il2CppDumper)\n","funding_links":[],"categories":["\u003ca id=\"89f963773ee87e2af6f9170ee60a7fb2\"\u003e\u003c/a\u003eDLL"],"sub_categories":["\u003ca id=\"4dcfd9135aa5321b7fa65a88155256f9\"\u003e\u003c/a\u003e新添加"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fperfare%2Fil2cppdumper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fperfare%2Fil2cppdumper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fperfare%2Fil2cppdumper/lists"}