Eazfuscator.NET


自動(dòng)代碼優(yōu)化
我們中的許多人都?jí)粝肽軌蛄私馕覀兯褂玫钠脚_(tái)和編程語言的每一個(gè)性能敏感方面。這樣,我們總是會(huì)小心地只寫最快的代碼。盡管如此,我們中并沒有很多人真正意識(shí)到所有與性能相關(guān)的細(xì)節(jié),這些細(xì)節(jié)往往隨著平臺(tái)的發(fā)展而改變。
使用Eazfuscator.NET,您不需要成為.NET性能專家就可以制作出性能最好的應(yīng)用程序。我們會(huì)自動(dòng)為您執(zhí)行代碼優(yōu)化,方法是將被證明速度較慢的代碼片段替換為速度更快的等效代碼片段。在某些情況下,優(yōu)化可能會(huì)使代碼速度提高數(shù)百倍?,F(xiàn)在有一個(gè)大的列表,我們?cè)趦?yōu)化過程中考慮了很多場景。這個(gè)名單會(huì)越來越多。
Eazfuscator.NET應(yīng)用代碼優(yōu)化來為應(yīng)用程序提供最佳性能。NET編譯器,如C#、VB.NET、F#和JIT,在這方面已經(jīng)做得相當(dāng)不錯(cuò)了。NET通過高級(jí)優(yōu)化進(jìn)一步擴(kuò)展了它。
高級(jí)優(yōu)化是一種比較新的優(yōu)化技術(shù)。Eazfuscator.NET是第一個(gè)將其交付給廣大.NET用戶群的工具。簡要描述高級(jí)優(yōu)化的最好方法是按照開發(fā)人員的想法開始思考:我們都知道有些方法和代碼模式比其他方法和代碼模式更快。
Eazfuscator.NET所做的是:它找到慢代碼,并用一個(gè)更快的等價(jià)代碼交換它。Eazfuscator.NET使用了一個(gè)精心構(gòu)建的知識(shí)庫,其中包含了許多.NET應(yīng)用程序中常見而高效的代碼模式。
乍一看,高級(jí)優(yōu)化與著名的窺視孔優(yōu)化方法非常相似。主要區(qū)別在于,經(jīng)典的窺視孔優(yōu)化只在目標(biāo)機(jī)器指令的一個(gè)小窗口上工作,而高級(jí)優(yōu)化則在應(yīng)用程序范圍內(nèi)工作,考慮控制和數(shù)據(jù)流以及關(guān)于特定框架(如LINQ、MEF等)的神圣知識(shí)。
我們來看一個(gè)例子:
例1。慢代碼


上面的代碼使用Enum.HasFlag方法來檢查是否設(shè)置了PrepareDatabase標(biāo)志。雖然語法上令人愉快,但由于C#編譯器發(fā)出的兩個(gè)不可見的裝箱操作,代碼的性能差得驚人。
Eazfuscator.NET來拯救:
例2??焖倜艽a。優(yōu)化慢代碼后由Eazfuscator.NET生成


如您所見,Eazfuscator.NET發(fā)出了功能上等效的代碼。優(yōu)化的結(jié)果是條件評(píng)估速度比原代碼提高了500倍。
Eazfuscator.NET仔細(xì)地執(zhí)行了一系列其他性能優(yōu)化,有助于為您的客戶提供最佳體驗(yàn)。
默認(rèn)情況下,優(yōu)化處于啟用狀態(tài),并在模糊處理期間在后臺(tái)工作。


資源加密和壓縮
如果您的產(chǎn)品足夠優(yōu)秀,它包括許多有價(jià)值的資產(chǎn)。幾乎所有流行的應(yīng)用程序都包含一個(gè)由設(shè)計(jì)師創(chuàng)建的圖標(biāo)集。如果您是一個(gè)游戲開發(fā)商,最初的游戲聲音會(huì)花費(fèi)您很多錢。當(dāng)程序集資源包含私鑰等安全信息時(shí),它將變得非常敏感。
為了涵蓋所有這些受保護(hù)的內(nèi)容,我們會(huì)在您要求時(shí)為您透明地加密資源。


