如何进行混淆+错误报告?

时间:2012-04-11 05:49:42

标签: obfuscation error-reporting

美好的一天!

我想分发c#应用程序并希望保护它。  我需要:

  1. 混淆 - 保护源代码+文本资源文件。
  2. 错误报告 - 关于未处理错误的报告。
  3. 清晰视图混淆堆栈跟踪
  4. 确保源代码没有变化。
  5. 由于混淆可能导致哪些问题(例如序列化/反序列化/反射/全球化)?欣赏这个问题的解决方案的复杂性?

    您推荐哪些方法/工具/方法?

    感谢您的帮助!

2 个答案:

答案 0 :(得分:4)

免责声明:我为Red Gate工作。

SmartAssembly做你想要的。对于你的观点轮流:

1)它确实控制流混淆,方法/字段重命名,资源和嵌入字符串的压缩/加密,以及方法与其包含类的分离。

2)自动错误报告会自动检测并报告未处理的exec(它还会抓取并发送堆栈跟踪,所有本地变量的值以及一些常规系统信息)。

3)模糊的堆栈跟踪会在您的计算机上再次解码,以便您可以清晰地看到它。

4)不是100%,我知道你的意思,但是如果对它进行任何修改,篡改保护会阻止应用程序运行。如果您的意思是您不想对自己的源代码进行更改,则它将作为构建后的过程运行,因此不需要对源进行任何更改。

使用模糊处理可能会遇到的问题,到目前为止最常见的是因为反射(因此WPF经常会导致问题),而数据绑定也会导致很多问题。大多数混淆器应该让你排除有反射问题的个别类型和方法,但显然会使这些类型和方法不受保护。

还有其他混淆器 - 我知道有几个人使用PreEmptive中的一个称为dotfuscator。

答案 1 :(得分:0)

Crypto Obfuscator支持您正在寻找的所有功能,包括模糊处理,代码保护以及Exception Reporting(具有自动去混淆以及所有方法参数和局部变量的完整值)。

Crypto Obfuscator的另一个独特功能是混淆后显示的警告选项卡。这将列出程序集中的所有代码行,这些代码行可能会导致模糊处理程序集失败。所以你不必在黑暗中拍摄,试图找出为什么混淆的组件不起作用。

免责声明:我为Crypto Obfuscator的开发者LogicNP Software工作。