dotfuscator(.NET混淆器)会在没有安装混淆器的机器上引起问题吗?

som*_*eah 2 .net c# security

所以.这是一个基本问题我猜:如果我用一些.net混淆器'加密'代码 - 那么这个代码不能在另一台机器上运行的机会是什么(...没有安装任何ob*软件的机器......) ?

更新:

感谢到目前为止的回复...我看到它的方式,exe/dll仍然可以被拆解,你需要额外的保护来对抗这个?此外,dotfuscator在目录中使用混淆的exe生成一些奇怪的xml文件...现在我明白了.这个xml文件被称为"Map",它存储了我的类的名称 - 我想知道如果我重命名/删除它会发生什么,我猜:没有.

Pao*_*lla 5

Dotfuscator正在改变你的CIL,使人们更难以遵循,但对于机器仍然是"合法的".代码可能不再有效,但这取决于Dotfuscator如何搞乱你的代码(我确信不应该发生),而不是没有在目标机器上安装某些东西.

(我想知道Dotfuscator如何处理使用反射来调用在编译版本中更改了名称的方法......)

有关其工作原理的详细信息,请参阅此文章.

  • @Steven:与大多数混淆器一样,dotfuscator包含一个解码堆栈跟踪的工具(通过使用混淆过程中生成的文件). (4认同)
  • 如果您的应用程序依赖于字符串中硬编码的方法的名称,那么您的应用程序几乎肯定会中断. (2认同)
  • 混淆的托管代码将导致无法分析的堆栈跟踪异常,这将使修复应用程序中的错误变得更加困难.这是需要考虑的事情. (2认同)