今天给大家介绍一个开源.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

  • 选择Packer
  • Modules->ConsoleTest.exe
  • 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,成功。

来自:http://www.cnblogs.com/zhangzhi19861216/p/3937434.html

ConfuserEx相关推荐

  1. 给大家推荐一个.Net的混淆防反编译工具ConfuserEx

    给大家推荐一个.Net的混淆防反编译工具ConfuserEx. 由于项目中要用到.Net的混淆防反编译工具. 在网上找了很多.Net混淆或混淆防反编译工具,如.NET Reactor.Dotfusca ...

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

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

  3. msbuild ConfuserEx.Build 加密

    https://www.nuget.org/packages/ConfuserEx.Build/ <?xml version="1.0" encoding="utf ...

  4. c# 混淆工具ConfuserEx

    github:https://github.com/mkaring/ConfuserEx 使用方式: 加密规则详解 As for the protections:关于保护: AntiTamper: T ...

  5. GitHub上整理的一些工具【转载】

    技术站点Hacker News:非常棒的针对编程的链接聚合网站Programming reddit:同上MSDN:微软相关的官方技术集中地,主要是文档类infoq:企业级应用,关注软件开发领域OSCh ...

  6. .NET福利集锦【持续整理中】

    2019独角兽企业重金招聘Python工程师标准>>> [2017-04-17] .NET Xilium.CefGlue:基于CEF框架的.NET封装,基于.NET开发Chrome内 ...

  7. (转)✈工欲善其事,必先利其器✔™

    附:我在GitHub上整理的一些资料 技术站点 Hacker News:非常棒的针对编程的链接聚合网站 Programming reddit:同上 MSDN:微软相关的官方技术集中地,主要是文档类 i ...

  8. 程序员整理的各种不错的工具

    技术站点 Hacker News:非常棒的针对编程的链接聚合网站 Programming reddit:同上 MSDN:微软相关的官方技术集中地,主要是文档类 infoq:企业级应用,关注软件开发领域 ...

  9. .Net Web开发技术栈

    有很多朋友有的因为兴趣,有的因为生计而走向了.Net中,有很多朋友想学,但是又不知道怎么学,学什么,怎么系统的学,为此我以我微薄之力总结归纳写了一篇.Net web开发技术栈,以此帮助那些想学,却不知 ...

  10. Winform 打包 混淆 自动更新

    路径: 最终的解决方案是,ConfuserEx+Installshield+AutoUpdater.NET,ConfuserEx做代码混淆工作,Installshield可以解决注册表的问题,Auto ...

最新文章

  1. Keepalived实现LVS-DR双机热备_2015101601
  2. Docker源码分析(十):Docker镜像下载
  3. BetterFE 前端技术周刊 - 2019/04/15
  4. 将更新面板的显示内容清除的代码实现;_免费开源:墨涩必应壁纸网盘系统1.0(自动壁纸更新免维护)
  5. 网络拓扑发现原理研究
  6. Redhat 6.5安装JDK和Tomcat小记
  7. 计算理论导论第1章答案 Michael Sipser
  8. Oracle中Having子句的意思
  9. 掌上生活显示服务器忙,掌上生活服务端
  10. Android屏幕适配
  11. SQL Server 2008 简体中文正式版下载地址(附序列号)
  12. 网站自动链接SEO优化技巧
  13. HTTP 请求方法(GET、POST 和 PUT)
  14. 如何将本地的项目推送至git仓库
  15. oracle中的open,oracle数据库启动从nomount到open
  16. PSD-BPA光伏仿真求助
  17. 微服务架构图_漫谈何时从单体架构迁移到微服务?
  18. 信息安全:使用 Openssl 加密库进行编程
  19. Windowsnbsp;XP自动开关机的实现
  20. 城市景观类毕业论文文献有哪些?

热门文章

  1. windows 2012 nps认证cisco、h3c(comware5)交换机radius认证
  2. HTTP错误状态码详解
  3. a标签下载pdf文件
  4. 如何简单地将工资单发给员工?
  5. java jshelllink_Jshell使用
  6. python图像识别生成矢量图_Python matplotlib图片转化成矢量图并裁剪 - 小众知识
  7. 将iTunes音乐传输到USB驱动器以在汽车中收听
  8. JavaScript获取浏览器高度和宽度值
  9. 高德地图引入热力图插件失败
  10. HashMap底层实现原理详解