Dotfuscator類重命名方法解析

Dotfuscator是專業的.NET程序代碼混淆工具,擁有重命名、字符串加密、流程模糊、自定義規則和水印等功能,倍受開發人員喜好。其中類重命名的使用方法很是廣泛,涉及到既要保護代碼信息,又要在之後能實現運行維護及多程序協同工做。 html

那麼類重命名到底有幾種方法?每種方法是如何實現的?接下來將解析各類類重命名方法及其實現過程。 安全

總體重命名

默認的類重命名方法是總體重命名,會把類命名爲一個新的、簡單的名字。這是最簡單的一種重命名方式。舉例以下: 工具

原來名字 this

新名字 加密

Preemptive.Application.Main spa

a 命令行

Preemptive.Application.LoadData htm

b ci

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

有三種方式來設置重命名前綴:

  • 在Dotfuscator界面選擇重命名中的重命名前綴選項按鈕,出現選擇/輸入前綴和重命名類型對話框,完成設置執行便可。
  • 在命令行使用/prefix:[on > off]選項。命令以下:
     Dotfuscator /p=prefix=MY_PREFIX /pref:on [other options...]
  • 使用文本或XML編輯,手動添加「prefix」選項到重命名區域,如在propertylist區域添加自定義「prefix」屬性。代碼以下:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <propertylist>
         <!-- defining prefix here tells the renamer to use the value as the
            renaming prefix, if renaming prefix is enabled -->
         <propertyname="prefix"value="MY_PREFIX"/>
      </propertylist>
      <renaming>
         <!-- this turns on the renaming prefix feature -->
         <option>prefix</option>
      ...
      </renaming>
相關文章
相關標籤/搜索