88424450 发表于 2010-5-8 13:16

记一聊天记录偷看软件去弹窗+追注+注册机制作

首先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:,0x0
77D507F6    74 24         je short USER32.77D5081C
77D507F8    64:A1 18000000mov eax,dword ptr fs:
77D507FE    6A 00         push 0x0
77D50800    FF70 24         push dword ptr ds:
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   005152C8qqtk_unp.005152C8
0012CDC8   003A5930ASCII "qqtk_unpacked"   
0012CDCC   00000030
0012CDD0   003A50A0ASCII "553c3f46"真的注册码
0012CDD4   0012D910
0012CDD8   00000000
然后我们来做一个注册机打开keymake
点注其他内存注册机浏览 选择软件我们刚刚破解的这个(加壳的)
添加
中断位置77D507EC
中断次数 1
第一字节 55
OK 保存   
本人菜鸟希望有破解群的加入 谁有破解群请留下

zziszf 发表于 2010-5-9 03:07

看不懂~太复杂了

tutula 发表于 2010-5-8 18:44

学习了!

297044530 发表于 2010-5-9 09:20

恩 是有点复杂

暗徒 发表于 2010-5-12 23:27

弹窗口呢?咋没写……

survival 发表于 2010-5-9 12:54

本帖最后由 survival 于 2010-5-9 12:56 编辑

哥们,不对吧。MFC写的注册认证
你的注册机注册不了啊。怎么也要返回程序领空
这个软件内存比较注册码,写出注册机我还没研究出来,哪位高人可以讲讲MFC啊,你那个应该不行

上帝是姑娘 发表于 2010-5-13 16:54

chinasmu 发表于 2010-5-29 09:23

不是很好的说

coolhui 发表于 2010-5-29 11:58

感觉讲的不是很详细,看来以后来看会好点,现在刚开始学习~~

ballpen 发表于 2010-7-15 22:21

顶顶啊,不错
页: [1] 2
查看完整版本: 记一聊天记录偷看软件去弹窗+追注+注册机制作