混淆演示
首先介紹如何使用Dotfuscator對.net程序加密碼混淆/加殼 C#或vb.net編寫的應用程序或DLL。
這里隨便創建了一個C#的命令行控制台程序。程序很簡單,對當前的時間進行了AES的加解密並輸出。

接下來使用Dotfuscator對程序進行混淆。
一,運行dotfuscator.exe

二,添加ConsoleApplication1.exe



三,對混淆選項進行一些配置


四,開始混淆。

五,查看混淆結果。
這里使用ILSPY工具,打開混淆后的程序。如圖:


可以發現,代碼被混淆過了。很亂。
破解演示
這里使用de4dot對剛才混淆過的程序進行脫殼。

我們再使用ILSPY來反編譯這個程序看看破解的結果。


可以發現,除了函數名,其它的都成明文了。包括密鑰!!!
顯然這樣來混淆保護沒有多大作用。
最后結論
寫到這,可以發現這篇文章是一個矛盾的話題。但是就沒有好辦法來保護源代碼不被輕易破解了嗎?
答案是有的,可參考文章NET DLL 保護措施詳解(非混淆加密加殼)
也可以從www.dllprotect.com下載DEMO驗證保護效果。
