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