[.NET][工具]向反組譯說Bye Bye
雖然小弟已有認知,要向反組譯100%說byebye幾乎是不太可能(所謂道高一尺,魔高一丈),
要反組譯dll或.NET Application我想只是時間上的問題,如果軟體又極具吸引力(吸引眾多crack~~><),
這時來一首華仔的歌~~男人哭吧不是罪....,突然小弟一想!假如軟體功能面寫不好、UI界面不夠友善親切、操作不夠人性化或沒市場價值...等,那基本上也達到向反組譯說byebye的目地了,恩!這也算是另類的100%(小弟我放心了)。anyway
今天小弟就來測試Reflector(.NET人員10大工具之一)能否反組譯由Postbuild for .NET(點選下載試用版)包裝過的應用程式。
一般沒包裝過應用程式使用Reflector可說一覽無遺
執行Postbuild for .NET包裝一下(天冷了是該多穿衣服了~XD)
把應用程式加入Postbuild後,可依需求選擇不同的保護模式(也說明了選取建議)
小弟選擇Aggressive-Recommended for managed executable applications
切換Protect頁籤
Disassembler Suppression:兩個選項都要勾選(default),不然無法有效防禦其他reflection tools(Postbuild連自家產品都有防禦)
Control Flow Obfuscation:這裡是針對反向工程所設定的模糊層級。大部分混淆軟體在載入一個檔案時,
便開始收集相關的別名引用、命名空間、Class、屬性、欄位、方法、其他,收集後便開始依序混淆最後在輸出混淆程式碼,
當然層級深度越大越不容易被反向工程還原Source Code,不過相對應用程式得要付出效能上的代價(核心模組深度可大點)
,這裡我採預設值:3
String Encryption:應用程式字串加密。這裡我全選了(寧可亂勾一堆,不願漏掉萬一)
Postbuild 也有Optimize應用程式相關功能及虛擬設定應用(這裡跳過~~因為想睡了...^^")
選擇Single application executable(如果有參考其他dll要選擇Mutiple application assemblies)
設定好輸出目錄就按下OK
再度使用Reflector來看看結果如何
正點阿!簡單的拉拉點點就達到我的需求了(亂沒技術的~XD)
現在應用程式在也不怕被看光光了(先別高興太早),根據小弟以往經驗,通常應用程式被包裝過後常常都無法執行,
所以一定要在包裝過後在檢測看看是否有那些功能無法運作(或根本無法開啟程式)
測試OK
結論:Postbuild 功能強大同時相容性和效能也算不錯,不像DNGuard相容性差而且有時還會無法compile成功,
小弟個人認為算是一套滿優秀的軟體。