Unity-game-hacking icon indicating copy to clipboard operation
Unity-game-hacking copied to clipboard

How to Deobfuscate a game that has Il2Cpp ?

Open NameLord opened this issue 5 years ago • 18 comments

I tried to deobfuscate a game that has Il2cpp with

  • il2Cpp Dumper [extract all the dlls from UnityPlayer.dll]

  • .Net Reflector 10.2 [Extract all the C# code from dlls]

  • De4Dot [Deobfuscator for all the C# ] idk if this works

but for some reason it didn't worked to deobfuscate it.... so i think this is my last chance here.

is there a way to deobfuscate a game that has [Obfuscator And Il2Cpp ] ?

NameLord avatar Oct 19 '20 08:10 NameLord

You need to learn ASM and use a tool like IDA-Pro or ghidra.

GlowingUmbreon avatar Jan 04 '21 10:01 GlowingUmbreon

So is there a way? because im not willing to try if it doesn't.. like. i don't want to waste time and in the final not to work.

NameLord avatar Feb 11 '21 00:02 NameLord

So is there a way? because im not willing to try if it doesn't.. like. i don't want to waste time and in the final not to work.

Yeah, although it will be difficult.

GlowingUmbreon avatar Feb 11 '21 22:02 GlowingUmbreon

But there is software that can do that? or? sorry for late comment

NameLord avatar Mar 26 '21 02:03 NameLord

But there is software that can do that? or? sorry for late comment

You would need to use a tool like IDA or ghidra, These tools are far from perfect though and they have a very steep learning curve.

GlowingUmbreon avatar Mar 26 '21 07:03 GlowingUmbreon

You can use Perfare's IL2CPP dumper, which will dump the symbols and metadata (which is extremely useful, when you have to RE) and then use ida and run the provided script by the dumper which will name all your subroutines, after that you have to reverse engineer the actual implementations yourself.

xXTurnerLP avatar Apr 11 '21 21:04 xXTurnerLP

yeah there's no deobfuscation, it's just not C# anymore

piratesephiroth avatar Apr 12 '21 00:04 piratesephiroth

technically its not obfuscated but rather compiled to native instead of managed .net and most game dev studios do it when they want to increase performance, the amount of cheaters in their game will probably be the same its not any harder than C# decompilation but just requires more time

xXTurnerLP avatar Apr 12 '21 07:04 xXTurnerLP

Is De4Dot Usefull for deobfuscation? and .Net reflector?

Ok i need a little help with Ghidra.... If you have discord add me N_George#0733 If not ... then never mind.

NameLord avatar Apr 13 '21 10:04 NameLord

For C# decompilation i would recommend dnSpy And for native dissasembly I would recommend IDA, the free version doesnt have decompiler so you will only see the assembly, if you really want the decompiler you have to buy it.

Or use alternative methods Like downloading a cracked version of IDA Pro

xXTurnerLP avatar Apr 14 '21 06:04 xXTurnerLP

I would like more easyer talking on discord N_George#0733

NameLord avatar Apr 15 '21 00:04 NameLord

  1. im not gonna tell you how to hack a game lol
  2. this is not even a valid discord tag..

xXTurnerLP avatar Apr 15 '21 06:04 xXTurnerLP

I did change my name because it was kicking me from another discord server

NGeorge 0733

And for god sake i im not trying to hack a game.

NameLord avatar Apr 15 '21 14:04 NameLord

Are cheaters using GitHub now? interesting, no one's going to help u btw figure it out on your own.

UnknownAMD avatar Dec 17 '22 08:12 UnknownAMD

Are cheaters using GitHub now? interesting, no one's going to help u btw figure it out on your own.

There are many reasons to deobfuscate a game other than cheating you realise? People might want to make mods for a game or just see how it works. Just take minecraft for example a game that is probably like 99% decompile, while there is a few cheats hanging around there is pleanty more content that is just harmless mods which add to the game.

GlowingUmbreon avatar Dec 17 '22 11:12 GlowingUmbreon

I do more or less what I am reproaching, but...

The kind of comment that @UnknownAMD made is useless.

If you don't want to help. Don't help. You don't need to express yourself on a subject you don't know anything about. You immediately assumed it was about cheating, probably because you confuse hacking with its connotation of pirating.

Even if it was about cheating, there nothing immoral about it. It's contextual. Of course, if you cheat in a multiplayer game, it can be very annoying to other players, which can be somewhat immoral. But in any other case, it's you, your games (and your friends), nothing more.

Like @GlowingUmbreon said, there is many more reasons to reverse-engineering a game, or more widely, a software.

It could be for datamining, to learn more about how a game or a soft works, create mods, fix and community patch.

The reasons why reverse-engineering is useful and SHOULD be learned an taught
  • Legal

    • To ensure compliance with open source licenses or other legal obligations related to the use or distribution of the software
    • To investigate potential copyright, copyleft or trademark infringement
  • Moral

    • To expose security vulnerabilities or flaws in the software that could potentially harm users
    • To uncover unethical or malicious behavior by the creators or distributors of the software
  • Security

    • To identify and fix security vulnerabilities in the software or videogame before they can be exploited by malicious actors
    • To protect against malware or other malicious software that may be hidden within the code
  • Fun

    • To learn more about how the software or videogame works and to gain a deeper understanding of its inner workings
    • To modify the software or videogame for personal use, such as to unlock hidden features or to customize the user experience

Reverse-engineering is a really time-consuming task, most of the time executed by passionate and enthusiasts people. Yes it could be done by malicious users but it's not the bigger part of the community.

Sorry for going a little bit off topic.

GGLinnk avatar Dec 17 '22 17:12 GGLinnk

i need help with this too, i maded a dump of a game with il2cpp dumper, and tried to understand the logic to check vulnerabilities, but its criptografed. My discord is Sanjey#5106

filipe-louro avatar Jun 08 '23 02:06 filipe-louro

It's been a while, but Cpp2IL can now attempt to generate IL from the assemblies and save them to the generated dlls. They can then be viewed in tools like ILSpy. It's very unstable right now, but it works and seems to be getting better and better.

thegu5 avatar Jan 23 '24 21:01 thegu5