翻譯|使用教程|編輯:李顯亮|2019-06-12 10:47:49.373|閱讀 418 次
概述:Dotfuscator提供了一種應(yīng)用程序保護(hù)的多層方法。從本文開始我們一起了解Dotfuscator如何對應(yīng)用程序進(jìn)行多層保護(hù),層層遞進(jìn)。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
Dotfuscator是一個.NET的Obfuscator。它提供企業(yè)級的應(yīng)用程序保護(hù),大大降低了盜版、知識產(chǎn)權(quán)盜竊和篡改的風(fēng)險。Dotfuscator的分層混淆、加密、水印、自動失效、防調(diào)試、防篡改、報警和防御技術(shù),為世界各地成千上萬的應(yīng)用程序提供保護(hù)。
Dotfuscator提供了一種應(yīng)用程序保護(hù)的多層方法。這些層中的每一層都提供了一個重要的整體保護(hù)策略。如果一層受到損害,其他層繼續(xù)提供有效保護(hù),使攻擊者更難以實(shí)現(xiàn)其目標(biāo)。并且不僅有多個層,而且每個層都具有比其他混淆產(chǎn)品使用的簡單技術(shù)更強(qiáng)大的高級功能。
從本文開始我們一起了解Dotfuscator如何對應(yīng)用程序進(jìn)行多層保護(hù),層層遞進(jìn),大致可分為:
Dotfuscator的工作原理是修改反編譯器用來重新創(chuàng)建源代碼的代碼模式。Dotfuscator引入了錯誤的條件語句和其他具有誤導(dǎo)性的構(gòu)造,以混淆和破壞反編譯器。這個過程綜合了分支、條件和迭代構(gòu)造,這些構(gòu)造產(chǎn)生有效的正向(可執(zhí)行)邏輯,但是在嘗試反編譯時產(chǎn)生不確定的語義結(jié)果。
除了添加代碼構(gòu)造之外,Dotfuscator還破壞反編譯器用于重新創(chuàng)建源代碼的代碼模式。最終得到的代碼在語義上與原始代碼等價,但不包含關(guān)于代碼最初是如何編寫的線索。該特性的目標(biāo)是防止MSIL自動反編譯回高級源代碼。最終用戶仍然可以查看MSIL本身,但要完全理解它并對其功能進(jìn)行較大的更改就比較困難了。
例如:
之前 | 之后 |
![]() | ![]() |
在控制流混淆之后測試應(yīng)用程序性能是很重要的,特別是任何執(zhí)行了很多次的代碼(例如游戲循環(huán)或計算/算法密集型方法)。
控制流混淆只有在方法包含足夠多的基本塊時才能有效地?fù)魯》淳幾g器。
控制流排除與重命名排除以相同的方式工作,包括特定的排除和自定義規(guī)則。然而,控制流除外僅適用于方法。如果用戶在測試過程中發(fā)現(xiàn)性能下降,那么應(yīng)該將排除應(yīng)用到執(zhí)行計算密集型工作的任何方法或類(基本上是CPU是性能限制因素的任何情況)。
High是唯一設(shè)計用來擊敗自動反編譯器的關(guān)卡。如果高導(dǎo)致性能下降而不能通過排除來解決,則可以使用中值或低值,如果控制流被認(rèn)為是導(dǎo)致運(yùn)行時錯誤的原因,則可以使用中值或低值進(jìn)行調(diào)試。
如果你有任何問題或意見,可在下方評論區(qū)留言,點(diǎn)擊資源列表查看更多教程資源~
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn