前言:天骥脱机,早在十年前就已经停运。目前网络上也找不到下载的版本,这个程序是从十年前的笔记本硬盘中提取出来的,破解并不是为了不予缴纳授权费用,而是因为服务器停运,所以软件无法使用。我是一个尊重版权的人,基本上收费的软件电脑中都有,好了话不多说,我们看图文吧。
原帖求助:https://www.52pojie.cn/thread-1340572-1-1.html
感谢:
@Hmily
老大的指点。这里也希望0新手和我一样的人,多搜索,善变通。不要依赖工具但也不能没有工具。
视频教程:https://www.52pojie.cn/thread-582852-1-1.html 本人看完之后才动手脱壳的(ximo老师十几年前讲的视频是真的好,到现在学都是受益匪浅。)。
如果有哪些地方讲的不够好,请评论指出,我会一点点的修正文章的内容。
只提供脱壳部分以及修复IAT部分,完成这些剩下的diy工作就看你们自己了。不提供成品对不起大佬们。
5.png
接下来我们看入口函数
1.png
发现是一个diy的入口函数。
接下来我们dump程序。
3.png
再一次查壳
4.png
6.png
发现是 VMProtect 1.7.x-2.1.x 版本的。
那么我们知道是什么壳就比较好入手了。
1.先去52搜索脚本,拿到3个脚本【VMProtect Ultra Unpacker 1.0.txt】【VMProtect Ultra Unpacker 1.0.txt】【VProtect 1.x - 2.x Direct IAT Unpacker 1.0.txt】
经测试得出,只有【VProtect 1.x - 2.x Direct IAT Unpacker 1.0.txt】可以顺利的跑到OEP,也就是真正的入口函数,其他两个脚本均跑不到OEP,或者是我不会使用尽情理解(因为比较菜)。
2.下内存属性写入断点,接下来下硬件内存访问断点,在 00401000处。
3.拿到OEP我们开始脱壳。
7.png
真正的程序代码被写入到正确的引导内存位置。
8.png
Ctrl+A 我们分析一下代码。
9.png
开始 dump
10.png
dump程序后才是真正脱壳的开始。虽然OEP保护外壳已经被pass,但是我们还要做大量的工作。就是修复IAT。
我们随便找一个被VM过的JMP代码一路回车键跟进去。
11.png
12.png
13.png
14.png
15.png
16.png
真正调用API的地址。
17.png
修复后的IAT调用表。
xxx.png
附赠两个自创函数
[Asm]
纯文本查看 复制代码
// 去CRC校验函数00547384 /$ E8 A7C0EBFF call 0040343000547389 |. 8B9C24 10020000 mov ebx, dword ptr ss:[esp+0x210]00547390 |. 895D F0 mov dword ptr ss:[ebp-0x10], ebx00547393 \. C3 retn// 随机张号函数 (用于进程多开) 非暴力手段 纯函数代码实现00547396 /$ 55 push ebp00547397 |. 8BEC mov ebp, esp00547399 |. 53 push ebx0054739A |. 68 AC605200 push 005260AC ; ASCII "GIFRES"0054739F |. 68 B4605200 push 005260B4 ; ASCII "g1"005473A4 |. 8B0D 68D65400 mov ecx, dword ptr ds:[0x54D668] ; v13.00400000005473AA |. B2 01 mov dl, 0x1005473AC |. A1 4C7A4100 mov eax, dword ptr ds:[0x417A4C]005473B1 |. E8 425CEDFF call 0041CFF8005473B6 |. 8BD8 mov ebx, eax005473B8 |. 36:8D05 80085500 lea eax, dword ptr ss:[0x550880]005473BF |. E8 B0ECFFFF call 00546074005473C4 |. 5B pop ebx005473C5 |. 8BE5 mov esp, ebp005473C7 |. 5D pop ebp005473C8 \. C3 retn
CRC.png
随机账号.png
手动修复IAT需要大量的时间,做着既简单又烦躁的事情,需要有一定的耐心。你会重复到头疼,颈椎疼,请不要过度劳累。
最终效果.png
游戏效果.png