Il2CppDumper
Il2CppInspector
Il2CppDumper | Il2CppInspector | |
---|---|---|
12 | 4 | |
7,388 | 2,617 | |
2.0% | - | |
4.0 | 0.0 | |
6 months ago | over 2 years ago | |
C# | C | |
MIT License | GNU Affero General Public License v3.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Il2CppDumper
- Il2CppDumper: Open-Source Tool for Unity Il2cpp Reverse Engineering
-
Engage absolutely uses Fates RN; a technical analysis
By using IL2CppDumper along with the game's global-metadata.dat file, we can generate headers and structs that we can use with Ghidra, a tool for disassembling code. Once we load Engage and these headers and structs into Ghidra, we can look for a particular function called App.BattleMath$$_IsProbabilityHit. This function is provided a displayed hit (or, as Intelligent Systems calls it, ratio) and is responsible for determining whether or not that attack will actually hit. Ghidra will try to automatically decompile the assembly code into something more readable, and while the results are sometimes mixed, here it's pretty clear what's going on. We can see how, when the displayed hit is less than 51 (or when it's 100), it simply multiplies the displayed hit by 100, and when the displayed hit is 51 or greater, it uses the sin function as described earlier:
-
Anyone knos what type of encryption this is?
So i want to reverse a game which uses Il2cpp, so i used this to dump the files: https://github.com/Perfare/Il2CppDumper
- heya, I'm currently trying to get through a mobile unity game but ran across this, mind if I ask how I can get sort of decrypt this kind of file(s)?
-
Is there a way to recompile after using Il2CppDumper?
Basically the title; I decompiled a game and intend to mod its behavior, so I used a Il2Cpp dumper that seems pretty popular (https://github.com/Perfare/Il2CppDumper).
-
Where to find high technical quality unity projects?
There's plenty of resources on decompiling apks. An APK is just a zip basically, and it contains an Ill2cpp.so file & and global-metadata file. You can use Il2cppdumper (https://github.com/Perfare/Il2CppDumper/releases. https://github.com/Perfare/Il2CppDumper ) to restore the Assembly-CSharp. Then you can use IlSpy or just open the assembly or the dump.cs in visual studio that gets produced.
-
Mottled vs Speckled eggs?
Download and run https://github.com/Perfare/Il2CppDumper/releases. Find and load libil2cpp.so and global-metadata.dat from your combined apk folder when it asks. This will create a bunch of files. The ones we care about right now are the ones in the DummyDll folder.
-
Where to find dialogue SFX files?
You'll need: https://github.com/Perfare/AssetStudio and (for the optional part) https://github.com/Perfare/Il2CppDumper
-
Is there a way to decompile unity 3D games?
if the game is compiled with IL2CPP you can convert it to a dummy Assembly-CSharp file using IL2Cpp Dumper - https://github.com/Perfare/Il2CppDumper
- lldb and ida not working on Unity game
Il2CppInspector
- Need help understanding reversed libil2cpp code
-
Using IL2CPPInspector to create and inject a new Unity Projector as a mod?
That's it! It'd be 2 seconds in C#, but this tool is beyond me. Anybody have experience creating a mod like this or using IL2CPPInspector? Here is a link to the tutorial if any C++ aficionados are unfamiliar with the tool but want to take a gander: https://katyscode.wordpress.com/2021/01/14/il2cppinspector-tutorial-working-with-code-in-il2cpp-dll-injection-projects/
-
Help decompiling an IL2CPP dll?
il2cpp.py> Running... Generated script file by Il2CppInspector - http://www.djkaty.com - https://github.com/djkaty Processing method definitions Processing constructed generic methods Processing custom attributes generators Processing Method.Invoke thunks Processing string literals Processing Il2CppClass (TypeInfo) pointers Processing Il2CppType (TypeRef) pointers Processing MethodInfo pointers Processing function boundaries Processing IL2CPP type metadata Traceback (most recent call last): File "H:\extracting shit\sf1 rema\ghidra\inspector\il2cpp.py", line 220, in ProcessJSON(jsonData) File "H:\extracting shit\sf1 rema\ghidra\inspector\il2cpp.py", line 197, in ProcessJSON DefineField(d['virtualAddress'], d['name'], d['type']) File "H:\extracting shit\sf1 rema\ghidra\inspector\il2cpp.py", line 119, in DefineField SetType(addr, AsUTF8(type)) File "H:\extracting shit\sf1 rema\ghidra\inspector\il2cpp.py", line 60, in SetType createData(addr, t) at ghidra.program.database.code.CodeManager.checkValidAddressRange(CodeManager.java:1945) at ghidra.program.database.code.CodeManager.createCodeUnit(CodeManager.java:2030) at ghidra.program.database.ListingDB.createData(ListingDB.java:422) at ghidra.program.flatapi.FlatProgramAPI.createData(FlatProgramAPI.java:1646) at jdk.internal.reflect.GeneratedMethodAccessor59.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:564) ghidra.program.model.util.CodeUnitInsertionException: ghidra.program.model.util.CodeUnitInsertionException: Conflicting data exists at address 182069d98 to 182069d9f il2cpp.py> Finished!
-
Impossible to reverse engineer Il2cpp to readable full code / well close to?
https://github.com/djkaty/Il2CppInspector#adding-metadata-to-your-ghidra-workflow
What are some alternatives?
AssetRipper - GUI Application to work with engine assets, asset bundles, and serialized files
frida-il2cpp-bridge - A Frida module to dump, trace or hijack any Il2Cpp application at runtime, without needing the global-metadata.dat file.
radare2 - UNIX-like reverse engineering framework and command-line toolset
Cpp2IL - Work-in-progress tool to reverse unity's IL2CPP toolchain.
Reverse-Engineering-Tutorial - A FREE comprehensive reverse engineering tutorial covering x86, x64, 32-bit/64-bit ARM, 8-bit AVR and 32-bit RISC-V architectures.
AssetStudio - AssetStudio is a tool for exploring, extracting and exporting assets and assetbundles.
BepInEx - Unity / XNA game patcher and plugin framework
MelonLoader - The World's First Universal Mod Loader for Unity Games compatible with both Il2Cpp and Mono
liemoth - Development Kit For Ambarella Devices
dnSpy
PriconneRe-TL - An English patch for Princess Connect! ReDive JP server 64bit IL2CPP version