Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

dotfuscator parallel optimization?

My company uses Dotfuscator for our .NET application obfuscation. It works great, however I noticed it's a single threaded operation during our build process. Dotfuscator.exe is always running on a single core of our 8 core build machine and it makes me cry a little inside.

Is there some magic to make it run a little more paralleled? Magic /MPgogogo flag? Bueller?

like image 866
Jippers Avatar asked Apr 04 '13 22:04

Jippers


1 Answers

It's sad, but it's almost all single threaded (I'm a developer on it). It also isn't supported to run multiple instances of Dotfuscator in parallel.. mostly.

If you have multiple separate assemblies/executables that need obfuscated, you can run multiple instances of Dotfuscator(using separate command lines or configuration files of course) though by using a bit of an undocumented trick.

If you go to C:\Program Files(x86)\PreEmptive Solutions you'll see your Dotfuscator directory. (Mine is Dotfuscator Professional 4.9) You can make a copy of that directory to some other directory. So, for example, if you made 2 copies of that directory into C:\Dotfuscator1 and C:\Dotfuscator2, then you can run each of those two dotfuscator.exe executables in each directory in parallel without them stepping on each other's feet. I won't say it's "supported", but it should work flawlessly.

Also, you'll need to copy two files into the two folders you copied from Program Files. The first file is located around C:\Users\YourName\AppData\Local\PreEmptive Solutions\Dotfuscator Professional Edition\4.0. The file is named dfusrprf.xml. Just copy it to be in the same folder as each dotfuscator.exe. The next file is in C:\ProgramData\PreEmptive Solutions\Dotfuscator Professional Edition\4.0 and should be called dotfuscator.dat. This should be copied to the same location asdfusrprf.xml`

With all of this in place, the two instances of Dotfuscator should run fine in parallel. Note that doing this with more than a few instances will cause you to need a lot of memory. On big programs Dotfuscator can take a large amount of memory(as in more than a gig)

like image 136
Earlz Avatar answered Nov 13 '22 22:11

Earlz