[.NET][工具]向反組譯說Bye Bye

  • 22571
  • 0
  • .NET
  • 2016-06-18

[.NET][工具]向反組譯說Bye Bye

雖然小弟已有認知,要向反組譯100%說byebye幾乎是不太可能(所謂道高一尺,魔高一丈),

要反組譯dll或.NET Application我想只是時間上的問題,如果軟體又極具吸引力(吸引眾多crack~~><),

這時來一首華仔的歌~~男人哭吧不是罪....,突然小弟一想!假如軟體功能面寫不好、UI界面不夠友善親切、操作不夠人性化或沒市場價值...等,那基本上也達到向反組譯說byebye的目地了,恩!這也算是另類的100%(小弟我放心了)。anyway

今天小弟就來測試Reflector(.NET人員10大工具之一)能否反組譯由Postbuild for .NET(點選下載試用版)包裝過的應用程式。

 

一般沒包裝過應用程式使用Reflector可說一覽無遺

image

執行Postbuild for .NET包裝一下(天冷了是該多穿衣服了~XD)

把應用程式加入Postbuild後,可依需求選擇不同的保護模式(也說明了選取建議)

小弟選擇Aggressive-Recommended for managed executable applications

image

切換Protect頁籤

image

Disassembler Suppression:兩個選項都要勾選(default),不然無法有效防禦其他reflection tools(Postbuild連自家產品都有防禦)

 

Control Flow Obfuscation:這裡是針對反向工程所設定的模糊層級。大部分混淆軟體在載入一個檔案時,

便開始收集相關的別名引用、命名空間、Class、屬性、欄位、方法、其他,收集後便開始依序混淆最後在輸出混淆程式碼,

當然層級深度越大越不容易被反向工程還原Source Code,不過相對應用程式得要付出效能上的代價(核心模組深度可大點)

,這裡我採預設值:3

 

String Encryption:應用程式字串加密。這裡我全選了(寧可亂勾一堆,不願漏掉萬一)

image

Postbuild 也有Optimize應用程式相關功能及虛擬設定應用(這裡跳過~~因為想睡了...^^")

選擇Single application executable(如果有參考其他dll要選擇Mutiple application assemblies)

image

設定好輸出目錄就按下OK

image

再度使用Reflector來看看結果如何

image

正點阿!簡單的拉拉點點就達到我的需求了(亂沒技術的~XD)

現在應用程式在也不怕被看光光了(先別高興太早),根據小弟以往經驗,通常應用程式被包裝過後常常都無法執行,

所以一定要在包裝過後在檢測看看是否有那些功能無法運作(或根本無法開啟程式)

image

測試OK

 

結論:Postbuild 功能強大同時相容性和效能也算不錯,不像DNGuard相容性差而且有時還會無法compile成功,

小弟個人認為算是一套滿優秀的軟體。