原創|使用教程|編輯:郝浩|2013-04-11 11:44:38.000|閱讀 1320 次
概述:.NET混淆器Dotfuscator的專利技術通過重命名,字符串加密以及控制流以便混淆后的.NET代碼更難理解。本節向您介紹如何使用.NET混淆器Dotfuscator對代碼進行模糊處理。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
.NET混淆器的專利技術通過重命名,字符串加密以及控制流以便混淆后的.NET代碼更難理解。本節向您介紹如何使用.NET混淆器Dotfuscator對代碼進行模糊處理。
Step 1:使用反匯編程序
.NET Framework SDK自帶了一個稱為ildasm 的反匯編程序實用工具。它允許您將 .NET 程序集反匯編為 IL 程序集語言語句。啟動ildasm 前,請確保 .NET Framework SDK 已經安裝在你的路徑中。在命令行中鍵入ildasm。
注:如果你安裝了Visual Studio,但這又不起作用,那說明ildasm的路徑不正確。點擊 start > Visual Studio [version] > Visual Studio Tools > Visual Studio [version] Command Prompt,打開Visual Studio命令提示符,鍵入 ildasm。
C:\Program Files (x86)\PreEmptive Solutions\Dotfuscator Professional Edition 4.x\samples\GettingStarted\bin\Debug
IL_0000: ldstr "Hello, my name is "
查看模糊處理后的版本,嘗試查找上面的字符串。如果找不到該字符串,那是因為它已被加密并且可能顯示如下:
IL_0000: ldstr bytearray (09 42 26 44 29 46 2B 48 26 4A 67 4C 6D 4E 22 50
28 52 73 54 3B 56 36 58 34 5A 3E 5C 7D 5E 36 60
12 62 43 64 )
您可以想像,對于試圖對代碼進行反向工程處理的人而言,這是多么令人費解,尤其是對于更加復雜的應用程序更是如此。
Step 2:反編譯
如果您現在認為您的源代碼將只能由少數實際懂得 IL 匯編語言的技術人員訪問,那么請再考慮一下。您可以做進一步的試驗,使用 Reflector 和 Anakrino 之類的反編譯器從我們的應用程序重新創建源代碼。這些實用工具可將 .NET 程序集直接反編譯為 C#、VB .NET 或 C++ 之類的高級語言。
對經過 Dotfuscator 處理的 GettingStarted.exe 文件運行 .NET Reflector 并嘗試檢查 a() 之類的方法將引發以下異常:
This item appears to be obfuscated and can not be translated.
因此,Dotfuscator Professional 能夠成功阻止兩種主要的反編譯器對經過 Dotfuscator 模糊處理的代碼進行反向工程。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都控件網