通关圣手——GameKey 98

Author: 孙肖小武 Date: 1998年 第35期 32版

  GameKey 98(Ver 2.00)是北大方正新出品的一款游戏修改工具软件。它同PCtools、FPE等相比,功能要少一些,但是只要了解它的优点,你下次玩游戏时恐怕就不会再用FPE了。GK98完全支持WIN95的保护模式内存管理;对内存的搜索速度极快,在笔者的MMX 200,32M上几乎勿需等待;它还可以同时跟踪多个对象,包括内存和存档文件;对存档文件的搜索与修改更是方便。它甚至还允许你把搜索到的地址以GTB文件储存起来,下次再进行游戏时可以直接调出来使用。下面我们就来看一下如何使用GameKey 98。
  GK98在启动后会自动生成一个名为PC MEMORY的内存对象。假定我们正在玩《仙剑》,要对内存中李逍遥的体力及林月如的体力进行同步搜索。那么按下热键CTRL+ESC返回到WIN95,把PC MEMORY点亮,然后选中“功能”中的“字节”,即设置变量属性(一般来说,使用字节最可靠。但是对于数字较大的,也可以用字或双字来搜索。这里的字节串属性仅对文件对象是可用的)。然后填入李逍遥的体力数,单击高阶搜索,GK98即开始搜索工作,当然会出现很多的地址,不要急,慢慢来。然后在对象列表中单击“加入对象”,选择“内存”,为你的新对象填上一个名字,不妨叫NEW,确定后点亮NEW,重复上面的操作让GK98对林月如的体力进行搜索。返回游戏,再进行战斗,当两者的体力数改变时,又回到GK98,点亮PC MEMORY,对李逍遥进行进一步的搜索,点亮NEW,对林月如进行搜索,重复上述操作直到两个内存对象找到的地址数仅一个或不再减少为止。
  双击林月如的地址,选择变量属性为“字”(注意,如果你还是使用字节属性,那么你对林月如体力数的修改值就不能超过255),填入你对该地址所取的名字,假如为“林体力”。这样,这个地址就被加到地址列表中去了,点亮它,就可以对它进行编辑、删除、加锁/解锁等操作。假定我们想把林月如的体力数锁定为9999,单击“加锁/解锁”,填入9999并确定。再回到游戏中,让敌人打一下,看看体力数会不会减少。哇噻!太棒了,体力数没有改变!喂,先别得意,这里还有一点必须注意,就是当你退出游戏时,应当将所有加锁的变量解锁,以保证WIN95对该内存区的回收重用。
  对于存档文件的搜索同上面的类似,在这里也就不多说了。值得注意的是:
  1.在加入搜索对象时类型要选择“文件”一项。“…”表示浏览。
  2.对存档文件搜索前,要在游戏中存档一次,这一点是大多数人都容易忘记的,一定要注意。
  3.对文件的搜索,你也可以用字节属性,但如果你知道想要搜索物品的字符串代码,也可以用字节串属性。我们仍以《仙剑》作为例子来讲一下。
  假定你想要把“金蚕王”的数量从10改为99,选好存档文件后,你可以选用字节属性,先搜索一下10,然后吃一个“金蚕王”,存档,再搜索9,这样一直下去,直到找到为止。然而你如果知道“金蚕王”在文件中是这样存放的:96 00 XX(其中96 00表示金蚕王,XX是十六进制数,用来表示金蚕王的个数)。那么就选择字节串属性吧。填入96 00 0A(0A转换成十进制数就是10)后进行搜索,再吃一个,存档(重点提醒,千万不要忘记存档,否则,嘿嘿……),再搜索96 00 09,再吃,再找,直到找到为止。然后你可以对这个地址进行编辑,填入96 00 63后,回到游戏。咦?怎么金蚕王没有变成99呢?别急,听我说,刚才我们的操作只是对存档文件进行了修改,内存中的数据当然没有什么改变了。你重新取出进度来看一下呢。——哇,“金蚕王”真的变成99了!
  4.当存档文件用字节串属性搜索到你想要的地址后,在加入到地址列表时,请不要改变其变量属性。
  GK98除了可以进行高阶搜索外,还可进行低阶搜索。单击低阶搜索后,会弹出一个工具条。上面的按钮含义如下:
  +  变量增大
  -  变量减少
  += 变量增大或不变
  -= 变量减少或不变
  !    变量增大或减少
  =  变量不变
  GK98最吸引人的地方是它可以把你找到的地址储存起来,这样,下次你玩游戏时就不必再一次查找了,免去了很多麻烦。特别是GK98在储存地址列表时所采用的GTB文件为标准文本文件,你可以自己用文本编辑器进行创建和修改。现在很多的电脑杂志上都有介绍游戏存档文件的修改数据,你可以将这些数据编辑为GTB文件保存起来,在使用时十分方便。
  我们还是以《仙剑》为例子,来讲一下如何对存档文件中搜索到的地址进行储存及载入。假定你现在使用的是进度一,并且已经在存档文件中搜索到了很多数据的地址,如金钱、李逍遥的体力、真气等等,现在你单击储存列表,按GK98的提示完成储存工作。OK!现在退出GK98并且重头开始游戏,这时你的各种数据都是最少,存一次档,然后回到GK98,选中你的那个存档文件,单击“载入列表”,你就会看到一个窗口,然后单击“直接载入”,那就OK了。现在你试着编辑金钱的地址,将金钱从0变为999怎么样,回到游戏,重新载入进度一,看一下,是不是金钱已经变成了999呢?
  在内存中搜索到地址的储存及载入方法同上面说的差不多,这里就不重复了,只是要注意:在载入描述内存地址数据的GTB文件时,需先搜索一个地址A,然后以这个地址为依据进行“重定位后载入”(描述存档文件地址数据的GTB文件在载入时一般不需重新定位)。通常我们选搜索的那个地址A在GTB文件中也是存在的,定位时要将两者都选中。
  最后,我们来说一下GTB文件。GTB文件为纯文本文件,一个典型的GTB文件如下:
  GAMEKEY V1
  0X0000007C WORD 李经验
  0X0000009C WORD 奴经验
  0X00000028 DWORD 金钱
  0X00000268 WORD 李体力
  0X0000026A WORD 赵体力
  0X00000270 WORD 奴体力
  0X0000027C WORD 奴真气
  0X00000276 WORD 赵真气
  0X00000274 WORD 李真气
  0X00000084 WORD 赵经验
  第一行的“GAMEKEY V1”请不要作什么改动,那是GTB文件的标志。下面各行为正文,第一部分为地址域,可以是十进制或十六进制。十六进制在前面加0X,第二部分为类型域,有四种情况:BYTE/B(字节属性)、WORD/W(字属性)、DWORD/D(双字属性)、STRING/S(字节串属性),第三部分为名字域,即你给该地址变量所起的名字,名字中间不可有空格。另外,三部分之间以空格或TAB分开。
  好了,游戏高手们,现在是不是有些心动了呢?心动不如行动,该出手时就出手。别犹豫,该你出手了!如果各位对GK98有什么不同的意见以及应用心得,不妨同我联系,我的电子信箱是sun_xiao@163.net。