Il2CppDumper GUI: a Windows front end for restoring Unity IL2CPP metadata
Simple GUI version of Il2CppDumper
At a glance
- What is it?
- Il2CppDumper GUI is a C# desktop wrapper around Perfare's Il2CppDumper that turns the metadata and binary of a Unity IL2CPP build into restored DLLs plus import scripts for IDA, Ghidra, Binary Ninja and Hopper. It needs Windows 7 or later and the .NET 10 desktop runtime, and it ships with automatic dump for APK, APKS, XAPK, ZIP and decrypted IPA archives.
- Who is it for?
- Adopt Il2CppDumper GUI if you analyse Unity games that ship as IL2CPP and want the metadata restored into readable form with reverse engineering tool scripts generated for you. Skip it if the game is protected, because the author states that no support is offered for protected games and the issues tracker is closed.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 43 days ago.
- What is it written in?
- Mainly C#, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 22, 2026, and from our analysis. They are not legal advice.
Editorial analysis
A wrapper, not a new engine
Il2CppDumper GUI is the simple GUI version of Perfare's Il2CppDumper, and the README is clear that the work here is the interface rather than the analysis. The GUI is based on the Bunifu Framework, with the reason given plainly, that the author likes the dark theme, and it supports drag and drop of binary files and global-metadata.dat for file selection. The automation path is the part that distinguishes it from the original command line tool, with support for APK, APKS, XAPK, ZIP and decrypted IPA files for an automatic dump. The underlying capability is the same as the original: complete DLL restore, except for the code, which means the type and method definitions come back as a managed assembly you can open in a .NET decompiler. The README points at dnSpy, ILSpy and other .Net decompiler tools for reading the result, and notes that the output can be used to extract Unity MonoBehaviour and MonoScript data for tools like UtinyRipper and the Unity Assets Bundle Extractor. The project is MIT licensed, its primary language is C#, and the release history is regular, with 3.2.0 on 2026-09-09, 3.1.0 on 2026-06-07 and 3.0.3 on 2025-11-25, and the last push to the repository was on 2026-09-09, the same day as the newest release.
The format and version coverage is wide, and that is the point
The feature list is a statement of coverage, and each line tells you what you can point it at. The executable formats supported are ELF, ELF64, Mach-O, PE, NSO and WASM, which is unusual coverage for a tool of this kind, since a Unity build for a console, a desktop or a handheld ends up as a different container format. The Unity range is 5.3 through 6000.7, and the metadata versions supported are 16 to 39 and 104 to 111, with 104 to 111 corresponding to Unity 6000.5 through 6000.7. The gap in the metadata range, 40 through 103, is not explained in the README, and it is the kind of gap worth checking against your own target before you spend an evening on it. The tool also supports generating scripts for IDA, Ghidra and Binary Ninja to help with analysing il2cpp files, and it generates a structures header file, which is the artefact that makes the restored types usable in those tools. It also supports Android memory dumped libil2cpp.so files to bypass protection, and bypassing simple PE protection. The remaining options are the practical ones, a settable output directory, settable registration offsets, drag and drop, performance settings, and a fast mode that skips the slow metadata-usage binary scan, which is the obvious first thing to turn on when you are working with a large binary.
What comes out, and where it goes next
The outputs section is the longest part of the README and it is a map of the reverse engineering workflow. The DummyDll folder holds all the restored DLL files, and the readme names dnSpy, ILSpy and other .Net decompiler tools for viewing them, with the note that this can be used to extract Unity MonoBehaviour and MonoScript for UtinyRipper and the Unity Assets Bundle Extractor. Then there is a family of import scripts, and the detail that matters is the Python version split, because the scripts differ by the tool and the era. There is ida.py for IDA with Python 2 and IDAPython 2 for older IDA versions, and ida_py3.py for IDA with Python 3 and IDAPython 3 for IDA 7.4 and newer, described as the same script updated for Python 3 syntax. The structures variants add the header information, with ida_with_struct.py and ida_with_struct_py3.py reading the il2cpp.h file and applying the structure information, in the Python 2 and Python 3 versions respectively. The Ghidra family follows the same pattern with ghidra.py, ghidra_with_struct.py and ghidra_wasm.py, the last of which works with the ghidra-wasm-plugin, plus il2cpp_header_to_ghidra.py, which runs inside Ghidra's Script Manager to parse the header and import all the il2cpp structures into the Data Type Manager. For Binary Ninja there is the Il2CppBinaryNinja directory and il2cpp_header_to_binja.py, which converts the header into a Binary Ninja compatible one. For Hopper there is hopper-py3.py, which reads script.json and renames the addresses and methods, and script.json serves the IDA, Ghidra and Binary Ninja scripts as well. Finally there is stringliteral.json, which holds all the string literal information.
Running it, and the honest limits
The requirements are Windows 7 and above and the.NET 10.0 desktop runtime. The how to use section is two paths, and the automatic one is the short one, dropping an APK, APKS, XAPK, ZIP or decrypted IPA file on the Start button to dump. The manual path is to drop the binary file and global-metadata.dat onto the textboxes or use the Select button, and then press start. There is a link to tutorials for obtaining CodeRegistration and MetadataRegistration, which is the step that trips people up when a build does not expose them. The README also carries a note that antivirus may flag the tool as malicious, calls that a false positive, and says you should not worry about it because those products flag all modding tools. The known errors section is the most useful diagnostic material in the document, and each one tells you what went wrong. An invalid metadata file means the wrong file was chosen, and the README explains that some games obfuscate that file for content protection, that deobfuscating such files is beyond the scope of the program, and that no issue should be filed about it. Auto mode failing on a file means the PC platform executable is GameAssembly.dll or a name ending in Assembly.dll. And a message that the file may be protected means Il2CppDumper detected protection, and the fix is to use GameGuardian to dump libil2cpp.so from the game memory and then load that into Il2CppDumper, which the README says can bypass most protections.
Where Il2CppDumper GUI is the wrong choice
The first limit is stated at the top of the README, and it is a policy rather than a bug. Because of the variety and complexity of protection and encryption methods used by many games, the author cannot offer support or assistance for protected games, and as a consequence the Issues section is closed with only pull requests accepted. That is worth understanding before you plan around the tool, because the community route for a stuck case is closed and the answer has to come from the error messages, which do not cover every protection scheme. The second is the platform, since the package is Windows only and the releases are named as Windows builds, so a macOS or Linux analysis workflow needs the command line original rather than this interface. The third is the workflow around it. The tool restores metadata and generates import scripts, it does not analyse the game, so the reverse engineering itself is still in IDA, Ghidra or Binary Ninja, and for an analyst who is already fluent in one of those the scripts are the only part that saves time. The fourth is the automation risk, since dropping an arbitrary APK or IPA into a tool that unpacks and parses it is a wide attack surface on your own machine, and the antivirus flagging is a symptom of that rather than a bug. And the fifth is the versioning gap in the metadata numbers, since a build whose metadata version falls between 40 and 103 is not covered by the stated range and the README does not explain it.
Editorial conclusion
Adopt Il2CppDumper GUI if you analyse Unity games that ship as IL2CPP and want the metadata restored into readable form with reverse engineering tool scripts generated for you. Skip it if the game is protected, because the author states that no support is offered for protected games and the issues tracker is closed. Verify first that your target's Unity version and metadata version are in the supported ranges, that the executable you are pointing at is the IL2CPP binary rather than a Mono assembly, and that you have the metadata file that matches the build you dumped.
Frequently asked questions
What does Il2CppDumper GUI do and what does it need?
It is a simple GUI wrapper around Perfare's Il2CppDumper that restores the metadata of a Unity IL2CPP build into DLL files and generates import scripts for reverse engineering tools. It requires Windows 7 or above and the .NET 10.0 desktop runtime, and the GUI itself is built on the Bunifu Framework.
Which Unity versions and file formats does Il2CppDumper GUI support?
It supports Unity 5.3 through 6000.7, metadata versions 16 to 39 and 104 to 111 with the latter corresponding to Unity 6000.5 through 6000.7, and the ELF, ELF64, Mach-O, PE, NSO and WASM executable formats. It also automates dumps for APK, APKS, XAPK, ZIP and decrypted IPA files, and can work from a memory dumped libil2cpp.so.
What does Il2CppDumper GUI produce and how do I use it?
It produces a DummyDll folder of restored DLL files to read with dnSpy, ILSpy or another .Net decompiler, an il2cpp.h structures header, and import scripts for IDA, Ghidra, Binary Ninja and Hopper, plus script.json and stringliteral.json. You either drop an APK, APKS, XAPK, ZIP or decrypted IPA on the Start button, or select the binary and global-metadata.dat manually and press start.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/andnixsh-il2cppdumper-gui)Was this useful?