加快混淆过程 [英] Speeding up obfuscation process

查看:99
本文介绍了加快混淆过程的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

因此,我有一个中等到非常复杂的WPF应用程序,我需要通过Dotfuscator(专业版-客户端已获得许可的版本)混淆输出程序集.

So, I've got a moderately to significantly complicated WPF application that I've got a requirement to obfuscate the output assemblies via Dotfuscator (pro edition - the one the client has a license for).

三个问题:

  • 混淆处理崩溃的时间大约为OutOfMemoryException的85%
  • 这需要很长的时间-平均迷惑通行证大约需要 56分钟才能完成
  • 从基于反射的查找到资源,各种各样的问题都会导致应用程序因混淆的程序集而崩溃.
  • The obfuscation process crashes with an OutOfMemoryException approximately 85% of the time
  • It takes a LONG time - the average obfuscation pass takes about 56 minutes to complete
  • There are a whole heap of various issues that cause the app to crash with the obfuscated assemblies, from reflection-based lookups to resources.

第一个问题是我能够通过与GUI相反的命令行运行来缓解(至少不会崩溃),第三个问题如果可以的话不会成为一个大问题快速遍历选项组合,而不是每个工作日尝试5次.

The first problem I've been able to mitigate by running via the command line as opposed to the GUI (it doesn't crash, at least), and the third wouldn't be that big of an issue if I could quickly iterate over combinations of options instead of maybe getting 5 attempts per working day.

真是总时间让我丧命;有人知道任何快速修复"的想法可以大大缩短混淆时间吗?我所做的一些愚蠢的事情是否可能在处理过程中引起某种蒸气锁定",从而增加了处理时间?我需要按客户端使用其他混淆器吗?

It's really the total time that's killing me; anyone aware of any "quick-fix" ideas to dramatically improve the time taken for obfuscation? Is it possible some goofy thing I've done is causing some sort of "Vapor-lock" during the process, increasing the processing time? Do I need to press the client to use a different obfuscator?

一些细节:

  • 约.应用程序中有38个程序集/exe(其中5-10个是标记为工件"的第三方dll,因此不会混淆)
  • 此框是半虚拟的物理服务器,而不是VM.
  • 我正在使用配置文件来驱动混淆器,而不是分别处理每个程序集.
  • 我已经在配置文件中标记了一些排除项,例如生成的资源
  • 所有程序集都标记为库"

任何想法和/或SWAG都会受到赞赏.

Any thoughts and/or SWAGs would be most appreciated.

推荐答案

您最有可能需要更多内存.在大型项目中运行时,Dotfuscator的内存并不完全轻巧.对于大多数项目,我建议至少2个演出,最好是4个演出.此外,由于额外的虚拟内存空间,它可能在64位以下运行速度更快.另外,您可能要确保自己丢失了最新版本的Dotfuscator,因为过去的发行版之间在性能上已有一些改进

You need more memory most likely. Dotfuscator isn't exactly lightweight in memory when running through large projects. I'd recommend 2 gigs as a minimum for most projects, and 4 gigs preferable. Also, it might run faster under 64-bit, due to the extra virtual memory space. Also, you might want to ensure that you're losing the latest version of Dotfuscator, since there have been some performance improvements between releases in the past

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

Excludes usually won't speed up Dotfuscator significantly unless you're excluding whole assemblies.

这篇关于加快混淆过程的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