iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 26
2
Software Development

自動化測試開發的美麗與憂愁系列 第 26

.NET 反混淆之旅

這年頭, 很多對隱私比較注重的人都不希望自己的作品能夠被人家看到. 尤其是.Net 寫的相關程式. 但道高一尺, 魔高一丈. 可能會發生交接不完全, 只交接到執行檔(exe或dll)時, 這時該怎麼辦? 筆者任職的單位就是這類型窘況的苦主群 ..
OS: 明明就是交接的自動化維護專案, 都可以弄到在玩遊戲打大魔王一樣, 真的是很無言

de4dot是一套開源的.net反混淆脫殼工具,是用C#所撰寫的,以下將簡單介紹使用方法:

1.下載並編譯 Github連結
PS: 如果不想使用離線的方式編譯, 可使用線上有支援CI功能的build server - Appveyor
2. 編譯完的檔案大約是下面這樣

3. 執行方式:

de4dot [dll or exe]
  1. 執行結果
  2. 使用ILSpy 查看反混淆後的狀態

    PS: 多數混淆後的程式碼都被還原
  3. 使用ILSpy 查看及對照混淆前後的執行檔狀態
    混淆後:

    反混淆:

結論:
不要以為混淆後就是安全的狀態, 無敵的矛跟無敵的盾, 誰輸誰贏, 真的不好說


上一篇
支援前線 的作法及重要性
下一篇
Arduino 擴充版 W5100 - EEPROM 燒錄
系列文
自動化測試開發的美麗與憂愁30

尚未有邦友留言

立即登入留言