In fact I have been assigned with a task to secure my DLL, so that if I deploy my software to any system no one can modify or read my DLL. can you please help me how I can encrypt it without using obfuscator?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
You will need the software to do this, below are some software you may look into
- Eazfuscator.NET http://www.gapotchenko.com/eazfuscator.net
- dotFuscator http://www.preemptive.com/products/dotfuscator
- fxProtect http://www.maycoms.net/
Please note that obfuscate only make your code harder to read and interpret by human, but doesn't stop people to decompile it.
回答2:
If you really need encryption, you also need:
- A way to store the key securely => dedicated hardware "dongle"
- A complete framework to decrypt the assembly on load or better single methods on call.
Don't do it on your own, buy a solution. I can recommend WIBU CodeMeter, but I'm biased, it's my employer.
回答3:
Another third party product other than the ones listed above is NetLib Encryptionizer. It can encrypt managed or unmanaged DLLs (not the EXEs though). It uses transparent file encryption rather than obfuscation. That is, it does not modify the DLL except to encrypt it. (Disclaimer: I am from NetLib Security)