Search code examples
c#wpfreflector

Preventing .NET reverse engineering/decompilation


Is there any way to stop .NET Reflector working at a program?

For example: I am developing a program that has confidential data (like gMail address and password), and I don't want to someone can see them.

How can I do this?


Solution

  • There are various tools that promise this, via different techniques.

    For example, many commercial obfuscators will, in addition to encrypting strings and obfuscating the source, also introduce things into the IL that allow the program to run but which break (most/all) of the current reverse engineering tools like .NET Reflector.

    That being said, keeping this type of data within the application will never be safe. The best a tool can do is make it more difficult to get the information, but never make it impossible.

    A tool which "masked" it and breaks obfuscation tools is still not perfect - with enough time and energy, somebody can get that information out of your program. If the information is available to the runtime, it's available to somebody with enough determination and drive to find it. As such, important, private information like passwords should not be kept in the executable.