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