Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to Deobfuscate a game that has Il2Cpp ? #5

Open
NameLord opened this issue Oct 19, 2020 · 18 comments
Open

How to Deobfuscate a game that has Il2Cpp ? #5

NameLord opened this issue Oct 19, 2020 · 18 comments

Comments

@NameLord
Copy link

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 ] ?

@GlowingUmbreon
Copy link

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

@NameLord
Copy link
Author

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.

@GlowingUmbreon
Copy link

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.

@NameLord
Copy link
Author

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

@GlowingUmbreon
Copy link

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.

@xXTurnerLP
Copy link

xXTurnerLP commented Apr 11, 2021

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.

@piratesephiroth
Copy link

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

@xXTurnerLP
Copy link

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

@NameLord
Copy link
Author

NameLord commented Apr 13, 2021

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.

@xXTurnerLP
Copy link

xXTurnerLP commented Apr 14, 2021

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

@NameLord
Copy link
Author

I would like more easyer talking on discord
N_George#0733

@xXTurnerLP
Copy link

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

@NameLord
Copy link
Author

NameLord commented Apr 15, 2021

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.

@UnknownAMD
Copy link

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

@GlowingUmbreon
Copy link

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.

@GGLinnk
Copy link
Contributor

GGLinnk commented Dec 17, 2022

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.

@filipe-louro
Copy link

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

@thegu5
Copy link

thegu5 commented Jan 23, 2024

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants