原創(chuàng)|行業(yè)資訊|編輯:郝浩|2013-09-16 09:24:21.000|閱讀 349 次
概述:Dotfuscator類重命名方法解析,包括整體重命名、保留命名空間、保留命名結(jié)構(gòu)和重命名前綴方法的原理及實現(xiàn)。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
是專業(yè)的.NET程序代碼混淆工具,擁有重命名、字符串加密、流程模糊、自定義規(guī)則和水印等功能,倍受開發(fā)人員喜愛。其中類重命名的使用方法非常普遍,涉及到既要保護代碼信息,又要在以后能實現(xiàn)運行維護及多程序協(xié)同工作。
那么類重命名到底有幾種方法?每種方法是如何實現(xiàn)的?接下來將解析各種類重命名方法及其實現(xiàn)過程。
默認的類重命名方法是整體重命名,會把類命名為一個新的、簡單的名字。這是最簡單的一種重命名方式。舉例如下:
原來名字 |
新名字 |
Preemptive.Application.Main |
a |
Preemptive.Application.LoadData |
b |
Preemptive.Tools.BinaryTree |
c |
Preemptive.Tools.LinkedList |
d |
當需要維持命名空間層次結(jié)構(gòu)時,使用保留命名空間重命名方法是很重要的。雖然放棄了一些混淆處理的潛力,但可以使混淆代碼鏈接回代碼庫讓其他應用程序可以調(diào)用混淆代碼。保證應用程序的兼容性。其重命名實現(xiàn)是通過設置選項為保留命名空間層次。簡單舉例如下:
原來名字 |
新名字 |
Preemptive.Application.Main |
Preemptive.Application.a |
Preemptive.Application.LoadData |
Preemptive.Application.b |
Preemptive.Tools.BinaryTree |
Preemptive.Tools.a |
Preemptive.Tools.LinkedList |
Preemptive.Tools.b |
類似于保留命名空間,都是能維持命名空間層次結(jié)構(gòu),但保留命名結(jié)構(gòu)只是保留了命名結(jié)構(gòu),對代碼保護比保留命名空間強多了。簡單舉例如下:
原來名字 |
新名字 |
Preemptive.Application.Main |
a.a.a |
Preemptive.Application.LoadData |
a.a.b |
Preemptive.Tools.BinaryTree |
a.b.a |
Preemptive.Tools.LinkedList |
a.b.b |
重命名前綴方法是一種高水平的復合重命名類型。可以結(jié)合上面說的三種方法,復合型重命名安全指數(shù)非常高。簡單舉例如下:
原來名字 |
前綴 |
重命名類型 |
新名字 |
Application.Main |
|
默認 |
MyApplicationa |
Application.LoadData |
myprefix |
默認 |
myprefixa |
Tools.BinaryTree |
myprefix |
保留命名結(jié)構(gòu) |
a.myprefixa |
Tools.LinkedList |
myprefix |
保留命名空間 |
Tools.myprefixa |
Tools.Proxy |
mynamespace. |
保留命名空間 |
Tools.mynamespace.a |
有三種方式來設置重命名前綴:
<propertylist> <!-- defining prefix here tells the renamer to use the value as the renaming prefix, if renaming prefix is enabled --> <property name="prefix" value="MY_PREFIX"/> </propertylist> <renaming> <!-- this turns on the renaming prefix feature --> <option>prefix</option> ... </renaming>
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:慧都控件網(wǎng)