逆向破解之160个CrackMe —— 019 CrackMe —— 019 开始破解之旅 ON.1 ON.2

逆向破解之160个CrackMe —— 019
CrackMe —— 019
开始破解之旅
ON.1
ON.2

160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序

CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 crackme 的人可能是程序员,想测试一下自己的软件保护技术,也可能是一位 cracker,想挑战一下其它 cracker 的破解实力,也可能是一些正在学习破解的人,自己编一些小程序给自己破。

CrackMe简称CM。
程序下载地址:点击我

来源 <-点击查看

编号 作者 保护方式
019 Brad Soblesky Name/Serial

工具 

x32dbg

开始破解之旅

ON.1

爆破方式

使用x32dbg打开019程序

右键 搜索->当前模块->字符串 

逆向破解之160个CrackMe —— 019
CrackMe —— 019
开始破解之旅
ON.1
ON.2

我们看到了错误提示字符串和正确提示字符串

错误提示字符串地址:004016B3

正确提示字符串地址:004016D1

我们进入004016B3地址处,看到一处跳转包含了正确提示,跳转则来到错误提示处,我们在地址00401595处下断 

逆向破解之160个CrackMe —— 019
CrackMe —— 019
开始破解之旅
ON.1
ON.2

在输入框内输入任意数据,点击check按钮,停在了我们的断点处

我们将JNE改为NOP 

逆向破解之160个CrackMe —— 019
CrackMe —— 019
开始破解之旅
ON.1
ON.2

F9运行 

逆向破解之160个CrackMe —— 019
CrackMe —— 019
开始破解之旅
ON.1
ON.2

bingo ~ 破解成功

ON.2

追码方式

我们从错误字符串地址进去,向上翻看,在判断上方最近的一个跳转处0040161A处下断点

0040161A | 8B45 F0                  | mov eax,dword ptr ss:[ebp-10]           | 程序跳转到此处地址
0040161D | 50                       | push eax                                |
0040161E | 68 54404000              | push brad soblesky.2.404054             | 404054:"%lu"
00401623 | 8D4D DC                  | lea ecx,dword ptr ss:[ebp-24]           |
00401626 | 51                       | push ecx                                |
00401627 | E8 52070000              | call <JMP.&Ordinal#2818>                |
0040162C | 83C4 0C                  | add esp,C                               |
0040162F | 8D4D DC                  | lea ecx,dword ptr ss:[ebp-24]           |
00401632 | E8 79020000              | call brad soblesky.2.4018B0             |
00401637 | 50                       | push eax                                |
00401638 | 8D4D E8                  | lea ecx,dword ptr ss:[ebp-18]           | [ebp-18]:&L""
0040163B | E8 80020000              | call brad soblesky.2.4018C0             |
00401640 | 85C0                     | test eax,eax                            |
00401642 | 0F85 FF000000            | jne brad soblesky.2.401747              |
00401648 | 8D8D ACFEFFFF            | lea ecx,dword ptr ss:[ebp-154]          |
0040164E | E8 19070000              | call <JMP.&Ordinal#540>                 |

程序在0040163B处进行判断,于0040161A处进入,在输入框内输入任意数据,点击Check it按钮

程序停在了断点处,我们单步向下

此时我们看见寄存器处出现了一串可疑的字符1482848631,在下面进行了对比

逆向破解之160个CrackMe —— 019
CrackMe —— 019
开始破解之旅
ON.1
ON.2

在第二个输入框内输入1482848631

逆向破解之160个CrackMe —— 019
CrackMe —— 019
开始破解之旅
ON.1
ON.2

bingo ~ 破解成功