好友
阅读权限25
听众
最后登录1970-1-1
|
首先Peid查壳 ASPack 2.12 -> Alexey Solodovnikov
Peid的插件直接能脱 这里我详细点 就用OllyDbg脱
载入OllyDBG
00554001 > 60 pushad 程序停在这里
00554002 E8 03000000 call qqtk.0055400A 用ESP定律....
00554007 - E9 EB045D45 jmp 45B244F7
..................................
。。。省略。。。。
..................................
005543B0 /75 08 jnz short qqtk.005543BA ESP定律到 这里
005543B2 |B8 01000000 mov eax,1 F8
005543B7 |C2 0C00 retn 0C F8
005543BA \68 341D4100 push qqtk.00411D34 F8
005543BF C3 retn F8 注意这里将跳到OEP
..................................
。。。省略。。。。
..................................
00411D34 55 push ebp OEP到了
脱壳 脱完运行软件发现能运行
Peid 查壳 Microsoft Visual C++ 6.0
脱下来了 现在我们来去弹窗 打开软件 然后关闭软件 弹出来的地址记录下来
然后C32Asm打开 Ctrl+F 查找刚刚那个地址 找到用00填充掉OK
当然用OllyDBG 也能去 这里我就不写了
弹窗去掉
我们现在来破解它 先运行已脱壳的软件 点下注册 随便输入一个注册码 看看有什么错误提示
看到 "注册失败,无效注册码"
载入OllyDBG 查找ASCII (C++的程序一般用ASCII 要是VB的就用Unicode)"注册失败,无效注册码"
发现找不到 怎么办呢 那我们就用第2种方法
Ctrl+F2重新载入 F9运行软件 发现软件运行起来 点注册 随便输入注册码 点注册 弹出提示框 不要
动了 去到OllyDBG 按F12 然后点OllyDBG上的 K 看到如下:
调用堆栈: 主线程
地址 堆栈 函数过程 / 参数 调用来自 结构
0012C884 77D19418 包含ntdll.KiFastSystemCallRet USER32.77D19416 0012C8B8
0012C888 77D2770A USER32.WaitMessage USER32.77D27705 0012C8B8
0012C8BC 77D249C4 USER32.77D2757B USER32.77D249BF 0012C8B8
0012C8E4 77D3A956 USER32.77D2490E USER32.77D3A951 0012C8E0
0012CBA4 77D3A2BC USER32.SoftModalMessageBox USER32.77D3A2B7 0012CBA0
0012CCF4 77D663FD USER32.77D3A147 USER32.77D663F8 0012CCF0
0012CD4C 77D664A2 USER32.MessageBoxTimeoutW USER32.77D6649D 0012CD48
0012CD80 77D50877 ? USER32.MessageBoxTimeoutA USER32.77D50872 0012CD7C
0012CDA0 77D5082F ? USER32.MessageBoxExA USER32.77D5082A 0012CD9C
0012CDA4 000E03F4 hOwner = 000E03F4 ('软件注册',clas
0012CDA8 005152C8 Text = "注册失败,无效的注册码"
0012CDAC 003952E8 Title = "qqtk_unpacked"
0012CDB0 00000030 Style = MB_OK|MB_ICONEXCLAMATION|M
0012CDB4 00000000 LanguageID = 0 (LANG_NEUTRAL)
0012CDBC 73D49872 ? USER32.MessageBoxA MFC42.73D4986C 0012CDB8 双击这里
0012CDC0 000E03F4 hOwner = 000E03F4 ('软件注册',clas
0012CDC4 005152C8 Text = "注册失败,无效的注册码"
0012CDC8 003952E8 Title = "qqtk_unpacked"
0012CDCC 00000030 Style = MB_OK|MB_ICONEXCLAMATION|M
双击
0012CDBC 73D49872 ? USER32.MessageBoxA MFC42.73D4986C 0012CDB8
来到
77D507EA > 8BFF mov edi,edi 断下
然后Ctrl+F2 重新载入 F9运行 点注册 随便输入一个注册码 确定看看 发现OllyDBG断下
77D507EA > 8BFF mov edi,edi 断点处 F8向下走一步
77D507EC 55 push ebp 注册码出现处
77D507ED 8BEC mov ebp,esp
77D507EF 833D BC14D777 0>cmp dword ptr ds:[0x77D714BC],0x0
77D507F6 74 24 je short USER32.77D5081C
77D507F8 64:A1 18000000 mov eax,dword ptr fs:[0x18]
77D507FE 6A 00 push 0x0
77D50800 FF70 24 push dword ptr ds:[eax+0x24]
77D50803 68 241BD777 push USER32.77D71B24
77D50808 FF15 C412D177 call dword ptr ds:[<&KERNEL32.Interlocke>; kernel32.InterlockedCompareExchange 弹出错误提示call
F8走一步 看堆栈窗口
0012CDBC 73D49872 返回到 MFC42.#AfxMessageBox_1200+0FB 来自 USER32.MessageBoxA
0012CDC0 001403AC
0012CDC4 005152C8 qqtk_unp.005152C8
0012CDC8 003A5930 ASCII "qqtk_unpacked"
0012CDCC 00000030
0012CDD0 003A50A0 ASCII "553c3f46" 真的注册码
0012CDD4 0012D910
0012CDD8 00000000
然后我们来做一个注册机 打开keymake
点注其他 内存注册机 浏览 选择软件我们刚刚破解的这个(加壳的)
添加
中断位置 77D507EC
中断次数 1
第一字节 55
OK 保存
本人菜鸟希望有破解群的加入 谁有破解群请留下 |
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|