1
votes

I've tried

dotfuscator.exe /in:myassembly.dll, 

According to the command line documentation, this should dotfuscate my DLL. It just immediately returns to the command line, doing nothing. When I try

dotfuscator.exe dotfuscator1.xml

Dotfuscator GUI appears with that .xml file loaded instead of operating on my assembly.

Note I'm running Dotfuscator Community Edition. How can I get it to obfuscate my assembly from the command line? (is this only a Pro-SKU supported operation for Dotfuscator?)

1
I would strongly recommend Phoenix Protector (it's free) over Dotfuscator. Take a look at the obfuscated code for each program with Reflector, and you'll see it's no contest. - Mark Rushakoff
Hmmm... Phoenix Protector doesn't rename internal methods or properties, but Dotfuscator does. But the control flow obfuscation is nice, I guess. - Andrew Arnott
...hmmm, and it doesn't flatten the namespaces of internal members. And most importantly, it doesn't support invocation from the command line. - Andrew Arnott
And its result assembly fails peverify.exe in many ways. Fail. - Andrew Arnott
Give Crypto Obfuscator a try. It supports command-line invocation. - logicnp

1 Answers

4
votes

Dotfuscator Community Edition does not support the full processing of assemblies from the command line. You must use the commercial edition for a command line build.

You can pass command line arguments to Dotfuscator Community Edition and it will then call the GUI with those options (like in your second example) but you must still use the GUI to start your build.

PreEmptive will be providing a version of the latest Dotfuscator Community Edition 5.0 (the one that shipped with Visual Studio 2010) with command line support in the near future. We have not yet finalized how it will be distributed but it will be announced on the blog when it is ready ( http://preemptive.com/blog/ ).