开源.net 混淆器ConfuserEx
开源.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相关推荐
- 测试开源.net 混淆器ConfuserEx
由于公司业务需要简单的把代码加密混淆,于是了解了一下相关的工具然后打算用ConfuserEx试试. 开源地址:https://github.com/yck1509/ConfuserEx/ 下载地址:h ...
- 【新品发布】山海软件生产线pspl,包含了一个开源的混淆器
山海软件生产线(个人版,简称pspl)是一个基于sea架构的的c#开发平台. 用于个体开发人员开发单机和C/S的应用软件,并且对软件开发过程提供相关的工具支持. 其后续版本为spl,用于支持虚拟团队进 ...
- 分享:几款代码混淆器(DotFuscator, .NET Reactor, xenocode)
在介绍工具之前,我需要说明几点: 1.如果你编写的软件不涉及商业用途的话,本着开源的思想,本人不推荐使用代码混淆器 2.使用代码混淆器存在一定的风险,在使用前最好做好相关代码备份 3.凡是需要序列化成 ...
- 5个常用Java代码混淆器 助你保护你的代码
[IT168 技术文档] 从事Java编程的人都知道,可以通过逆向工程反编译得到Java程序的源代码,这种反编译工具之一就是JAD.因此,为保护我们的劳动成果,尽可能给反编译人员制造障碍,我们可以使用 ...
- 使用VS自带的混淆器防止你的程序被反编译
这里就介绍大家使用VS自带的混淆器dotfuscator.exe来阻止这种行为. 首先要做的找到dotfuscator.exe: D:/Microsoft Visual Studio .NET 200 ...
- 11大Java开源中文分词器的使用方法和分词效果对比
2019独角兽企业重金招聘Python工程师标准>>> 本文的目标有两个: 1.学会使用11大Java开源中文分词器 2.对比分析11大Java开源中文分词器的分词效果 本文给出了1 ...
- Android项目:proguard混淆之常见开源项目混淆配置
1.Gson混淆 ## ---------------------------------- ## ########## Gson混淆 ########## ## ------------------ ...
- .NET混淆器 Dotfuscator使用教程七:加强保护之改进重命名混淆
本篇文章将继续上一篇文章<.NET混淆器 Dotfuscator使用教程六:加强保护之添加Checks>,为大家介绍加强保护之改进重命名混淆和改进控制流混淆. 下载Dotfuscator最 ...
- dofuscator C# 混淆器 原来如此
dofuscator 作为C#代码的混淆器,其根本工作原理还是比较简单. 我们从它运行过程,输出的命令行,可以清晰的看出来. 1.它用ildasm反编译你的C#原始程序集(exe,或者dll),同时 ...
- .NET混淆器 Dotfuscator使用教程六:加强保护之添加Checks
本篇文章将继续上一篇文章<.NET混淆器 Dotfuscator使用教程五:加强保护之自定义保护设置>,为大家介绍加强保护之添加Checks. 添加Checks Dotfuscator可以 ...
最新文章
- Navicat 2003-can't connect to MYSQL server on 'localhost'(10061)
- N个数的全排列 -------指定排头法
- 【CASS精品教程】CASS9.1土方量的计算方法汇总
- php 工资 2018,佛山市2018年平均工资(社平工资)
- React开发(282):公共组件可以提升一下文件层级
- java参数传入泛型类型_Java泛型参数界定到任何一个类型的范围
- C Linux 文件加锁 lock fcntl
- 图像处理中的空间域处理方法
- Android 手机进入不了fastboot模式的解决方案
- 扫描二维码进小程序指定页面
- JS获取ul中li的值同步到搜索框
- 弘辽科技:如何写出自带流量的标题
- python初学者入门小项目之一:在 cowpy中增加自己的人物头像
- 三星android7要更新8,三星Bixby Voice将停止支持安卓7.0/8.0,用户可以升级系统使用...
- 有关古文的C语言编程题,这80道国学题,既经典又有趣!值得珍藏!
- c#ip138自动获取代码
- 海中山——洋底的崇山峻岭
- 2022全域数据驱动增长指南:用户数据主权争夺战,品牌该出手了
- Python字典dict基础学习
- 企业电子招标采购系统源码功能清单
热门文章
- 第二个项目---EMOS企业在线办公小程序
- Win10如何ping端口是否开放
- android 编写优质代码,GitHub - RayFantasyStudio/iCode-Android: 为开发者而生,提供在线代码存放,展示你优秀代码的平台...
- win10商店下载位置_win10应用商店下载的东西在哪
- 计算机execl必背知识点,【分享】Excel必备基础知识(1)
- wwwscan批处理配置
- 第九章 软件项目风险管理
- T430s BIOS白名单破解
- 数据结构——“双向循环链表“ 易懂刨析双向循环链表(图解+代码)
- 克拉克变换(Clarke Transformation)