加快混淆过程

时间:2013-04-30 21:30:29

标签: wpf dotfuscator

所以,我有一个中等到非常复杂的WPF应用程序,我需要通过Dotfuscator(专业版 - 客户端拥有许可证的版本)对输出程序集进行模糊处理。

三个问题:

  • 混淆过程在大约85%的时间内以OutOfMemoryException崩溃
  • 需要很长时间 - 平均混淆过程需要 56分钟才能完成
  • 存在大量各种问题导致应用程序与模糊程序集崩溃,从基于反射的查找到资源。

我通过命令行运行而不是GUI(至少没有崩溃),我能够缓解的第一个问题,如果可以的话,第三个问题不是那么大的问题快速迭代选项组合,而不是每个工作日可能获得5次尝试。

这真的是杀了我的总时间;有谁知道任何“快速修复”的想法,以显着改善混淆时间?我做过的一些愚蠢的事情是否有可能在此过程中造成某种“蒸汽锁定”,从而增加处理时间?我是否需要按客户端才能使用其他混淆器?

一些细节:

  • 约应用程序中的38个程序集/ exes(其中可能有5-10个标记为'artifact'的第三方dll,因此它们不会被混淆)
  • 该框是一个半健壮的物理服务器,而不是VM。
  • 我正在使用配置文件来驱动混淆器,而不是单独处理每个程序集。
  • 我已经在所述配置文件中标记了一些排除了生成的资源
  • 之类的内容
  • 所有程序集都标记为“library”

任何想法和/或SWAG都会受到最高的赞赏。

1 个答案:

答案 0 :(得分:1)

您最需要更多内存。在运行大型项目时,Dotfuscator在内存中并不完全轻量级。对于大多数项目,我建议至少2演出,最好是4演出。此外,由于额外的虚拟内存空间,可能在64位下运行得更快。此外,您可能希望确保丢失最新版本的Dotfuscator,因为过去的版本之间已经有一些性能改进

除非您排除整个程序集,否则通常不会显着加快Dotfuscator的速度。