c# - 点混淆器(.NET 混淆器)是否会在未安装混淆器的机器上引起问题?

标签 c# .net security

所以。我想这是一个基本问题:如果我用一些 .net 混淆器“加密”代码——那么这段代码不会在另一台机器上运行的可能性有多大(……没有安装任何 ob* 软件的机器……) ?

更新:

感谢到目前为止的回复...在我看来,exe/dll 仍然可以被反汇编,您需要额外的保护来解决这个问题吗?此外,dotfuscator 在目录中生成了一些奇怪的 xml 文件,其中包含经过混淆的 exe...现在我明白了。这个 xml 文件称为“Map”,它存储我的类的名称 - 我想知道如果我重命名/删除它会发生什么,我想:没什么。

最佳答案

Dotfuscator 正在更改您的 CIL,使其更难被人类遵循,但对机器来说仍然“合法”。代码有可能不再工作,但这取决于 Dotfuscator 是否真正搞乱了您的代码(我确信这不应该发生),而不是没有在目标机器上安装任何东西。

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

参见 this article有关其工作原理的更多信息。

关于c# - 点混淆器(.NET 混淆器)是否会在未安装混淆器的机器上引起问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5246794/

相关文章:

c# - 有哪些关键字/工具可以帮助编译器优化

c# - 为什么我的 TCP 应用程序在快速发送时会丢失一些数据包

c# - 使用反射提取通用值

c# - 如果抛出异常,如何从存储过程中检索输出值?

.net - XDocument.Load(feedUrl)返回 "Data at the root level is invalid. Line 1, position 1."

c# - Bitmap.Save "Object is currently in use elsewhere"线程问题

java - 禁用 Java 安全和警告消息

web-services - 使用多个客户端测试 Node 应用程序

c# - PayPal 支付标准从移动设备返回 GET 而不是 POST,因此无法验证记录支付

c# - 隐藏/加密 Azure 数据工厂项目中的密码和 key