1

I am working on a small game in unity,but I found it is easy to get my source code by reading assembly-csharp.dll. I want to find a way to protect it,when I found genshin impact don't have assembly-csharp. How did they done that?

I search on the internet but found nothing. Genshin impact seems do not have libil2cpp.so as well.

1 Answers1

0

welcome to StackOverflow.

What you are looking for is an obfuscator. There are many obfuscator tools for UnityEngine.

IL2CPP is just a Unity tool to convert C# code into native code (mostly C++) during compilation. Since there are probably lots of optimization/simplifcations during the conversion process, it can 'obfuscate' the code by making it harder to track down the logic. (Though someone could still reverse engineer it if they wanted to).


For Genshin Impact (and other big title games), customization for packaging/compilation are usually made, which is why you wouldn't see commonly generated files in those game when comparing it against your typical Unity Project.

Also, as what @BugFinder mentioned in the comment, release builds outputs lesser files than debug builds.


Eitherway, if someone is really determined in reverse engineering your code, he will be able to do it eventually, its just a matter of time.

Someone made a tool that is able to reverse engineer Genshin Impact, though development suspended in 2021.

Which is why most games have server-sided codes. Even if you managed to fully reverse engineer the client application, you wouldn't be able to replicate the entire game, as most of the logic is probably in the server.

WQYeo
  • 3,973
  • 2
  • 17
  • 26