Obfuscar:一款针对.NET程序的开源代码混淆工具

摘要:关于ObfuscarObfuscar是一款针对.NET程序的开源代码混淆工具,该工具支持使用大量重载将 .NET 程序集中的元数据(包括方法、属性、事件、字段、类型和命名空间的名称)重命名为最小集合,在大多数情况下仅通过签名即可区分。

关于ObfuscarObfuscar是一款针对.NET程序的开源代码混淆工具,该工具支持使用大量重载将 .NET 程序集中的元数据(包括方法、属性、事件、字段、类型和命名空间的名称)重命名为最小集合,在大多数情况下仅通过签名即可区分。

例如,如果某个类仅包含接受不同参数的方法,则可以将它们全部重命名为“A”。如果向该类添加另一个接受与现有方法相同参数的方法,则可以将其命名为“a”。简而言之,该工具可以让反编译后的代码更加难以理解。

基本上,Obfuscar 会打乱一组程序集中的元数据。它会根据签名和类型信息将所有内容重命名为可用于识别它们的最小名称集。由于这些新名称比旧名称短,因此它还会大幅缩小可执行文件的大小。

功能介绍

1、简单配置:隐藏所有私密内容,同时保持所有公开内容。您可以通过默认设置轻松实现这一点。

2、名称混淆:隐藏您不想公开的类/方法/属性/事件名称。这是不可逆的。

3、字符串压缩:字符串内容可以被压缩,这样终端用户就不容易知道它们。但是,这可以通过某些工具进行逆转。

工具要求

Visual Studio

工具安装git clone https://github.com/obfuscar/obfuscar.git

然后在Visual Studio中打开Obfuscar.sln并编译即可。

工具使用

工具配置

attrib="public"rx="Pub.*" />attrib="public"rx=".*" />attrib="family"rx=".*" />name="Property2" />name="Event2" />rx="Any.*" />

基础使用

基本上,Obfuscar 会打乱一组程序集中的元数据。它会根据签名和类型信息将所有内容重命名为可用于识别它们的最小名称集。由于这些新名称比旧名称短,因此它还会显著缩小可执行文件的大小。

该代码可以通过ILSpy反编译为:

publicExampleUIthis.InitializeComponent;this.displayText.Text = new ClassX("Some Text").get_DisplayText;}

混淆后,代码可以通过ILSpy反编译为:

publicA{this.A;this.a.Text = new A.A("Some Text").A;}工具运行演示

许可证协议

本项目的开发与发布遵循MIT开源许可协议。

项目地址

Obfuscar:

在这里,拓宽网安边界

来源:FreeBuf

相关推荐