开源.net 混淆器ConfuserEx介绍

今天给大家介绍一个开源.net混淆器——ConfuserEx

ConfuserEx

由于项目中要用到.net 混淆器,网上搜寻了很多款,比如Dotfuscator、xeoncode、foxit等等。但大部分收费,当然也有破解版的,公司要求不能用盗版软件。找了半天终于找到了ConfuserEX,用起来还行,就赶紧拿出来给大家分享下。下载地址:https://github.com/yck1509/ConfuserEx/releases

由于网上中文介绍的比较少,我这里做个测试,给大家演示一下:

1、新建一个C#类库,我也就不改名字了,就叫ClassLibrary1吧,在Class1.cs类下面添加一个简单方法:

public class Class1{public string test(){return "2";}}

2、再创建一个控制台应用程序ConsoleTest,添加引用ClassLibrary1.dll,Main方法中调用ClassLibrary1.Class1 中的test方法:

static void Main(string[] args)
{ClassLibrary1.Class1 c = new ClassLibrary1.Class1();Console.WriteLine(c.test());Console.ReadLine();}

编译后,用ILSpy打开ConsoleTest.exe,毋庸置疑,可以看到源码,如下图:

3,现在我们用ConfuserEx混淆一下试试:

下载ConfuserEx后解压,打开ConfuserEx.exe,如下图:

4、看到提示“Drag input modules here”了吧?

那就把刚才的ConsoleTest.exe托进来吧,如下图:

5、点击Settings

(1)选择Packer

(2)Modules->ConsoleTest.exe

(3) Rules 点击+号,true

如下图:

6、点击Protest!->Protect! ,提示导出成功(Confused目录下),

7,用ILspy打开...\Confused下的ConsoleTest.exe,看看源码:

方法是空的,把ConsoleTest.exe依赖的 ClassLibrary1.dll 拷贝到Confused目录下,点击运行ConsoleTest.exe,输出正确结果。

注意

8、如果只是混淆exe文件,这样就可以了,如果只是混淆一个dll文件,你将看到如下错误:

错误:No executable module,没有执行体?

是不是没有exe文件呢? 我们把ConsoleTest.exe也放进来和ClassLibrary1.dll一起混淆,看看。

9、根据前面的方式,我把ConsoleTest.exe、ClassLibrary1.dll都拖放进ConfuserEx一起混淆,

如下图:

提示成功。

10、可是我们再次打开...\Confused,发现只有混淆过的ConsoleTest.exe文件,ClassLibrary1.dll跑哪去了?

是不是不能混淆dll文件呢?

别着急,我们点击ConsoleTest.exe试试,哎呀,我去,竟然运行成功了,如下图:

这里唯一解释就是ConfuserEx把dll嵌入到exe里面了。

现在混淆过的ConsoleTest.exe是17KB,而原来的ConsoleTest.exe是5KB,ClassLibrary1.dll也是5KB。

11、我们再用ILSpy看看同时混淆ConsoleTest.exe及ClassLibrary1.dll后生成的ConsoleTest.exe,

看不到方法体,也看不到所引用的dll文件。

好了,今天就到这里。

附加:由于中午没找到单独混淆dll的方法,下午 @四毛的家 这位同学找到了方法,我这里再附加上如何单独混淆dll。

根据第8步,我们发现按照exe的方式混淆dll时报错了,原来应该按如下步骤:

将dll拖入ConfuserEx后,Settings里面不能选择Packer了,而是要点击右侧那个铅笔按钮,如下图。

点击铅笔按钮后,弹出Edit rule对话框,Preset选择一项,我这里选择Maximum,然后再点击下面 “+”按钮,选择anti ildasm(我猜是防止通过IL编译),然后导出成功。

我们在用ILSpy查看一下刚混淆的ClassLibrary1.dll,如下图,

什么都看不到。

为了测试混淆过的dll可用,我把未混淆的ConsoleTest.exe和混淆过的ClassLibrary1.dll放在一个目录下,点击运行ConsoleTest.exe,成功。

后记:在混淆dll时,有很多混淆规则,我们可以按照自己的方式混淆。其实那些规则是什么,我也不知道,有心的同学试试。

再次感谢@四毛的家。

