首页 > 编程语言 >探究——C# .net 代码混淆/加壳

探究——C# .net 代码混淆/加壳

时间:2024-05-14 16:42:51浏览次数:9  
标签:xml Code C# cmd 加壳 net Obfuscar

背景:

  保密。

过程:

  先查询一下常见的加壳工具:

  • DotFuscator,官方自带,据说免费版混淆程度不高
  • ConfuserEx,只支持.NET Framework 2.0/3.0/3.5/4.0/4.5/4.6/4.7/4.8,不支持.NET Core
  • Virbox Protector,很好很优秀,但是收费
  • NET Reactor,最新6.9版收费,PJ版到4.9不支持.NET Core
  • Obfuscar,开源,可以用dotnet tool或项目构建的方式进行使用

  那就先用Obfuscar试试水(官方文档:https://docs.obfuscar.com/getting-started/configuration)。

方式一:nuget安装(推荐,这种方式可以针对性下载各.net版本对应工具包)

  1、在项目中使用nuget安装obfuscar

   2、在项目根目录下找到packages\Obfuscar.2.2.38\tools,将Obfuscar.Console.exe拷到要加密文件的文件夹中

   3、新建一个Obfuscar.xml 文件放到相同目录下,内容如下:

 View Code

  下图中,Logic.dll是要加密的类库:

   4、用命令提示符cmd进入到目录下(可以在cmd里用cd指令跳转,也可以直接打开目标文件夹,然后在上方的文件路径那里直接替换成cmd后enter)

   5、执行>Obfuscar.Console.exe Obfuscar.xml

   6、在生成的Obfuscar文件夹中可以找到被加壳后的同名Logic.dll

  上述得到的Logic.dll即可被其他项目直接引用,加密后类似:

  方式二:dotnet tool(.net 6)

  1、新建一个Obfuscar.xml 文件放到类库所在目录,内容如下:

 View Code

  其中,Module对应填入想要加壳的类库,可以添加多行,AssemblySearchPath根据自己.net的路径进行配置。

  2、在cmd中进入到上述目录中,执行命令:dotnet tool install --global Obfuscar.GlobalTool

  3、在cmd中执行命令:obfuscar.console Obfuscar.xml

  4、在上述目录中找到自动生成的Obfuscar文件夹,加壳后的类库就存放在里面,拷贝出来即可使用。

PS:.net6的带WebAPI的exe好像加壳失败,待测试。

方式三:项目构建

  1、在csproj 项目文件中添加安装Obfuscar的代码:

 View Code

  2、在项目中添加一个Obfuscar.xml 文件,内容跟方式一的类似,再在csproj 项目文件中设置更新

 View Code

  3、在csproj 项目文件中设置自动构建

 View Code

 PS:这种方式还没测试过,待测试

总结:

1、使用手册:https://docs.obfuscar.com/getting-started/configuration

2、可以用skip自定义跳过混淆的内容

3、如果混淆后,部分涉及到正则表达式的内容无法运行,那么考虑将internal的属性改为public

本文来自博客园,作者:MaQaQ,转载请注明原文链接:https://www.cnblogs.com/magicMaQaQ/p/17702951.html

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。

标签:xml,Code,C#,cmd,加壳,net,Obfuscar
From: https://www.cnblogs.com/zhaotiantian/p/18191640

相关文章

  • KEIL中使用的SCT段描述文件的一些语法说明
    ;FLASH起始址FLASH大小LR_IROM10x080000000x000F0000;这行描述的是编译后的执行代码存放在FLASH的哪地址,FLASH大小是多少。LR_IROM1是段名,随便写{ER_IROM10x080000000x000F0000;这行描述了一个ROM段,表示代码存储的位置和ROM的大......
  • 痞子衡嵌入式:恩智浦i.MX RT1xxx系列MCU启动那些事(12.A)- uSDHC eMMC启动时间(RT1170)
    大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是恩智浦i.MXRT1170uSDHCeMMC启动时间。本篇是i.MXRT1170启动时间评测第五弹,前四篇分别给大家评测了RawNAND启动时间(基于MIMXRT1170-EVK_Rev.B)、SerialNOR启动时间(基于MIMXRT1170-EVB_Rev.A2)、1......
  • 第 5 篇 Scrum 冲刺博客
    这个作业属于哪个课程软件工程2024这个作业要求在哪里团队作业4——项目冲刺这个作业的目标记录敏捷流程下第五天的项目开发进展,对团队昨日的项目进度进行总结一、每日站立式会议1、每日站立式会议照片2、会议摘要本次会议为第五次ScrumMeeting会议~由于......
  • [RCTF2015]EasySQL
    [RCTF2015]EasySQL打开环境,有一个注册一个登录按钮这里注册的时候有个坑,邮箱那栏你不能输入@xx.com,否则就会报错不允许的字符fuzz测试一下发现过滤了不少字符注册完成后登录首页的文字没有什么有用的信息,进入帐号发现可以修改密码如果是正常的账号,此时修改密码不会有......
  • react什么时候用函数组件,什么时候用类组件
    在React中,使用函数组件还是类组件取决于你的需求和个人偏好。在过去,类组件是主要的React组件形式,但是随着ReactHooks的引入,函数组件也变得非常强大,两者之间的差异已经减小。以下是一些指导原则:简单的UI组件:对于简单的UI组件,如按钮、图标、展示静态内容的组件等,使用......
  • [转]查杀linux隐藏挖矿病毒rcu_tasked
    记录一次项目中挖矿病毒的经历这是黑客使用的批量蔓延病毒的工具,通过如下脚本[[email protected]]#cat/home/pischi/.bash_historycd/root/nvidia-smi;ls-a;cd.cfg;ls-a;wc-lip./key20-fippass22"nproc;nvidia-smi;rm-rf.cfg;mkdir.cfg;cd.cfg;wget193.42......
  • 技术应用方案|车载无刷电机吸尘器PCBA方案
    吸尘器是通过电流控制电机转动,形成强烈的空气涡流而使吸尘器内的密闭空间出现负压,从而吸入纸屑、灰尘等杂质,使用十分方便。吸尘器电机的基本要求是转矩大、转速高、质量轻、体积小,最好还能节能等。无论是手持式还是立式的,无绳吸尘器大都选择搭载体积轻、噪音小、吸力大并且更......
  • 如何在华企盾DSC数据防泄密系统中自定义加密级别?
    在华企盾DSC系统中,你可以通过密级权限功能来自定义加密文件的密级高低。每个终端下都有严格的受限范围,文件密级的高低将直接决定该终端是否拥有打开该加密文件的权利。如果不在权限范围内,则无法打开该加密文件。详细步骤如下:登录华企盾DSC系统的管理控制台。导航加密控制,找......
  • Cubemx IIC驱动oled 显示汉字、字母
    OLED实物图: 创建工程1.配置外部晶振 2.配置时钟 3.使能IIC 4.生成代码移植驱动代码移植oled.h#ifndef__OLED_H#define__OLED_H#include"i2c.h"/*OLED控制用函数*/voidOLED_Set_Pos(uint8_tx,uint8_ty);voidOLED_Display_On(void);voidO......
  • CompletableFuture allOf 和 anyOf
    CompletableFuture<String>future1=CompletableFuture.supplyAsync(()->{List<String>objects=newArrayList<>();Strings=objects.get(0);return"成功";}).exceptionally(ex->{//这样的话future2就可以正常执行......