原創(chuàng)|使用教程|編輯:郝浩|2013-04-11 11:44:38.000|閱讀 1320 次
概述:.NET混淆器Dotfuscator的專利技術(shù)通過重命名,字符串加密以及控制流以便混淆后的.NET代碼更難理解。本節(jié)向您介紹如何使用.NET混淆器Dotfuscator對代碼進(jìn)行模糊處理。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
.NET混淆器的專利技術(shù)通過重命名,字符串加密以及控制流以便混淆后的.NET代碼更難理解。本節(jié)向您介紹如何使用.NET混淆器Dotfuscator對代碼進(jìn)行模糊處理。
Step 1:使用反匯編程序
.NET Framework SDK自帶了一個(gè)稱為ildasm 的反匯編程序?qū)嵱霉ぞ摺K试S您將 .NET 程序集反匯編為 IL 程序集語言語句。啟動(dòng)ildasm 前,請確保 .NET Framework SDK 已經(jīng)安裝在你的路徑中。在命令行中鍵入ildasm。
注:如果你安裝了Visual Studio,但這又不起作用,那說明ildasm的路徑不正確。點(diǎn)擊 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 "
查看模糊處理后的版本,嘗試查找上面的字符串。如果找不到該字符串,那是因?yàn)樗驯患用懿⑶铱赡茱@示如下:
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 )
您可以想像,對于試圖對代碼進(jìn)行反向工程處理的人而言,這是多么令人費(fèi)解,尤其是對于更加復(fù)雜的應(yīng)用程序更是如此。
Step 2:反編譯
如果您現(xiàn)在認(rèn)為您的源代碼將只能由少數(shù)實(shí)際懂得 IL 匯編語言的技術(shù)人員訪問,那么請?jiān)倏紤]一下。您可以做進(jìn)一步的試驗(yàn),使用 Reflector 和 Anakrino 之類的反編譯器從我們的應(yīng)用程序重新創(chuàng)建源代碼。這些實(shí)用工具可將 .NET 程序集直接反編譯為 C#、VB .NET 或 C++ 之類的高級(jí)語言。
對經(jīng)過 Dotfuscator 處理的 GettingStarted.exe 文件運(yùn)行 .NET Reflector 并嘗試檢查 a() 之類的方法將引發(fā)以下異常:
This item appears to be obfuscated and can not be translated.
因此,Dotfuscator Professional 能夠成功阻止兩種主要的反編譯器對經(jīng)過 Dotfuscator 模糊處理的代碼進(jìn)行反向工程。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:慧都控件網(wǎng)