逆向破解之160个CrackMe —— 019
CrackMe —— 019
160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序
CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 crackme 的人可能是程序员,想测试一下自己的软件保护技术,也可能是一位 cracker,想挑战一下其它 cracker 的破解实力,也可能是一些正在学习破解的人,自己编一些小程序给自己破。
CrackMe简称CM。
编号 | 作者 | 保护方式 |
019 | Brad Soblesky | Name/Serial |
工具
x32dbg
开始破解之旅
ON.1
爆破方式
使用x32dbg打开019程序
右键 搜索->当前模块->字符串
我们看到了错误提示字符串和正确提示字符串
错误提示字符串地址:004016B3
正确提示字符串地址:004016D1
我们进入004016B3地址处,看到一处跳转包含了正确提示,跳转则来到错误提示处,我们在地址00401595处下断
在输入框内输入任意数据,点击check按钮,停在了我们的断点处
我们将JNE改为NOP
F9运行
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,在下面进行了对比
在第二个输入框内输入1482848631
bingo ~ 破解成功