我本来想发贴求助的,忽然想起论坛搜索,一搜索竟发现了楼主的帖子,不知道顶起以前的帖子是不是犯规啊。
我也在研究Reflexive系列的游戏加密。但我是新手,也是初次发问题,大家有空的话帮忙下,谢谢。
本来是朋友玩的reflexive系列的一游戏,试玩时间过后让我试下破解。
游戏下载页:
http://www.reflexive.net/index.php?PAGE=game_detail&AID=145
我安装仔细分析后,发现游戏在注册表和文件各做了两个时间标记。这系列的所有游戏均是如此。
注册表是:
HKEY_LOCAL_MACHINE\SOFTWARE\ReflexiveArcade\145\Progress
文件是:
游戏目录下的\ReflexiveArcade\RAW_004.wdt。
于是我保存初次安装的注册表值和RAW_004.wdt文件,时间到后覆盖即可恢复。
想使用ollydbg调试此游戏,但似乎有反调试的功能。我没法摆平。高手指点下这样的断点该怎样断。谢谢!
这样还是有点不甘心,想试下试玩时间60分钟过后会怎样。打开变速齿轮,调到最大,运行游戏,稍后退出,时间到,提示"Thank you for
playing,your demo has expirde.Buy now to upgrade instantly." w32dasm查找到参考字符串后,向上查找,
******************************************************
* Referenced by a CALL at Address:
|:00404A07
|
:004033AD 56 push esi
:004033AE 8BF1 mov esi, ecx
:004033B0 D94618 fld dword ptr [esi+18]
:004033B3 D81DA4B24100 fcomp dword ptr [0041B2A4]
:004033B9 DFE0 fstsw ax
:004033BB F6C441 test ah, 41
:004033BE 741F je 004033DF
:004033C0 E81B3C0000 call 00406FE0
:004033C5 84C0 test al, al
:004033C7 7516 jne 004033DF
:004033C9 6A00 push 00000000
* Possible StringData Ref from Data Obj ->"Demo Expired"
|
:004033CB 6854EB4100 push 0041EB54
* Possible StringData Ref from Data Obj ->"Thank you for playing, your demo "
->"has expired.
Buy now to upgrade "
->"instantly."
|
:004033D0 6808EB4100 push 0041EB08
:004033D5 6A00 push 00000000
*********************************************************************
在004033c7处,找到 jne 004033df 修改为je,爆破无时间限制!
我又从网上找到了reflexive系列游戏的破解方法和通用注册机,破解方法为:
****************************
1、使用UtrlEdit以二进制方式打开游戏的可执行程序;
2、打开后搜索"84 C0 74 0E 8B CE",找到后,修改为"84 C0 75 0E 8B CE";
3、保存,OK。
****************************
即修改00404A03 处的je 为jne。
跳过对游戏是否注册的检验。我想注册算法的CALL应该从这能找到,但我看了好久,没找到注册算法的CALL在哪?
可否高手帮忙解答一下,谢谢了。非常感谢!:)
偶菜,勿笑,欢迎批评!