.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文件夹中。

 
原文地址:https://www.cnblogs.com/zhaiganggang/p/14776259.html