本帖只是分析net混淆的安全性,不存在其它因素。如果有幸让软件作者看到,还请作者谅解……
一、未注册。30天试用,核心功能不可用。
1.png (242.04 KB, 下载次数: 0)
下载附件
2021-1-29 18:49 上传
2.png (76.27 KB, 下载次数: 0)
下载附件
2021-1-29 18:24 上传
二、查壳。
3.png (57.91 KB, 下载次数: 1)
下载附件
2021-1-29 18:24 上传
4.png (56.82 KB, 下载次数: 0)
下载附件
2021-1-29 18:24 上传
混淆情况:VBACodeAssistantPro.dll保留了函数名……
如VBACodeAssistantPro----MV类:
3.1.png (101.07 KB, 下载次数: 0)
下载附件
2021-1-29 18:24 上传
E8Runtime.dll混淆的厉害:
3.2.png (91.96 KB, 下载次数: 0)
下载附件
2021-1-29 18:24 上传
以前分析过低版本,只有VBACodeAssistantPro.dll,没有E8Runtime.dll,现在作者提高了意识,将VBACodeAssistantPro.dll中关键内容抽取到E8Runtime.dll中进行了混淆……
但,百密一疏就是VBACodeAssistantPro的符号保留了,给人留下下手机会……
三、开启dnSpy6.18调试。
5.png (64.03 KB, 下载次数: 0)
下载附件
2021-1-29 18:24 上传
四、下第一个断点:既然有时间限制,通过简单查找,在VBACodeAssistantPro—MV类下发现可疑函数,下个断点:
6.png (88.61 KB, 下载次数: 0)
下载附件
2021-1-29 18:24 上传
下好后,单击调试位置处的“重新开始”……
在Excel中进入vba环境,断点断下……
7.png (79.09 KB, 下载次数: 1)
下载附件
2021-1-29 18:24 上传
打开“堆栈窗口”,逐个查看可疑情况,这条可疑……
> E8Runtime.dll!Subl3U=.oHs=.p3s=(A_1 As l3U=.bnY=) (IL≈&H0C7D,Native=&H0B0E1070+&H2850)
8.png (217.54 KB, 下载次数: 0)
下载附件
2021-1-29 18:25 上传
双击过去……
一堆混淆……
接下来,就是在函数头下断,单击调试位置处的“重新开始”,重新运行程序并进入vba环境让它加载dll……
断在函数头后,然后F10逐过程调试……
打开“局部变量”窗口……
盯着它,F10一直下走……
通过F10跟踪,你会发现,含有变量obj2的行就是很有意思的行……
该函数所有obj2的行全部下断,看看都有些什么?机器码,软件版本,系统时间,软件到期时间,全部出来……
9.png (110.17 KB, 下载次数: 0)
下载附件
2021-1-29 18:25 上传
10.png (108.19 KB, 下载次数: 0)
下载附件
2021-1-29 18:25 上传
11.png (94.17 KB, 下载次数: 0)
下载附件
2021-1-29 18:25 上传
由此可见,混淆这个东西,内存这块是个突破口……
呵呵呵,有了这些东西,想想你可以干什么?改版本,改时间啊啊啊……
通过搜索字符串“免费版”,可以看到软件的各种版本:
12.png (28.73 KB, 下载次数: 1)
下载附件
2021-1-29 18:25 上传
在以下位置尝试更改一下版本……
13.png (134.27 KB, 下载次数: 0)
下载附件
2021-1-29 18:25 上传
298行执行后,obj2变量的值为:“免费版”……
尝试更改为“旗舰版”……
右击298行,编辑IL指令……
将以下多余指令nop掉,强行赋值为“旗舰版”……
14.png (22.51 KB, 下载次数: 1)
下载附件
2021-1-29 18:25 上传
15.png (20.65 KB, 下载次数: 1)
下载附件
2021-1-29 18:25 上传
修改语句为:
16.1.png (19.8 KB, 下载次数: 0)
下载附件
2021-1-29 18:30 上传
点击“保存所有”,保存修改内容。
提示,请事先备份一个副本,以免修改出错好还原继续。
这里需要注意的是,dnSpy修改的内容必须保存才生效,如果你修改没有保存,它执行的仍然是原来的代码,我曾经在这里转了很多弯……
如果保存出错,请停止调试,即关闭Excel,解除dll占用,再保存……
17.png (40.55 KB, 下载次数: 0)
下载附件
2021-1-29 18:49 上传
单击菜单中的“授权信息”,查看一下修改结果:
18.png (74.6 KB, 下载次数: 0)
下载附件
2021-1-29 18:25 上传
已经是旗舰版了,再来看看菜单中“代码库管理”中的导入、导出功能是否可用……
19.png (147.19 KB, 下载次数: 0)
下载附件
2021-1-29 18:25 上传
成功导出,说明成功……接下来,处理版本到期时间,强行赋值一个日期,最终如下……
20.png (79.59 KB, 下载次数: 1)
下载附件
2021-1-29 18:25 上传
处理到期时间与处理软件版本一样,这里就让聪明的大家去玩了,我就不废话了……
后记:
软件安全真是一个永恒的话题,什么混淆啊,加壳啊,都不能保证绝对安全……
所以在保护上,手段要多,花样要新,特别是敏感的字符串,符号名,函数名等一定要抹掉,这样才能最大程度减少损失……
最后声明:
不提供成品补丁,不提供成品补丁,不提供成品补丁!
如果喜欢,请购买支持正版!!!