How to prevent Unity3D file from Disassembly/Reverse Engineering eg. IDA Pro

Hi all, when using Hex Rays - State-of-the-art binary code analysis solutions or similar Disassemblers, the Unity3D binary of the project can be disassembled.

Development Build is not ticked, here’s what Ida Pro reports for an EXE:

“Linked with Debug Information”
…See Attached Picture…

  1. How to prevent this?

Thanks…!

A practical and worthy question for real-life use of Unity.

1 Answer

1

It’s IL and therefore impossible to fully secure. You can always decompile IL.

You could try to further obfuscate it using something like this: Google Code Archive - Long-term storage for Google Code Project Hosting.

But note that it is just obscured (names are changed to protect the innocent).

Cool, cheers.

You can even decompile it to C# - see dotPeek that I use to read the Unity binaries all the time :) I should point out that there are other choices when selecting a decompiler.

Yeah you'd have to stick it in "data" somewhere and encrypt that. But even so, the decrypt key would need to be read from somewhere - so unless it was on a controlled server it can be hacked. Of course AOT compiled iOS might be harder, but all of your strings are in there and that's what hackers look for.

I'd say so.

PS. Not sure if you noticed your "staggeringly unusual question that raises fear" closure on that other question has ruffled the OPs feather's a little ;D