Github 开源代码混淆工具,支持 .NET - Obfuscar


关于

项目地址:https://github.com/obfuscar/obfuscar

官方介绍:Obfuscar is an open source .NET obfuscator released under MIT license. It provides basic obfuscation features that help secure secrets in a .NET assembly.

效果图:

官方文档:https://docs.obfuscar.com/

混淆原理

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

以下方法来自版本中包含的示例:

public ExampleUI( )
{
        InitializeComponent( );

        ClassX cx = new ClassX( "Some Text" );

        displayText.Text = cx.DisplayText;
}

代码可以被反编译(通过ILSpy):

public ExampleUI()
{
        this.InitializeComponent();
        this.displayText.Text = new ClassX("Some Text").get_DisplayText();
}

混淆后,代码可以被反编译(通过 ILSpy):

public A()
{
        this.A();
        this.a.Text = new A.A("Some Text").A();
}

这是一个简单的例子,但它可以扩展……例如,给定一个合理大小的代码库,可以很容易地运行到一个名为 A 的类(在命名空间 A 中),它有 7 个方法、4 个属性和 5 个名为 A 的字段,还有更多名为 a 的方法、属性和字段。

 

谢谢浏览!


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM