WTF Obfuscator BETA漢化版(.net混淆器),.NET Obfuscator 只是迷惑了表面的分析者,而保持了機(jī)器編碼層的一致性。軟件 Obfuscator 使用混淆代碼來挫敗分析者的同時(shí)不破壞程序的執(zhí)行。為了闡明 Obfuscator 的工作原理,我們可以以廚師為參考。廚師可以在烹調(diào)一道由 7 道菜肴組成大餐的時(shí)候允許顧客一道一道地來品嘗。然而,廚師作為一個(gè) Obfuscator 完全可以把所有的菜肴混合到一塊。合成的混合物會(huì)掩蓋每一道菜的味道,使得顧客無法分辯,盡管如此卻提供了相同的營養(yǎng)價(jià)值。
.NET Obfuscator 會(huì)影響性能嗎?
軟件 Obfuscators 并不會(huì)降低執(zhí)行性能。實(shí)際上,成熟的 .NET Obfuscator 可以通過壓縮應(yīng)用程序來提高性能。Obfuscators 使用 overload induction (重載感知)的技術(shù)重用標(biāo)志符的名稱,它的另一個(gè)特點(diǎn)就是可以刪除沒有使用到的類、方法、局部變量和設(shè)計(jì)時(shí)產(chǎn)生的元數(shù)據(jù)。這使得應(yīng)用程序的縮小率可以達(dá)到 20-40% 甚至更多。
精簡后的程序通常會(huì)加載地更快并使用更少的內(nèi)存。此外,因?yàn)槌绦蛐×,網(wǎng)絡(luò)分布式組件程序?qū)?huì)更有效率。
哪些.NET程序需要被模糊化?
以下幾種情況下,.NET程序應(yīng)該使用 Obfuscator :
* 源代碼不是公開的;
* 代碼中存在個(gè)人敏感信息,比如 SQL 語句,用戶名和密碼;
* 系統(tǒng)性能,帶寬或者程序大小成為限制因素;
也就是說如果程序大小不是問題,源代碼是公開的或者是開源軟件,就不需要使用 Obfuscator了。對企業(yè)開發(fā)者來說,如果設(shè)定一個(gè)規(guī)范,明確使用 Obfuscator 作為標(biāo)準(zhǔn)的構(gòu)建工具,而不是把精力放在針對單個(gè)具體的程序上,他們將獲益良多。因?yàn)檫@做避免了對每個(gè)開發(fā)項(xiàng)目都花費(fèi)時(shí)間去做重復(fù)的工作。