本帖最后由 小小随 于 2021-1-4 19:39 编辑
前言:天骥脱机,早在十年前就已经停运。目前网络上也找不到下载的版本,这个程序是从十年前的笔记本硬盘中提取出来的,破解并不是为了不予缴纳授权费用,而是因为服务器停运,所以软件无法使用。我是一个尊重版权的人,基本上收费的软件电脑中都有,好了话不多说,我们看图文吧。
原帖求助:https://www.52pojie.cn/thread-1340572-1-1.html
感谢:
@Hmily
老大的指点。这里也希望0新手和我一样的人,多搜索,善变通。不要依赖工具但也不能没有工具。
视频教程:https://www.52pojie.cn/thread-582852-1-1.html 本人看完之后才动手脱壳的(ximo老师十几年前讲的视频是真的好,到现在学都是受益匪浅。)。
如果有哪些地方讲的不够好,请评论指出,我会一点点的修正文章的内容。
只提供脱壳部分以及修复IAT部分,完成这些剩下的diy工作就看你们自己了。不提供成品对不起大佬们。
首先拿出我们的PEID查壳,发现什么都没有。
接下来我们看入口函数
发现是一个diy的入口函数。
接下来我们dump程序。
再一次查壳
发现是 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我们开始脱壳。
真正的程序代码被写入到正确的引导内存位置。
Ctrl+A 我们分析一下代码。
开始 dump
dump程序后才是真正脱壳的开始。虽然OEP保护外壳已经被pass,但是我们还要做大量的工作。就是修复IAT。
我们随便找一个被VM过的JMP代码一路回车键跟进去。
真正调用API的地址。
修复后的IAT调用表。
附赠两个自创函数
[Asm] 纯文本查看 复制代码
// 去CRC校验函数
00547384 /$ E8 A7C0EBFF call 00403430
00547389 |. 8B9C24 10020000 mov ebx, dword ptr ss:[esp+0x210]
00547390 |. 895D F0 mov dword ptr ss:[ebp-0x10], ebx
00547393 \. C3 retn
// 随机张号函数 (用于进程多开) 非暴力手段 纯函数代码实现
00547396 /$ 55 push ebp
00547397 |. 8BEC mov ebp, esp
00547399 |. 53 push ebx
0054739A |. 68 AC605200 push 005260AC ; ASCII "GIFRES"
0054739F |. 68 B4605200 push 005260B4 ; ASCII "g1"
005473A4 |. 8B0D 68D65400 mov ecx, dword ptr ds:[0x54D668] ; v13.00400000
005473AA |. B2 01 mov dl, 0x1
005473AC |. A1 4C7A4100 mov eax, dword ptr ds:[0x417A4C]
005473B1 |. E8 425CEDFF call 0041CFF8
005473B6 |. 8BD8 mov ebx, eax
005473B8 |. 36:8D05 80085500 lea eax, dword ptr ss:[0x550880]
005473BF |. E8 B0ECFFFF call 00546074
005473C4 |. 5B pop ebx
005473C5 |. 8BE5 mov esp, ebp
005473C7 |. 5D pop ebp
005473C8 \. C3 retn
手动修复IAT需要大量的时间,做着既简单又烦躁的事情,需要有一定的耐心。你会重复到头疼,颈椎疼,请不要过度劳累。
另外程序都有暗装,需要一定的耐心去分析调试。
脱壳结果
|