使用“十字”计算器模糊处理“银光”应用程序

更新页 :
页面创建日期 :

关于 Dotfuscator 的更多信息

Dotfuscator 是一种模糊处理工具,用于在拆解使用 .NET 框架创建的应用程序时使源代码难以读取。 Dotfuscator 包括 Visual 工作室附带的免费和付费零售版本。

免费版本必须经过有限功能限制或 Visual 工作室启动,但只要安装了目标 Visual Studio,任何人都可以使用它。 在付费版本中,有许多强大的模糊处理功能,在免费版本中不存在,但一般人可能很难以难以触及的价格提供。

Dotfuscator 的功能、价格和版本因版本而异,因此请访问以下主页了解更多信息。

Dotfuscator

分析的代码

如前所述,在 .NET Framework 中创建的应用程序是拆解的,很容易读取原始源代码,但实际情况是,当您拆解程序集文件时,命名空间、类名称和方法名称等原始源代码几乎可以重现。

解析されたコード

模糊处理程序

首先,像往常一样创建银光应用程序以进行发布生成。 在这里,我们创建的应用程序只有两个按钮。

Release ビルド

在项目所在的文件夹的 Bin_发布文件夹中,单击“。 xap 文件是 Silverlight 应用程序使用的程序和文件的集合。

XAP ファイル

事实上,此文件被压缩为 ZIP 文件,并汇总在一起,因此扩展名为“。 可以更改为“zip”。

拡張子を .zip に変更

更改为 ZIP 文件。

ZIP ファイル

打开文件时,它包含清单文件和 DLL。 此 DLL 是程序的编译版本,并作为应用程序运行。

顺便说一下,DLL 文件在生成时也会放置在“发布”文件夹中,因此这次我们将模糊处理此文件。

ZIP ファイルの中身

从“视觉工作室”菜单中选择“工具”,然后选择“高级教师和分析”。

首次启动时,将显示“许可协议”对话框,因此请仔细阅读内容,选中“是,我接受许可协议”,然后单击“确定”按钮。

PreEmptive Dotfuscator And Analytics を選択

启动“PreEmptive Dotfuscator And Analytics CE”。

PreEmptive Dotfuscator And Analytics CE

从左侧树中选择“输入”,然后单击“添加输入”按钮。

入力の追加

选择生成生成的 DLL 文件。

ビルドで生成した DLL ファイルを選択

选择添加的 DLL 文件,然后取消选中“库模式”和“转换 XAML”。

如果选中“库模式”,则不会混淆公共定义的类或方法。

如果选中“转换 XAML”,则会混淆 XAML 中定义的类,但根据创建方法,它会导致启动错误,因此,如果出现错误,请取消选中它。

「ライブラリ モード」「XAML の変換」のチェックを外す

基本上,所有类、方法、属性和变量名称都模糊不报,但如果您不想混淆特定命名空间或类(如序列化),请从左侧树中选择“重命名”,然后选择“排除”选项卡以检查目标命名空间或类。

難読化の除外

确保内置规则检查“银光和 WPF 用户控制”字段。 选中此项可使用户控制中的字段未混淆并成功执行。 如果模糊处理成功,则可以取消选中它。

Silverlight および WPF UserControls のフィールド

完成后,单击工具栏上的“生成项目”按钮。

プロジェクトのビルド

如果项目发生更改,则会显示“保存项目确认”对话框,单击“是”以保存它。

プロジェクト保存確認ダイアログ

项目是“。 xml“文件。 模糊处理的文件存储在同一位置。

プロジェクト保存

生成开始,请等待它完成。 请注意,程序构建时间越长,生成时间就越长。 生成完成后,将生成图形。

消息字段显示生成进度和简单结果,例如模糊处理的程度。

ビルド完了

通过从左侧树中选择“结果”,可以了解有关类和方法名称如何更改的详细信息。

类和方法名称下有一个 Dotfuscator 图标和名称,如“a”和“b”,这是模糊的名称。 通过将类或方法名称更改为无意义的名称,可以使源代码的内容难以阅读,即使它们被拆解。

難読化結果

模糊处理的文件在保存项目时保存的 .xml 文件的文件夹中创建名为“Dotfuscated”的文件夹,并在其中创建。 除了模糊处理的文件外,还创建了“Map.xml”文件,但它不会使用它,因为它是模糊处理的结果文件。

難読化したファイル

通过拆解模糊的文件,您可以看到某些类和方法名称已更改为“a”或“b”。

这一次,我几乎按原样对创建的默认项目进行模糊处理,因此,我认为有些图像没有那么模糊,但随着项目的增长,类的数量也会增加,因此模糊处理的效果会变得清晰起来。

顺便说一下,. 请注意,重命名不会涉及重命名,因为 Windows 等已安装程序集,例如 NET 框架库中定义的类名称。

難読化したコードの解析

由于银光不使用 DLL,因此将其打包为 XAP 文件。 如前所述,XAP 文件只是更改了 ZIP 文件扩展名,因此我们将 XAP 文件中包含的文件和模糊 DLL 收集在一起以创建 ZIP 文件。

您可以使用操作系统的标准功能创建 ZIP 文件。

ファイルを ZIP 化

将创建 ZIP 文件。

ZIP ファイル

扩展“。 xap,如果文件名不同,则将其更改为原始包文件名。

将 XAP 文件放在分发位置。

XAP ファイルに変更

实际检查工作原理,看看它是否正常工作。

如果它不启动,请减少模糊代码,直到它正常工作。 请注意,在银光中,您经常被 XAML 相关卡住。

動作確認

我没有执行这些步骤,但如果要对程序进行签名,请在延迟签名状态下生成,在模糊处理程序集后重新签名。 在签名状态下进行模糊处理后,无法启动,因为生成时签名代码与模糊签名代码不匹配。

这一次,我们提出了免费版本的过程,但付费版本允许您执行更复杂的模糊处理,并防止拆解本身。 但是,由于混淆也可能发生各种负面影响,因此在进行模糊处理时,必须考虑从设计开始就正常工作。