growuphappily 发表于 2020-2-18 13:48

CrackMe第四题

本帖最后由 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,下断点:

然后输入假码
断下了:
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 ,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:
00457C63|.64:8920       mov dword ptr fs:,esp
00457C66|.8BB3 F8020000 mov esi,dword ptr ds:
00457C6C|.83C6 05       add esi,0x5
00457C6F|.FFB3 10030000 push dword ptr ds:            ;把黑头....压入堆栈
00457C75|.8D55 F8       lea edx,
00457C78|.8BC6          mov eax,esi                              ;CKme.<ModuleEntryPoint>
00457C7A|.E8 85FEFAFF   call CKme.00407B04
00457C7F|.FF75 F8       push                            ;把name长度+5压入堆栈
00457C82|.FFB3 14030000 push dword ptr ds:            ;把deeloffc...压入堆栈
00457C88|.8D55 F4       lea edx,
00457C8B|.8B83 D4020000 mov eax,dword ptr ds:
00457C91|.E8 B2B6FCFF   call CKme.00423348                     ;name长度
00457C96|.FF75 F4       push
00457C99|.8D83 18030000 lea eax,dword ptr ds:
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 最后
评分不要钱!评分不要钱!评分不要钱!

jasonliyi 发表于 2020-2-22 20:31

本帖最后由 jasonliyi 于 2020-2-22 20:35 编辑

qwert0312 发表于 2020-2-18 15:39
我是被第四题卡着了,一直在等你的第四题,想不到居然要搞到什么dephi的编译器.
不用dephi编译器也可以,搜索字符串“注册成功”然后在 这里下段后,
00458031|.81BE 0C030000>cmp dword ptr ds:,0x85      ;
右键 查找参考 立即数然后来到这里
00457EFE|.C786 0C030000>mov dword ptr ds:,0x85
就到了注册码对比了。

qwert0312 发表于 2020-2-22 20:50

jasonliyi 发表于 2020-2-22 20:31
不用dephi编译器也可以,搜索字符串“注册成功”然后在 这里下段后,
00458031|.81BE 0C030000>cmp...

不知道为什么,我的OD搜索不到中文..
感谢你说的,我刚刚看了下,上面确实是个对比

上将无双 发表于 2020-2-18 14:26

坐等第五题{:1_927:}

qsbbicexn5r 发表于 2020-2-18 15:13

前来学习,感谢分享

growuphappily 发表于 2020-2-18 15:13

上将无双 发表于 2020-2-18 14:26
坐等第五题

Emmmm...第五题太太太太太太太太太变态了,,,还是算了吧。。。。。。

qwert0312 发表于 2020-2-18 15:39

我是被第四题卡着了,一直在等你的第四题,想不到居然要搞到什么dephi的编译器.

growuphappily 发表于 2020-2-18 17:08

qwert0312 发表于 2020-2-18 15:39
我是被第四题卡着了,一直在等你的第四题,想不到居然要搞到什么dephi的编译器.

不然只用OD的话没一点思路{:301_1008:}

qwert0312 发表于 2020-2-18 21:19

growuphappily 发表于 2020-2-18 15:13
Emmmm...第五题太太太太太太太太太变态了,,,还是算了吧。。。。。。

我的能力一般般,但是第五题我找到的关键点好像是00441c22.

巴黎小雨 发表于 2020-2-18 21:57

谢谢楼主分享

nj2004 发表于 2020-2-19 09:06

非常感谢楼主的分享,学习了

growuphappily 发表于 2020-2-19 10:07

zhuxinhua 发表于 2020-2-19 10:01
完全看不懂是不是没救了?

。。。没事,,慢慢就会了,,
页: [1] 2
查看完整版本: CrackMe第四题