混淆c#代码而不是程序集

时间:2013-05-17 08:24:37

标签: c# obfuscation

有没有办法混淆c#代码(visual studio解决方案),这样如果soem一个甚至让项目无法理解它? 注意:我不是在讨论那些混淆汇编/可执行文件的内容..

4 个答案:

答案 0 :(得分:5)

我没有看到任何商业上的东西,但你可能会编写自己的应用程序来做到这一点。我实际上知道有人曾经为正在部署的一些ASPX页面做过这样的事情。

你必须采取类似的步骤:

  1. 将所有本地变量重命名为非常相似的名称B_ __ 0,B _0等。
  2. 重命名所有内部和私有方法/类及其所有引用。
  3. 对所有字符串进行编码。
  4. 插入不执行任何操作的随机代码/调用。
  5. 考虑为什么你想要这个......这意味着:

    • 您无法查看自己的代码。你会有原创的地方 - 为什么不只是密码保护它?
    • 你要搞任何正在运行的源控件。
    • 每次保存/发布它时,你会有一些疯狂的“处理我的整个解决方案”吗?

    简而言之,这可能不是一个好主意,这就是为什么你可能找不到商业解决方案。

答案 1 :(得分:4)

关上门和窗户。

在开发过程中断开计算机与Internet的连接。

完成后对程序集进行模糊处理。

将它们保存为磁盘。

烧毁电脑。

继续将头撞到墙上,直到你为什么要这样做为止。

在那里,你是安全的,没有人会拥有同样的确切来源。 我希望你的应用程序没有错误。

答案 2 :(得分:0)

更明智的替代方案可能是使用类似的方式加密硬盘 BitLockerTrueCrypt

答案 3 :(得分:0)

  1. 混淆dll
  2. 使用像ILSpy这样的反编译器并反编译dll

通过这种方式,您可以获得混淆的C#代码。