1

再会!

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

  1. 混淆 - 保护源代码 + 文本资源文件。
  2. 错误报告 - 关于未处理错误的报告。
  3. 清除视图混淆的堆栈跟踪
  4. 确保源代码没有变化。

由于混淆(例如序列化/反序列化/反射/全球化)可以解决哪些问题?体会到解决这个问题的复杂性吗?

你推荐什么方法/工具/方法?

感谢帮助!

4

2 回答 2

4

免责声明:我为红门工作。

SmartAssembly 可以满足您的需求。反过来为您的积分:

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

2) 自动错误报告自动检测并报告未处理的异常(它还抓取并发送堆栈跟踪、所有局部变量的值以及一些一般系统信息)。

3) 混淆的堆栈跟踪在您的机器上再次被解码,因此您可以清楚地看到它。

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

关于混淆可能会遇到的问题,到目前为止,最常见的是由于反射(因此 WPF 经常会导致问题),并且数据绑定也会导致很多问题。大多数混淆器应该让您排除存在反射问题的单个类型和方法,尽管显然这会使这些类型和方法不受保护。

还有其他混淆器——我知道有几个人使用 PreEmptive 中的一个叫做 dotfuscator。

于 2012-04-11T11:41:45.850 回答
1

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

Crypto Obfuscator 的另一个独特功能是混淆后显示的警告选项卡。这列出了程序集中可能导致混淆程序集失败的所有代码行。因此,您不必在黑暗中拍摄试图找出混淆程序集不起作用的原因。

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

于 2012-04-18T05:10:22.737 回答