.NetCore(Avalonia) 項目dll混淆,deb安裝包解壓,重新打包
本文分為兩部分,一部分是介紹使用 DotNetReactor6.0 及以上版本混淆.netcore項目的dll。
另一部分是介紹將混淆后的dll,放入打包好的deb安裝包中。這里需要在deepin(unbuntu)下解壓deb包,替換文件后重新打deb包。
這部分采用avalonia應用程序在deepin上演示。
一、dll混淆
.NetCore 所創建的類庫項目,是可跨平台的.Net Standard類庫,DotNetReactor6.0 及以上版本可混淆.Net Standard類庫生成的dll。經過測試,使用ILSpy,
.NET Reflector 以及JetBrains dotPeek 反編譯后,無法看到源碼。本次演示使用ILSpy反編譯工具。
(一)創建.netcore 的類庫,編譯生成dll,不經過混淆用ILSpy 查看。
(二)用ILSpy打開 hello.dll,查看class1,可以看到源碼。
(三)將dll混淆,然后再用ILSpy查看該dll
1.混淆dll:
2.ILSpy反編譯瀏覽混淆后的dll
二、deb安裝包解壓、替換混淆后的dll,重新打deb包。
這部分將用avalonia應用程序的deb包,在deepin系統上進行演示
1.新建一個文件夾,比如 在桌面新建一個文件夾app
2.在app文件夾內,再新建文件夾。將要重新打包的deb包放入app文件夾中。
3.解壓deb安裝包:將要重新打包的 deb安裝包,放入 app文件夾中,執行解壓縮命令。解壓后,可修改、替換解壓出來的文件
dpkg -X testapp.1.0.0.linux-x64.deb extract/ 將deb包解壓出來的文件,放入extract文件夾中。
dpkg -e testapp.1.0.0.linux-x64.deb extract/DEBIAN/ 解壓出包的控制信息 文件放入 app/extract/DEBIAN文件夾中。
4.重新打deb包。重新打包,會根據解壓出來的控制信息重新打包,並將打包后的deb安裝包,放入到app/build文件夾中。