代碼控制流混淆
.NET語言編譯器通常會(huì)為高級(jí)代碼的類似片段生成類似的MSIL代碼片段。這一事實(shí)允許反編譯器工具從.NET程序集對(duì)高級(jí)代碼(例如,在C#中)進(jìn)行反向工程。
當(dāng)MSIL代碼被替換為功能等效但不同的指令時(shí),Eazfuscator.NET支持一種稱為控制流模糊處理的高級(jí)技術(shù)。反編譯器經(jīng)常在這樣的代碼上崩潰,因此這可能會(huì)阻止入侵者試圖闖入您的程序集。


程序集合并和嵌入
在某些情況下,我們需要從多個(gè)程序集中創(chuàng)建一個(gè)程序集。有兩種方法可以做到這一點(diǎn):合并和嵌入。
Eazfuscator.NET以簡單的方式為您合并或嵌入程序集:您需要向項(xiàng)目中添加一行代碼,在其中指定要混合的程序集。我們負(fù)責(zé)在模糊處理過程中正確且安靜地完成所有這些工作。


XML文檔篩選器
XML文檔篩選器是一種自動(dòng)清理程序,可處理由各種.NET編譯器(如C#、Visual Basic、F#等)生成的XML文檔文件。
如果您正在開發(fā)類庫,則很可能使用自動(dòng)生成的XML文檔文件。與它們相關(guān)的安全問題是,它們包含描述庫實(shí)現(xiàn)詳細(xì)信息的信息:私有類型、方法和字段的名稱和描述。
我們注意從XML文檔文件中自動(dòng)刪除所有公開數(shù)據(jù)的實(shí)現(xiàn)。


調(diào)試支持
在您的程序集被Eazfuscator.NET混淆后,它不會(huì)變成一塊不可調(diào)試的磚。您總是可以獲得出現(xiàn)未處理異常的行號(hào),查看可讀的堆棧跟蹤,甚至可以附加調(diào)試器來遍歷經(jīng)過混淆的代碼。


支持的平臺(tái)和技術(shù)
.NET標(biāo)準(zhǔn)版1.0 – 2.1
.NET核心版本1.0 – 3.1
.NET框架版本2.0 – 4.8
具有符號(hào)智能重命名功能的XAML
企業(yè)級(jí)技術(shù):ClickOnce、VSTO和許多其他技術(shù)
通用Windows平臺(tái)(UWP)
游戲技術(shù):Unity、MonoGame和XNA
第三方平臺(tái):Mono和Xamarin
與Microsoft Visual Studio 2005-2019集成
與JetBrains Rider 2019.1+整合
更多…


XAML重命名
它是什么?
所有最新的.NET用戶界面(UI)技術(shù)都基于XAML。WPF、UWP和Silverlight應(yīng)用程序使用XAML定義UI的元素、事件、數(shù)據(jù)綁定和其他方面。
XAML重命名是在混淆期間同時(shí)重命名代碼和XAML中相關(guān)符號(hào)的過程。
它是怎么工作的?
Eazfuscator.NET查找XAML和代碼之間的所有連接:


然后,相關(guān)符號(hào)被重命名。在代碼和XAML中同步一致:


因此,XAML重命名提供了更高的混淆覆蓋率,并確保在XAML和代碼中相應(yīng)地正確地處理所有相關(guān)項(xiàng)。


最后不能不提的用戶界面
NET提供了一個(gè)易于使用的GUI界面和經(jīng)典的命令行界面。


京ICP備09015132號(hào)-996 | 違法和不良信息舉報(bào)電話:4006561155
© Copyright 2000-2026 北京哲想軟件有限公司版權(quán)所有 | 地址:北京市海淀區(qū)西三環(huán)北路50號(hào)豪柏大廈C2座11層1105室
北京哲想軟件集團(tuán)旗下網(wǎng)站:哲想軟件 | 哲想動(dòng)畫