首页
社区
课程
招聘
[原创] Movavi Academic 2020分析和Patch
发表于: 2020-5-10 12:08 4110

[原创] Movavi Academic 2020分析和Patch

2020-5-10 12:08
4110

因为要给孩子做点视频啥的,就找到这个工具,当然网络上也有某大神的破解结果,不过他的补丁做了保护,作为强迫症,对于杀毒软件的提示是不能忍受的,就撸了一下它。
版本信息:直接官网下载的最新版本。
图片描述

开始上调试器没有做反调试,程序会退出,虽然没有做很强的保护。

图片描述

先在软件的激活框随便输入点啥,提示:XXXXXX-XXXXX-XXXXX-XXXXX-XXXXX-XXXXX-XXXXX,因为这个是QT实现,肯定有一些逻辑在DLL中。
通过对文件内搜索,在Application.dll内找到它的位置。
地址=000007FEB4661338
反汇编=lea r8,qword ptr ds:[7FEB467A830]
字符串="<b>Activation error.</b><br><br>Please check if the key has the following format XXXXXX-XXXXX-XXXXX-XXXXX-XXXXX-XXXXX-XXXXX and try again."
地址=000007FEB4661338
反汇编=lea r8,qword ptr ds:[7FEB467A830]
字符串="<b>Activation error.</b><br><br>Please check if the key has the following format XXXXXX-XXXXX-XXXXX-XXXXX-XXXXX-XXXXX-XXXXX and try again."
设置断点后,停止下来:

正则如下:^\d{6}-\d{5}-\d{5}-\d{5}-\d{5}-\d{5}-\d{5}$,通过这个表达式验证,发现应该Key全为数字,再次构造一个KEY:
123456-12345-12345-12345-12345-12345-12345
这次断点在了academic.exe内部,从给出的破解也是这个文件,所以具体去分析一下:
000000013F177DFC | 48:81EC 70010000 | sub rsp,170 |
000000013F177E03 | 48:8B05 EEC90A00 | mov rax,qword ptr ds:[13F2247F8] |
000000013F177E0A | 48:33C4 | xor rax,rsp |
000000013F177E0D | 48:8945 60 | mov qword ptr ss:[rbp+60],rax |
000000013F177E11 | 48:8BFA | mov rdi,rdx <------ |
000000013F177E14 | 48:8BD9 | mov rbx,rcx |
000000013F177E17 | 48:895424 58 | mov qword ptr ss:[rsp+58],rdx |
000000013F177E1C | 33F6 | xor esi,esi |
对应的函数:sub_140067DF0(int64 a1, int64 a2)
输入后,得到注册失败,监控网络注册过程:
图片描述
地址=000000013F11A239
反汇编=lea rcx,qword ptr ds:[13F1F4C88]
字符串=http://activations.movavi.com/activate3.php
地址=000000013F11A269
反汇编=lea rcx,qword ptr ds:[13F1F4CB8]
字符串=http://activations.movavi.com/key/check_expiration
并没有想着去破解在线注册,看到它可以通过离线注册,就查看了一下逻辑:
图片描述
从上面的逻辑,应该是发邮件给提供商,会给提供一个码,填进去就OK了!!!先随便输入一个后,程序停了下来:

可以看到我输入的码信息:全为11,对应函数为:
Offline_key = ^([\dA-Z]{8}-){15}[\dA-Z]{8}$
构建KEY:
12345678-12345678-12345678-12345678-12345678-12345678-12345678-12345678-12345678-12345678-12345678-12345678-12345678-12345678-12345678-12345678
到这里就进入到函数:sub_1400558F0
因为字符串没有混淆,做了Patch,以为就可以破解了,结果程序直接奔溃了:

很奇怪是吧,这段地址都不在代码段,重新试了一次,发现程序通过内存位置,进入了一个dll函数调用:
图片描述
图片描述
而且分析它的代码发现它是加密的,这个应该是做了保护的本地认证模块了。


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 1
支持
分享
最新回复 (2)
雪    币: 259
活跃值: (283)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
已阅
2020-5-10 21:11
0
雪    币: 26398
活跃值: (63257)
能力值: (RANK:135 )
在线值:
发帖
回帖
粉丝
3
感谢分享~
2020-5-11 15:13
0
游客
登录 | 注册 方可回帖
返回
//