逆向破解之160个CrackMe —— 023-024
CrackMe —— 023
160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序
CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 crackme 的人可能是程序员,想测试一下自己的软件保护技术,也可能是一位 cracker,想挑战一下其它 cracker 的破解实力,也可能是一些正在学习破解的人,自己编一些小程序给自己破。
CrackMe简称CM。
编号 | 作者 | 保护方式 |
023 | Chafe | Name/Serial |
024 | Chafe | Name/Serial |
工具
x32dbg
开始破解之旅
ON.1
爆破方式
我们使用x32dbg打开023号程序,右键搜索字符串
这里我们找到了正确信息提示符,地址是004012CE,进入该地址
向上翻看,来到了最近的一个跳转处
004012B3 | 83F8 10 | cmp eax,0x10 | 004012B6 | 74 16 | je chafe.1.4012CE | 此处跳转判断输入的Serial是否正确 004012B8 | 68 65304000 | push chafe.1.403065 | 403065:"Your serial is not valid." 004012BD | FF35 7C314000 | push dword ptr ds:[0x40317C] | 004012C3 | E8 66020000 | call <JMP.&SetWindowTextA> | 004012C8 | 33C0 | xor eax,eax | 004012CA | C9 | leave | 004012CB | C2 1000 | ret 0x10 | 004012CE | 68 7F304000 | push chafe.1.40307F | 40307F:"YES! You found your serial!!" 004012D3 | FF35 7C314000 | push dword ptr ds:[0x40317C] | 004012D9 | E8 50020000 | call <JMP.&SetWindowTextA> | 004012DE | 33C0 | xor eax,eax | 004012E0 | C9 | leave |
我们将004012B6地址处的JE修改为JMP,F9运行
在输入框内输入任意数据
bingo ~ 破解成功
CrackMe —— 024
ON.1
爆破方式
使用x32dbg打开024号程序,右键搜索字符串找到正确提示字符串,地址为00401301
进入地址处向上翻看
004012E3 | 81FB FBCFFCAF | cmp ebx,0xAFFCCFFB | 004012E9 | 74 EE | je chafe.2.4012D9 | 004012EB | 68 59304000 | push chafe.2.403059 | 403059:"Your serial is not valid." 004012F0 | FF35 5C314000 | push dword ptr ds:[0x40315C] | 004012F6 | E8 7D010000 | call <JMP.&SetWindowTextA> | 004012FB | 33C0 | xor eax,eax | 004012FD | C9 | leave | 004012FE | C2 1000 | ret 0x10 | 00401301 | 68 73304000 | push chafe.2.403073 | 403073:"YES! You found your serial!!" 00401306 | FF35 5C314000 | push dword ptr ds:[0x40315C] | 0040130C | E8 67010000 | call <JMP.&SetWindowTextA> | 00401311 | 33C0 | xor eax,eax |
我们看到了最近的一处跳转,继续向上翻,没有发现跳转到正确提示符地址处,搜索00401301,搜索不到
来到004012E9处,该处会跳转到错误提示符,我们将JE修改为JMP 0x00401301,F9运行
bingo~ 破解成功