2013-04-04 69 views
7

我的公司使用Dotfuscator进行.NET应用程序混淆。它效果很好,但是我注意到在构建过程中它是单线程操作。 Dotfuscator.exe始终运行在我们的8核心构建机器的一个核心上,这让我有点内心的哭泣。dotfuscator并行优化?

有一些神奇的东西让它更平行吗?魔术/ MPgogogo国旗? Bueller?

回答

8

这很伤心,但它几乎都是单线程的(我是一个开发人员)。它也不支持并行运行多个Dotfuscator实例..主要是。

如果您有多个需要混淆的独立程序集/可执行文件,您可以运行Dotfuscator的多个实例(当然使用单独的命令行或配置文件),尽管使用了一些未公开的技巧。

如果你去C:\Program Files(x86)\PreEmptive Solutions你会看到你的Dotfuscator目录。 (Mine是Dotfuscator Professional 4.9)您可以将该目录的副本复制到其他目录。因此,例如,如果您将该目录的两个副本分成了C:\Dotfuscator1C:\Dotfuscator2,那么您可以在每个目录中并行运行这两个dotfuscator.exe可执行文件中的每一个,而不会彼此踩在一起。我不会说这是“支持”,但它应该完美无缺地工作。

此外,您需要将两个文件复制到从Program Files中复制的两个文件夹中。第一个文件位于C:\Users\YourName\AppData\Local\PreEmptive Solutions\Dotfuscator Professional Edition\4.0附近。该文件被命名为dfusrprf.xml。只需将其复制到与每个dotfuscator.exe相同的文件夹即可。下一个文件位于C:\ProgramData\PreEmptive Solutions\Dotfuscator Professional Edition\4.0中,应该叫做dotfuscator.dat. This should be copied to the same location as dfusrprf.xml`

所有这些都已就位,Dotfuscator的两个实例应该可以并行运行。请注意,如果这样做的话会导致您需要大量内存。在大节目Dotfuscator可以占用大量的内存(如在超过演出)

+0

在我尝试了这之前,这是否影响地图xml文件输出?我现在会得到两套文件吗? – Jippers 2013-04-08 23:56:42

+1

@Jippers注意这只有在你有两个单独的项目/配置文件时才有用。所以,如果你有说Foo.dll和Bar.dll,他们不能相互依赖,否则他们需要一起运行一个项目。但是,是的,如果你将它分成两个项目,那么你会得到两个不同的XML映射文件。这不应该影响你解密堆栈跟踪的能力,假设你的输入不互相依赖 – Earlz 2013-04-09 01:59:22

+0

我的上帝!幸运的是,它可能会帮助我!我希望它也可以和4.10一起使用;-)顺便说一句,到目前为止,1Gig是一个“大量的记忆”(2013年夏末)? ;-) – 2013-09-18 14:57:43

0

没有。单线程一路。