破解-超级俄罗斯方块1.11(Super Rumble Cube)

原创 2006年05月17日 20:33:00

超级俄罗斯方块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加载生成破解程序搞定!直接关闭注册窗口正常使用。

相关文章推荐

史上短小精悍的JavaScript编写的俄罗斯方块游戏

史上短小精悍的JavaScript编写的俄罗斯方块游戏 俄罗斯方块

超级俄罗斯方块

  • 2012年04月27日 13:10
  • 1.58MB
  • 下载

JAVA俄罗斯方块程序 勉强能看懂,但是我写不出来,555

代码贴出如下: package com.zzk.cn; import java.awt.*; import java.awt.event.*; import javax.swing.*; impo...

超级俄罗斯方块

  • 2006年02月23日 09:05
  • 33KB
  • 下载

超级变态版俄罗斯方块3.0

  • 2012年10月30日 18:55
  • 30.1MB
  • 下载

CCF认证201604-2 俄罗斯方块

CCF认证201604-2 俄罗斯方块

Java实现俄罗斯方块附源码

Java实现俄罗斯方块,稍后完善
  • codehxy
  • codehxy
  • 2014年05月11日 09:13
  • 11815
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:破解-超级俄罗斯方块1.11(Super Rumble Cube)
举报原因:
原因补充:

(最多只允许输入30个字)