当前您所在的位置:首页>新闻中心>新品发布
新品发布
行业动态
营销活动

Eazfuscator.NET:应用代码优化为应用程序提供最佳性能

发布时间:2020/06/24 浏览量:2237

Eazfuscator.NET

 

自动代码优化

我们中的许多人都梦想能够了解我们所使用的平台和编程语言的每一个性能敏感方面。这样,我们总是会小心地只写最快的代码。尽管如此,我们中并没有很多人真正意识到所有与性能相关的细节,这些细节往往随着平台的发展而改变。

 

使用Eazfuscator.NET,您不需要成为.NET性能专家就可以制作出性能最好的应用程序。我们会自动为您执行代码优化,方法是将被证明速度较慢的代码片段替换为速度更快的等效代码片段。在某些情况下,优化可能会使代码速度提高数百倍。现在有一个大的列表,我们在优化过程中考虑了很多场景。这个名单会越来越多。

 

Eazfuscator.NET应用代码优化来为应用程序提供最佳性能。NET编译器,如C#、VB.NET、F#和JIT,在这方面已经做得相当不错了。NET通过高级优化进一步扩展了它。

 

高级优化是一种比较新的优化技术。Eazfuscator.NET是第一个将其交付给广大.NET用户群的工具。简要描述高级优化的最好方法是按照开发人员的想法开始思考:我们都知道有些方法和代码模式比其他方法和代码模式更快。

 

Eazfuscator.NET所做的是:它找到慢代码,并用一个更快的等价代码交换它。Eazfuscator.NET使用了一个精心构建的知识库,其中包含了许多.NET应用程序中常见而高效的代码模式。

 

乍一看,高级优化与著名的窥视孔优化方法非常相似。主要区别在于,经典的窥视孔优化只在目标机器指令的一个小窗口上工作,而高级优化则在应用程序范围内工作,考虑控制和数据流以及关于特定框架(如LINQ、MEF等)的神圣知识。

 

我们来看一个例子:

 

例1。慢代码

 

上面的代码使用Enum.HasFlag方法来检查是否设置了PrepareDatabase标志。虽然语法上令人愉快,但由于C#编译器发出的两个不可见的装箱操作,代码的性能差得惊人。

 

Eazfuscator.NET来拯救:

例2。快速密码。优化慢代码后由Eazfuscator.NET生成

 

如您所见,Eazfuscator.NET发出了功能上等效的代码。优化的结果是条件评估速度比原代码提高了500倍。

Eazfuscator.NET仔细地执行了一系列其他性能优化,有助于为您的客户提供最佳体验。

默认情况下,优化处于启用状态,并在模糊处理期间在后台工作。

 

资源加密和压缩

如果您的产品足够优秀,它包括许多有价值的资产。几乎所有流行的应用程序都包含一个由设计师创建的图标集。如果您是一个游戏开发商,最初的游戏声音会花费您很多钱。当程序集资源包含私钥等安全信息时,它将变得非常敏感。

为了涵盖所有这些受保护的内容,我们会在您要求时为您透明地加密资源。

 

代码控制流混淆

.NET语言编译器通常会为高级代码的类似片段生成类似的MSIL代码片段。这一事实允许反编译器工具从.NET程序集对高级代码(例如,在C#中)进行反向工程。

 

当MSIL代码被替换为功能等效但不同的指令时,Eazfuscator.NET支持一种称为控制流模糊处理的高级技术。反编译器经常在这样的代码上崩溃,因此这可能会阻止入侵者试图闯入您的程序集。

 

程序集合并和嵌入

在某些情况下,我们需要从多个程序集中创建一个程序集。有两种方法可以做到这一点:合并和嵌入。

 

Eazfuscator.NET以简单的方式为您合并或嵌入程序集:您需要向项目中添加一行代码,在其中指定要混合的程序集。我们负责在模糊处理过程中正确且安静地完成所有这些工作。

 

XML文档筛选器

XML文档筛选器是一种自动清理程序,可处理由各种.NET编译器(如C#、Visual Basic、F#等)生成的XML文档文件。

 

如果您正在开发类库,则很可能使用自动生成的XML文档文件。与它们相关的安全问题是,它们包含描述库实现详细信息的信息:私有类型、方法和字段的名称和描述。

 

我们注意从XML文档文件中自动删除所有公开数据的实现。

 

调试支持

在您的程序集被Eazfuscator.NET混淆后,它不会变成一块不可调试的砖。您总是可以获得出现未处理异常的行号,查看可读的堆栈跟踪,甚至可以附加调试器来遍历经过混淆的代码。

 

支持的平台和技术

.NET标准版1.0 – 2.1

.NET核心版本1.0 – 3.1

.NET框架版本2.0 – 4.8

具有符号智能重命名功能的XAML

企业级技术:ClickOnce、VSTO和许多其他技术

通用Windows平台(UWP)

游戏技术:Unity、MonoGame和XNA

第三方平台:Mono和Xamarin

与Microsoft Visual Studio 2005-2019集成

与JetBrains Rider 2019.1+整合

更多…

 

XAML重命名

 

它是什么?

所有最新的.NET用户界面(UI)技术都基于XAML。WPF、UWP和Silverlight应用程序使用XAML定义UI的元素、事件、数据绑定和其他方面。

 

XAML重命名是在混淆期间同时重命名代码和XAML中相关符号的过程。

 

它是怎么工作的?

Eazfuscator.NET查找XAML和代码之间的所有连接:

然后,相关符号被重命名。在代码和XAML中同步一致:

因此,XAML重命名提供了更高的混淆覆盖率,并确保在XAML和代码中相应地正确地处理所有相关项。

 

最后不能不提的用户界面

NET提供了一个易于使用的GUI界面和经典的命令行界面。

北京哲想软件有限公司