本帖最后由 growuphappily 于 2020-2-23 19:25 编辑
0x00 前言
最近真的没有什么帖子好写了,在无意中发现了这个:
https://www.52pojie.cn/thread-709699-1-1.html
于是我就打算每天做一道CrackMe的题目
第一题:https://www.52pojie.cn/forum.php?mod=viewthread&tid=1107523
第二题:https://www.52pojie.cn/forum.php?mod=viewthread&tid=1107888
第三题:https://www.52pojie.cn/thread-1108487-1-1.html
第四题:https://www.52pojie.cn/thread-1109140-1-1.html
第五题:太变态了,算了
第六题:https://www.52pojie.cn/thread-1111030-1-1.html
第七题:https://www.52pojie.cn/thread-1112318-1-1.html
第八题:https://www.52pojie.cn/thread-1113163-1-1.html
第九题算法:https://www.52pojie.cn/thread-1114003-1-1.html
第九题爆破:https://www.52pojie.cn/thread-1113295-1-1.html
0x01 正文开始
打开软件,发现这次有些不同:
这个软件是当注册码输入正确的时候才行,没有平常的确定按钮
拖入OD分析了一会,没有思路
这是Delphi写的程序,拖入一个Delphi反编译器看看:
看到了一个事件:chkcode,地址为00457C40
OD中Ctrl+G输入00457C40,下断点:
然后输入假码
断下了:
[Asm] 纯文本查看 复制代码 00457C49 |> /6A 00 /push 0x0
00457C4B |. |6A 00 |push 0x0
00457C4D |. |49 |dec ecx ; CKme.<ModuleEntryPoint>
00457C4E |.^\75 F9 \jnz short CKme.00457C49
00457C50 |. 51 push ecx ; CKme.<ModuleEntryPoint>
00457C51 |. 874D FC xchg [local.1],ecx ; CKme.<ModuleEntryPoint>
00457C54 |. 53 push ebx
00457C55 |. 56 push esi ; CKme.<ModuleEntryPoint>
00457C56 |. 8BD8 mov ebx,eax
00457C58 |. 33C0 xor eax,eax
00457C5A |. 55 push ebp
00457C5B |. 68 3D7E4500 push CKme.00457E3D
00457C60 |. 64:FF30 push dword ptr fs:[eax]
00457C63 |. 64:8920 mov dword ptr fs:[eax],esp
00457C66 |. 8BB3 F8020000 mov esi,dword ptr ds:[ebx+0x2F8]
00457C6C |. 83C6 05 add esi,0x5
00457C6F |. FFB3 10030000 push dword ptr ds:[ebx+0x310] ; 把黑头....压入堆栈
00457C75 |. 8D55 F8 lea edx,[local.2]
00457C78 |. 8BC6 mov eax,esi ; CKme.<ModuleEntryPoint>
00457C7A |. E8 85FEFAFF call CKme.00407B04
00457C7F |. FF75 F8 push [local.2] ; 把name长度+5压入堆栈
00457C82 |. FFB3 14030000 push dword ptr ds:[ebx+0x314] ; 把deeloffc...压入堆栈
00457C88 |. 8D55 F4 lea edx,[local.3]
00457C8B |. 8B83 D4020000 mov eax,dword ptr ds:[ebx+0x2D4]
00457C91 |. E8 B2B6FCFF call CKme.00423348 ; name长度
00457C96 |. FF75 F4 push [local.3]
00457C99 |. 8D83 18030000 lea eax,dword ptr ds:[ebx+0x318]
00457C9F |. BA 04000000 mov edx,0x4
00457CA4 |. E8 93BFFAFF call CKme.00403C3C
00457CA9 |. 33D2 xor edx,edx ; CKme.<ModuleEntryPoint>
重要代码基本就这些
就是把”黑头Sun Bird“和name的长度 + 5和“dseloffc-012-OK”和name加在一起
所以假码123的注册码就是黑头Sun Bird8dseloffc-012-OK123
注册成功:
0x03 最后
评分不要钱!评分不要钱!评分不要钱! |