本文采用OllyDbg+Restorator 2007来破解注册码限制
1、查壳,没有加壳
2、运行可以看到用户ID是CPU序列号,这是我们在软件保护中,常要用到机器的标识。
3、Restorator 2007载入,找到此注册对话框界面,获取FormId=149 //149=(0x00000095)
4、OD载入,右键--查找--所有常量
非常幸运的是,只有搜索的结果只有一条
004021F0/$8B4424 04MOV EAX,DWORD PTR SS:[ESP+4]//本地调用来自 004011CC
004021F4|.56PUSH ESI
004021F5|.50PUSH EAX
004021F6|.8BF1MOV ESI,ECX
004021F8|.68 95000000PUSH 95//这就是注册对话框所在地方,我们往上看,就能找到关键跳转地方
右键 -- 转到 -- CALL 来自004011CC
00401164. /74 62JE SHORT CrackMe.004011C8// JE等于转移; 改为JNZ SHORT CrackMe.004011C8
00401166. |8D8C24 840000>LEA ECX,DWORD PTR SS:[ESP+84]
0040116D. |E8 7E010000CALL MbrDownl.004012F0
00401172. |8D8C24 800000>LEA ECX,DWORD PTR SS:[ESP+80]
00401179. |C68424 6C6A00>MOV BYTE PTR SS:[ESP+6A6C],3
00401181. |894E 20MOV DWORD PTR DS:[ESI+20],ECX
00401184. |8D8C24 800000>LEA ECX,DWORD PTR SS:[ESP+80]
0040118B. |E8 E6780000CALL <JMP.&MFC42.#2514>
00401190. |8D8C24 5C6A00>LEA ECX,DWORD PTR SS:[ESP+6A5C]
00401197. |C68424 6C6A00>MOV BYTE PTR SS:[ESP+6A6C],5
0040119F. |E8 CC780000CALL <JMP.&MFC42.#800>
004011A4. |8D8C24 586A00>LEA ECX,DWORD PTR SS:[ESP+6A58]
004011AB. |C68424 6C6A00>MOV BYTE PTR SS:[ESP+6A6C],4
004011B3. |E8 B8780000CALL <JMP.&MFC42.#800>
004011B8. |889C24 6C6A00>MOV BYTE PTR SS:[ESP+6A6C],BL
004011BF. |8D8C24 800000>LEA ECX,DWORD PTR SS:[ESP+80]
004011C6. |EB 2CJMP SHORT MbrDownl.004011F4
004011C8> \8D4C24 20LEA ECX,DWORD PTR SS:[ESP+20]//来自00401164跳转
004011CC.E8 1F100000CALL MbrDownl.004021F0
修改完,右键 -- 复制到可执行文件 --所有修改--全部复制 --保存文件即可
这次破解完美结束,运行,绕过注册页面,进入功能页面,功能正常。