I am looking for a good obfuscater that has visual studio integration, can be commercial or free, and has to work with vs 2010 and .net v4.
Something that is as hassle free as possible, and can obfuscate my release builds
Dotfuscator ships with Visual Studio, haven't used it though.
There's also a thread on arstechnica about this. It's a couple of years old but worth a read.
Dotfuscator Community Edition(free with VS)
ADVANTAGES: I have used Dotfuscator a lot, the free version will allow you to rename code, so variables like myPassword will show as just ab, it will replace variable names and replaces control statements with goto, making it more difficult to understand the purpose of this section of code after decompiled with tools like reflector.
DISADVANTAGES: But it will still be obvious from the references to encryption COM libraries(not renamed) that there is passwords sensitive content in there, and the encryption key will look very familiar to someone looking for it, making it easy to crack.
Dotfuscator Pro
ADVANTAGES: The pro edition(contact dotfuscator for a trial) will allow you actually encrypt(very easy to do, just one click to select the method you want to encrypt) the method so that when decompiling the code with a reflector, the whole content of the method will show as gibberish and can't be cracked.
DISADVANTAGES: The pro edition is bullet proof safe, but it's very expensive technology, about 3k$ per lisence if i'm correct, but you only need one, on the build line.
I recommend {smartassembly}. We have been using this now for quite a while and have had great results. Quoting their website, here are some features:
- Further secure your .NET application (Strings Encoding, Anti-disassembler & Anti-decompiler options, Strong Name signature...)
- Deploy your .NET application in one file (Dependencies Merging, Compression and Embedding)
- Remove all non-useful code and metadata (Pruning)
- Perform other code optimizations (Memory Management, Automatic Sealing of Classes...)
- And debug your obfuscated and deployed assembly (automatic unhandled exception reporting via 24x7x365 managed Web Service).
Crypto Obfuscator supports VS 2010/.Net 4.0 and it can integrate with your build process. It has a lot of protection and obfuscation features like Anti-Reflector, Anti-Debugging/Tracing, string encryption, symbol renaming, flow obfuscation, resource encryption, etc.
If you are looking for only name reduction the free DotFuscator that came with Visual studio is enough. when you are looking for some serious source code protection, there is no free tool around (as far as I know). I use Crypto obfuscator. Anyway if Dotfuscator Pro really cost around $3000 (there is no public pricing on their site), the Crypto obfuscator will be far more cheaper for basically the same high level protection.
Babel Obfuscator have one of the best protection feature out there. 100% managed MSIL encryption. Moreover it seem to be one of the most convenient obfuscator in the market.
精彩评论