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

http://yck1509.github.io/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时,有很多混淆规则,我们可以按照自己的方式混淆。其实那些规则是什么,我也不知道,有心的同学试试。

再次感谢@四毛的家。

转载于:https://www.cnblogs.com/zhangzhi19861216/p/3937434.html

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

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

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

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

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

  3. 介绍当前流行的一些开源Flash视频播放器

    栏目导航 Java开源 OPEN文档 OPEN搜索 OPEN家园 OPEN资讯 提交开源项目 A Accordion AutoComplete Animation C Calendar Charts ...

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

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

  5. 开源项目与J2EE架构介绍

    2 开源项目与J2EE架构介绍 2.1.1开源软件简介   什么是开源软件: 开源软件的英文为Open Source Software,简称为OSS.开放源代码软件就是在开放源代码许可证下发布的软件, ...

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

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

  7. 【翻译】安卓新播放器EXOplayer介绍

    [翻译]安卓新播放器EXOplayer介绍 http://developer.android.com/guide/topics/media/exoplayer.html 前言: Playing vid ...

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

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

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

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

  10. vc 将已有项目打包成dll 并应用于其他项目_.NET混淆器 Dotfuscator使用教程:保护你的应用之存档报告文件...

    Dotfuscator是一款.NET混淆器和压缩器,防止你的应用程序被反编译. 本篇文章将继续上一篇文章与大家分享保护应用程序的后续三个部分:存档报告文件.加强保护和替代方法. 存档报告文件 作为构建 ...

最新文章

  1. UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0xb0 in position 0: invalid start byte
  2. 蓝桥杯 ALGO-66 算法训练 字符串编辑
  3. 移动端测试必须具备的技能
  4. w讠ndows Boot Manager,开机出现windows boot manager的解决方法和步骤(图文教程)
  5. IDEA和Webstorm主题配色
  6. gcc下载及安装教程
  7. 外行人都能看得懂的机器学习,错过了血亏!
  8. 医学自然语言处理(NLP)相关论文汇总之 NAACL 2022
  9. 对自然数e的理解,推导(基础)
  10. Excel数据分析入门-数据透视表
  11. 如何VUE写桌面应用(electron)
  12. 最大回撤python_最大回撤,最大回撤恢复时间与最大回撤持续期
  13. 示例-Luat示例-HTTP
  14. 信息搜集:网络空间搜索引擎(Shodan)语法及API应用案例
  15. 儒略历--Java代码(附带发现了一些问题)
  16. 自定义数据字典工具类
  17. How to be a qualified interviewer?
  18. 大雁塔尺寸_仅用一张A4纸和计算器针对西安大雁塔高度的测量
  19. 山东自然人电子税务局(扣缴端)_自然人电子税务局扣缴客户端升级要点, 不要错过!...
  20. Chrome 开发工具之Sources

热门文章

  1. python实现K近邻算法
  2. matlab牛顿插值法
  3. 配电室配套设施轨道巡检机器人及辅助监控系统
  4. cubemx6.0配置touchgfx 正点原子触摸屏,touchgfx添加触摸驱动
  5. 【“免费”Windows优秀软件推荐】:Groupy——窗口皆可浏览器标签化
  6. android screencap 源码,android后台截屏实现(3)--编译screencap
  7. win10安装steam有损计算机,Win10专业版无法安装steam软件怎么办?
  8. WebUI自动化测试框架搭建从0到1(完整源码)更新完毕
  9. FastDFS详细安装步骤,测试;Nginx中配置FastDFS,并提供优化,下载方法,楼主已测
  10. 【AI应用】海康威视iVMS-4200软件安装