Dotfuscator 是專業的.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 |
有三種方式來設置重命名前綴:
- 在Dotfuscator界面選擇重命名中的重命名前綴選項按鈕,出現選擇/輸入前綴和重命名類型對話框,完成設置執行即可。
-
在命令行使用/prefix:[on?>?off]選項。命令如下:
?Dotfuscator?/p=prefix=MY_PREFIX?/pref:on?[other?options...] -
使用文本或XML編輯,手動添加“prefix”選項到重命名區域,如在propertylist區域添加自定義“prefix”屬性。代碼如下:
12345678910<
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
>
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
