ConfuserEx
今天给大家介绍一个开源.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,成功。
ConfuserEx相关推荐
- 给大家推荐一个.Net的混淆防反编译工具ConfuserEx
给大家推荐一个.Net的混淆防反编译工具ConfuserEx. 由于项目中要用到.Net的混淆防反编译工具. 在网上找了很多.Net混淆或混淆防反编译工具,如.NET Reactor.Dotfusca ...
- 测试开源.net 混淆器ConfuserEx
由于公司业务需要简单的把代码加密混淆,于是了解了一下相关的工具然后打算用ConfuserEx试试. 开源地址:https://github.com/yck1509/ConfuserEx/ 下载地址:h ...
- msbuild ConfuserEx.Build 加密
https://www.nuget.org/packages/ConfuserEx.Build/ <?xml version="1.0" encoding="utf ...
- c# 混淆工具ConfuserEx
github:https://github.com/mkaring/ConfuserEx 使用方式: 加密规则详解 As for the protections:关于保护: AntiTamper: T ...
- GitHub上整理的一些工具【转载】
技术站点Hacker News:非常棒的针对编程的链接聚合网站Programming reddit:同上MSDN:微软相关的官方技术集中地,主要是文档类infoq:企业级应用,关注软件开发领域OSCh ...
- .NET福利集锦【持续整理中】
2019独角兽企业重金招聘Python工程师标准>>> [2017-04-17] .NET Xilium.CefGlue:基于CEF框架的.NET封装,基于.NET开发Chrome内 ...
- (转)✈工欲善其事,必先利其器✔™
附:我在GitHub上整理的一些资料 技术站点 Hacker News:非常棒的针对编程的链接聚合网站 Programming reddit:同上 MSDN:微软相关的官方技术集中地,主要是文档类 i ...
- 程序员整理的各种不错的工具
技术站点 Hacker News:非常棒的针对编程的链接聚合网站 Programming reddit:同上 MSDN:微软相关的官方技术集中地,主要是文档类 infoq:企业级应用,关注软件开发领域 ...
- .Net Web开发技术栈
有很多朋友有的因为兴趣,有的因为生计而走向了.Net中,有很多朋友想学,但是又不知道怎么学,学什么,怎么系统的学,为此我以我微薄之力总结归纳写了一篇.Net web开发技术栈,以此帮助那些想学,却不知 ...
- Winform 打包 混淆 自动更新
路径: 最终的解决方案是,ConfuserEx+Installshield+AutoUpdater.NET,ConfuserEx做代码混淆工作,Installshield可以解决注册表的问题,Auto ...
最新文章
- Keepalived实现LVS-DR双机热备_2015101601
- Docker源码分析(十):Docker镜像下载
- BetterFE 前端技术周刊 - 2019/04/15
- 将更新面板的显示内容清除的代码实现;_免费开源:墨涩必应壁纸网盘系统1.0(自动壁纸更新免维护)
- 网络拓扑发现原理研究
- Redhat 6.5安装JDK和Tomcat小记
- 计算理论导论第1章答案 Michael Sipser
- Oracle中Having子句的意思
- 掌上生活显示服务器忙,掌上生活服务端
- Android屏幕适配
- SQL Server 2008 简体中文正式版下载地址(附序列号)
- 网站自动链接SEO优化技巧
- HTTP 请求方法(GET、POST 和 PUT)
- 如何将本地的项目推送至git仓库
- oracle中的open,oracle数据库启动从nomount到open
- PSD-BPA光伏仿真求助
- 微服务架构图_漫谈何时从单体架构迁移到微服务?
- 信息安全:使用 Openssl 加密库进行编程
- Windowsnbsp;XP自动开关机的实现
- 城市景观类毕业论文文献有哪些?