逆向破解之160个CrackMe —— 022
CrackMe —— 022
160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序
CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 crackme 的人可能是程序员,想测试一下自己的软件保护技术,也可能是一位 cracker,想挑战一下其它 cracker 的破解实力,也可能是一些正在学习破解的人,自己编一些小程序给自己破。
CrackMe简称CM。
编号 | 作者 | 保护方式 |
022 | CarLitoZ | Serial(VB5) |
工具
x32dbg
VB Decompiler Pro
开始破解之旅
ON.1
爆破方式
首先使用x32dbg打开022号程序,搜索字符串
此时我们看见了有多个字符串,包含正确提示字符串还有一个可以的字符串“C:\\windows\\MTR.dat” 疑似读取文件的地址
我们进入正确提示字符串地址处00402DF7向上查看来到最近的一处跳转处00402DE9处下断点
00402DE3 | 8D55 84 | lea edx,dword ptr ss:[ebp-0x7C] | edx:EntryPoint 00402DE6 | 8D4D C4 | lea ecx,dword ptr ss:[ebp-0x3C] | 00402DE9 | 0F84 5A010000 | je carlitoz.1.402F49 | 判断跳转处 00402DEF | FFD7 | call edi | 00402DF1 | 8D55 94 | lea edx,dword ptr ss:[ebp-0x6C] | edx:EntryPoint 00402DF4 | 8D4D D4 | lea ecx,dword ptr ss:[ebp-0x2C] | 00402DF7 | C745 9C D4224000 | mov dword ptr ss:[ebp-0x64],carlitoz.1.4022D4 | 4022D4:L"Registration Successful" 00402DFE | C745 94 08000000 | mov dword ptr ss:[ebp-0x6C],0x8 | 00402E05 | FFD7 | call edi |
F9运行,在输入框内输入任意数据,点击REGISTER按钮
此时停在了我们的断点处
我们将00402DE9处JE修改为NOP
bingo ~ 破解成功
ON.2
追码方式
我们使用VB Decompiler Pro打开022号程序
在下图中我们看到了注册码的生成方式
现在我们要知道abt.Lable1.Caption是什么
我们打开Project->Forms->abt下我们看到窗体的Caption为“About”
我们点击程序的About
看到了我们的提示信息,但是此时看到所有的字符才90多个,哪来的一百多个呢
我们在VB Decompiler Pro中找到提示信息处
看到了中间相隔很多个空格,一共123个空格
register = "bPe CrackMe v1.0" + " " * 123 + "This CrackMe it`s to trainer your VB cracking ability" + " " * 123 + "Developed by CarLitoZ" print(register[5:6] + register[8:9] + register[142:143] + register[15:16] + register[160:161] + register[170:171] + register[165:166] + register[167:168])
求出结果为“rkh1oyie”
输入到文本框内,点击REGISTER按钮
bingo ~ 破解成功