Github 开源代码混淆工具,支持 .NET - Obfuscar
2022-04-10 11:52 音乐让我说 阅读(936) 评论(0) 编辑 收藏 举报关于
项目地址: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 的方法、属性和字段。
谢谢浏览!
作者:音乐让我说(音乐让我说 - 博客园)
出处:http://music.cnblogs.com/
文章版权归本人所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。