超级俄罗斯方块1.11(Super Rumble Cube)是一款挺好玩的小游戏。收在幻想小游戏中。
但是这款游戏需要注册否则只能使用9次。网上好像没有序列号?破解它!
工具Ollydbg、PELG
程序加过壳以前也曾尝试过把它脱壳,但是不成功。是动态生成代码的,反汇编根本看不清,而且连续call个不停,不好定位。
直接加载运行反调试。
动态附加进程调试,有时能够调试,有时不能。
程序真的是写得不错的啊。但是可以动态内存补丁破解。
还好代码并不复杂。程序启动后出现注册对话框。观察调用堆栈。虽然有几个连续调用栈,但主要的过程入口在004248A0。
尝试在每层调用下一语句下断点。手动跟踪,找到有3个主要跳转点,都在主要的过程中修改就行。
004248A0 81EC B4020000 SUB ESP,2B4
004248A6 E8 E5DBFDFF CALL RumbleCu.00402490
004248AB 85C0 TEST EAX,EAX
004248AD 0F85 72060000 JNZ RumbleCu.00424F25 <<关键跳转1。不允许跳转!
——————————————————————————————————————————————————————————————————————————————————————————
修改代码如下
004248AB EB 06 JMP RumbleCu.004248B3
——————————————————————————————————————————————————————————————————————————————————————————
004248B3 53 PUSH EBX
004248B4 55 PUSH EBP
004248B5 56 PUSH ESI
004248B6 33DB XOR EBX,EBX
004248B8 57 PUSH EDI
004248B9 881D 37174B00 MOV BYTE PTR DS:[4B1737],BL
004248BF E8 CCD1FDFF CALL RumbleCu.00401A90
004248C4 85C0 TEST EAX,EAX
004248C6 8BAC24 C8020000 MOV EBP,DWORD PTR SS:[ESP+2C8]
004248CD 74 35 JE SHORT RumbleCu.00424904 <<关键跳转2。强制跳转!
——————————————————————————————————————————————————————————————————————————————————————————
修改代码如下
004248CD EB 35 JMP SHORT RumbleCu.00424904
——————————————————————————————————————————————————————————————————————————————————————————
004248CF 8D8424 C4000000 LEA EAX,DWORD PTR SS:[ESP+C4]
004248D6 50 PUSH EAX
004248D7 55 PUSH EBP
004248D8 E8 B3D0FDFF CALL RumbleCu.00401990
004248DD 8D8C24 CC000000 LEA ECX,DWORD PTR SS:[ESP+CC]
004248E4 51 PUSH ECX
004248E5 55 PUSH EBP
004248E6 E8 75D8FDFF CALL RumbleCu.00402160
004248EB 83C4 10 ADD ESP,10
004248EE 3D EB030000 CMP EAX,3EB
004248F3 75 16 JNZ SHORT RumbleCu.0042490B <<关键跳转3。改了关键跳转2这个就不理会了!
004248F5 5F POP EDI
004248F6 5E POP ESI
004248F7 5D POP EBP
004248F8 5B POP EBX
004248F9 33C0 XOR EAX,EAX
004248FB 81C4 B4020000 ADD ESP,2B4
00424901 C2 1000 RETN 10
00424904 C605 37174B00 0>MOV BYTE PTR DS:[4B1737],1
0042490B C605 18174B00 0>MOV BYTE PTR DS:[4B1718],1
00424912 C605 19174B00 2>MOV BYTE PTR DS:[4B1719],20
00424919 E8 A2F0FFFF CALL RumbleCu.004239C0
0042491E 84C0 TEST AL,AL
00424920 75 1C JNZ SHORT RumbleCu.0042493E
00424922 68 44994900 PUSH RumbleCu.00499944 ; ASCII "MMX not supported, this program requires MMX."
00424927 E8 F4EFFFFF CALL RumbleCu.00423920
0042492C 83C4 04 ADD ESP,4
0042492F 5F POP EDI
00424930 5E POP ESI
00424931 5D POP EBP
00424932 5B POP EBX
00424933 33C0 XOR EAX,EAX
00424935 81C4 B4020000 ADD ESP,2B4
0042493B C2 1000 RETN 10
建立crack.plg文件
内容:
;
; Predator's Extreme Loader Generator - Loader DATA file
;
Filename = RUMBLECUBE.EXE
RVA = 4248AB
New Bytes = EB06
RVA = 4248CD
New Bytes = EB
; End Of File
crack.plg文件结束
ok,修改3个字节。PELG加载生成破解程序搞定!直接关闭注册窗口正常使用。
1万+

被折叠的 条评论
为什么被折叠?



