翻譯|使用教程|編輯:黃竹雯|2019-02-15 14:06:58.000|閱讀 1185 次
概述:本文主要介紹為什么你的應用程序需要被保護。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
Dotfuscator是一款.NET混淆器和壓縮器,防止你的應用程序被反編譯。
使用.NET編寫的程序較容易被反編譯,也就是。.NET應用程序編譯為一種高級、富有表現(xiàn)力的文件語法,稱為MSIL(Microsoft Intermediate Language),包含方法和變量名稱,可以輕松地反編譯回源代碼形式。
無論是否合法,攻擊者都可以使用免費的反編譯器輕松查看任何.NET應用程序的源代碼,他們可以公開軟件許可代碼,復制保護機制和個人/團隊私有的業(yè)務邏輯。任何人都可以閱讀軟件應用程序的所有信息,通過利用漏洞,竊取想法,破解應用程序甚至可能更嚴重。
混淆是一種可以在程序集中提供符號的無縫重命名,以及其他技巧來阻止反編譯器的技術(shù)。正確應用混淆可以使應用程序的安全程度呈數(shù)量級的提高,同時保持應用程序的完整性。
當混淆器工具開始使用可讀程序指令時,有一個副作用是輸出會混淆人工解釋器并破壞人工解釋器正在使用的反編譯器。在保留可執(zhí)行邏輯的同時,反向語義呈現(xiàn)為非確定性的。所以,嘗試對指令進行反向工程會失敗,因為轉(zhuǎn)換不明確。 深度混淆會產(chǎn)生無數(shù)的反編譯可能性,如果重新編譯,其中一些還會產(chǎn)生不正確的邏輯。反編譯器作為計算機器無法知道哪些可能性可以用有效的語義重新編譯。人們編寫并使用反編譯器來自動化反編譯算法,這些算法對于計算機器來說是十分具挑戰(zhàn)性的。
除了混淆之外,Dotfuscator還可以提供額外的保護層。這些保護包括檢測,可以主動檢測可能的攻擊(例如篡改,調(diào)試或在root設(shè)備上運行),并可以使用預定義的行為或自定義邏輯進行響應。所有的這些保護措施使應用程序極難進行逆向工程或修改。
有一點很重要的是要理解Dotfuscator是一個“后編譯”工具 - 它保護你已編譯的.NET程序集(.dll和.exe文件)。開發(fā)環(huán)境和工具不需要做任何改變,源代碼也不會以任何方式被改變甚至讀取。受保護的程序集在功能上等同于傳統(tǒng)程序集(除非有意更改),并且將在公共語言運行時(CLR)上執(zhí)行。(即使可以對強混淆的程序集進行反編譯,與原始源代碼相比,它也會產(chǎn)生明顯的語義差異。)
下圖顯示了使用和不使用Dotfuscator的典型構(gòu)建過程的流程:
如圖所示,你的應用程序?qū)⒄>幾g,然后Dotfuscator將保護這些程序集。Dotfuscator將把程序集作為輸入,根據(jù)你的配置設(shè)置執(zhí)行保護,并生成這些程序集的受保護版本作為輸出。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn