防止.NET逆向工程/反编译

Ion*_*zău 2 c# wpf reflector

有没有办法阻止.NET Reflector在程序中工作?

例如:我正在开发一个具有机密数据的程序(如gMail地址和密码),我不希望有人能看到它们.

我怎样才能做到这一点?

Ree*_*sey 13

通过不同的技术,有各种工具可以做到这一点.

例如,许多商业混淆器除了加密字符串和混淆源之外,还会在IL中引入允许程序运行但是破坏(大部分/全部)当前逆向工程工具(如.NET Reflector)的东西.

话虽这么说,在应用程序中保留这种类型的数据永远不会是安全的. 一个工具可以做的最好的事情就是让信息变得更加困难,但永远不会让它变得不可能.

一个"掩盖"它并打破混淆工具的工具仍然不完美 - 有足够的时间和精力,有人可以从你的程序中获取这些信息.如果运行时可以获得这些信息,那么有足够决心和驱动程序的人可以找到它.因此,密码等重要的私人信息不应保存在可执行文件中.