开源.net 混淆器ConfuserEx相关推荐

  1. 测试开源.net 混淆器ConfuserEx

    由于公司业务需要简单的把代码加密混淆,于是了解了一下相关的工具然后打算用ConfuserEx试试. 开源地址:https://github.com/yck1509/ConfuserEx/ 下载地址:h ...

  2. 【新品发布】山海软件生产线pspl,包含了一个开源的混淆器

    山海软件生产线(个人版,简称pspl)是一个基于sea架构的的c#开发平台. 用于个体开发人员开发单机和C/S的应用软件,并且对软件开发过程提供相关的工具支持. 其后续版本为spl,用于支持虚拟团队进 ...

  3. 分享:几款代码混淆器(DotFuscator, .NET Reactor, xenocode)

    在介绍工具之前,我需要说明几点: 1.如果你编写的软件不涉及商业用途的话,本着开源的思想,本人不推荐使用代码混淆器 2.使用代码混淆器存在一定的风险,在使用前最好做好相关代码备份 3.凡是需要序列化成 ...

  4. 5个常用Java代码混淆器 助你保护你的代码

    [IT168 技术文档] 从事Java编程的人都知道,可以通过逆向工程反编译得到Java程序的源代码,这种反编译工具之一就是JAD.因此,为保护我们的劳动成果,尽可能给反编译人员制造障碍,我们可以使用 ...

  5. 使用VS自带的混淆器防止你的程序被反编译

    这里就介绍大家使用VS自带的混淆器dotfuscator.exe来阻止这种行为. 首先要做的找到dotfuscator.exe: D:/Microsoft Visual Studio .NET 200 ...

  6. 11大Java开源中文分词器的使用方法和分词效果对比

    2019独角兽企业重金招聘Python工程师标准>>> 本文的目标有两个: 1.学会使用11大Java开源中文分词器 2.对比分析11大Java开源中文分词器的分词效果 本文给出了1 ...

  7. Android项目:proguard混淆之常见开源项目混淆配置

    1.Gson混淆 ## ---------------------------------- ## ########## Gson混淆 ########## ## ------------------ ...

  8. .NET混淆器 Dotfuscator使用教程七:加强保护之改进重命名混淆

    本篇文章将继续上一篇文章<.NET混淆器 Dotfuscator使用教程六:加强保护之添加Checks>,为大家介绍加强保护之改进重命名混淆和改进控制流混淆. 下载Dotfuscator最 ...

  9. dofuscator C# 混淆器 原来如此

    dofuscator  作为C#代码的混淆器,其根本工作原理还是比较简单. 我们从它运行过程,输出的命令行,可以清晰的看出来. 1.它用ildasm反编译你的C#原始程序集(exe,或者dll),同时 ...

  10. .NET混淆器 Dotfuscator使用教程六:加强保护之添加Checks

    本篇文章将继续上一篇文章<.NET混淆器 Dotfuscator使用教程五:加强保护之自定义保护设置>,为大家介绍加强保护之添加Checks. 添加Checks Dotfuscator可以 ...

最新文章

  1. Navicat 2003-can't connect to MYSQL server on 'localhost'(10061)
  2. N个数的全排列 -------指定排头法
  3. 【CASS精品教程】CASS9.1土方量的计算方法汇总
  4. php 工资 2018,佛山市2018年平均工资(社平工资)
  5. React开发(282):公共组件可以提升一下文件层级
  6. java参数传入泛型类型_Java泛型参数界定到任何一个类型的范围
  7. C Linux 文件加锁 lock fcntl
  8. 图像处理中的空间域处理方法
  9. Android 手机进入不了fastboot模式的解决方案
  10. 扫描二维码进小程序指定页面
  11. JS获取ul中li的值同步到搜索框
  12. 弘辽科技:如何写出自带流量的标题
  13. python初学者入门小项目之一:在 cowpy中增加自己的人物头像
  14. 三星android7要更新8,三星Bixby Voice将停止支持安卓7.0/8.0,用户可以升级系统使用...
  15. 有关古文的C语言编程题,这80道国学题,既经典又有趣!值得珍藏!
  16. c#ip138自动获取代码
  17. 海中山——洋底的崇山峻岭
  18. 2022全域数据驱动增长指南:用户数据主权争夺战,品牌该出手了
  19. Python字典dict基础学习
  20. 企业电子招标采购系统源码功能清单

热门文章

  1. 第二个项目---EMOS企业在线办公小程序
  2. Win10如何ping端口是否开放
  3. android 编写优质代码,GitHub - RayFantasyStudio/iCode-Android: 为开发者而生,提供在线代码存放,展示你优秀代码的平台...
  4. win10商店下载位置_win10应用商店下载的东西在哪
  5. 计算机execl必背知识点,【分享】Excel必备基础知识(1)
  6. wwwscan批处理配置
  7. 第九章 软件项目风险管理
  8. T430s BIOS白名单破解
  9. 数据结构——“双向循环链表“ 易懂刨析双向循环链表(图解+代码)
  10. 克拉克变换(Clarke Transformation)