使用Obfuscar 混淆WPF(Net6)程序

        Obfuscar 是.Net 程序集的基本混淆器,它使用大量的重载将.Net程序集中的元数据(方法,属性、事件、字段、类型和命名空间的名称)重命名为最小集。详细使用方式参见:Obfuscar

        在NetFramework框架进行的WPF程序的混淆比较容易,因为由Visual Studio 编译生成的exe文件直接包含托管代码,可以直接进行混淆,当在Net5.0 或者Net6.0 等跨平台框架中编译生成的exe只是一个单纯的启动器,并不包含可以混淆的托管代码。与exe同时生成的还有一个xx.dll文件,该文件真正的包含了托管代码,只需要对该dll进行混淆即可。

        新建一个基于Net6的Wpf项目,这个过程简单,不再描述具体过程。混淆程序的方式很多,网上一番搜索,大部分都是在项目生成或者发布之后,通过执行obfuscar.xxx.exe ,传入要混淆文件路径来进行混淆。这种方式能达到同样的效果,但效率不高。后经搜索发现使用Obfuscar.MsBuild包可以直接在Visual Studio编译时直接对代码进行混淆。

引入Obfuscar

        打开项目依赖项->右键点击管理nuget程序包,在左侧面板中点击浏览,输入obfuscar.

依次安装Obfuscar和Obfuscar.MsBuild。安装成功之后会在csproj文件中添加引用。

<PackageReference Include="Obfuscar" Version="2.2.38">
  <PrivateAssets>all</PrivateAssets>
  <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
&
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值