gamemaster吧 关注:84贴子:270
  • 2回复贴,共1

轩辕剑——天之痕 内存 代码 修改 非修改器

只看楼主收藏回复

前言:由于该游戏两千年就发行,修改也不是那么困难。很简单的修改步骤。我使用的修改工具是Game master
9
修改:首先是每个角色的技能修改,用高阶扫描就可以修改到每一个角色的能力,当然,如果要快,哪麽就一次输入多个参数进行扫描,基本上一次就可以定位了。如图
角色有三个参数,生命
XXXX/○○○○ 灵力:YYYY/△△△△ 体力:ZZZZ/■■■■■,这个游戏的内存使用了16bit来对数值进行了储存,换言之也就是两个字节代表了一个数值。内存地址里它们的排列顺序是XXXX
YYYY ZZZZ ○○○○ △△△△ ■■■■■,通过这样的排列大家就知道了该怎么搜索了。在
搜索栏内写入XXXX,YYYY,ZZZZ,○○○○,△△△△,■■■■■
然后搜索,基本一次就可以定位了。由于RPG游戏的能力修改一次以后就可以直到翻版,所以能力修改部分就说到这里,当然游戏里有剧情需要,一两个敌人是一定要战胜你才能发展剧情,哪麽你就在遭遇这一两个敌人时将自己的生命修改为1,就可以了。

接下来还有一个修改值得一提,既然能力我们可以修改了非常厉害,哪麽好像踩地雷的遇敌方式就可以取消了,毕竟不用再这么折磨自己打那些无尽的小妖小魔来提升能力,要知道,RPG游戏里的剧情党对于踩地雷战斗模式可是深恶痛绝到不行。那麽就开始修改踩地雷。
天之痕里的踩地雷是有一个模式的,就是当你在某个触发踩地雷场景每走一步时,数值就会增加,当增加数值达到某个程度,那麽踩地雷触发,战斗过后,数值又减少。根据这套模式,使用低阶扫描来搜索,多次搜索过后可以确定一个地址,将这个数值改为0,OK了,以后无论任何场景,踩地雷消失了,剩余的就是发展剧情,为了让踩地雷地址不因位移产生影响,可以使用机械码追踪一条指令出来0000000000403C63,发现当数值为8B 0D 48 63 4E
00时,踩地雷模式启动,那麽将这几个数值该为 90 90 90 90
90,然后锁定,做一个修改储存档(是GM9里的储存档,不是游戏里的),以后每次游戏读取这个修改档,就不会再遇敌了。
说明,为什么一定要到机械码锁定才会有效。举个例子,如果将遇敌数值假设为米饭,内存地址假设为碗,米饭是装在碗里的。我们要修改的是米饭,而装米饭的碗有无数个(虽然每次只能使用到一个),午饭时吃的米饭是装在A碗里,这次修改A碗没有错,找到A碗锁定米饭你就可以吃到撑死,饭还是不会变化。但是午饭过后洗碗了,碗又重新堆叠到一起(这个过程类似重启动游戏),晚饭时米饭装在D碗,A碗空了,这次你再找到A碗拼了命的锁定就没有效果了。这就类似我们第一次游戏修改到遇敌,但是当我们重新启动游戏时,上一次的修改就无效了,因为数值存储变更地址了。而追踪指令则不同,指令可以视为饭锅,无论你使用什麽碗来装饭,总是要从饭锅里添到碗里,碗里才有饭吧。既然使用的碗经常变更,我们就跳过修改碗这个变动的因素,改去修改饭锅,饭锅总不会是变更的,【部分游戏例外,连饭锅都变,别说饭锅,连装生米的米缸都变,遇到这类就是其他的修改技巧了,天之痕不在其列】我们就修改饭锅,让饭锅里的饭不会发生变化,既然饭锅锁定了,哪麽无论你使用哪个碗吃饭,都不会影响饭的多少,在这款游戏里,我们将饭锅的数值改为
90 90 90 90 90,也就是饭锅里没有饭,既然饭锅没有饭,随便你使用哪个碗都不可能添到饭
,换言之,你遇敌的数值不会增加,自然就不可能触发地雷了。(最后两句解说有些曲解,便于了解!真正意义附下)
郑重声明:严格来说,这次指令的修改并非让饭锅里没有饭才让你添不到,真正的意义是饭锅里有饭,但是无论你持那个碗来添饭,都添不到,虽然你还是有添饭的动作,但就是无法添到,说白了,我们修改的就是这个让你有添饭动作却无法添到饭的功能,这在现实世界当然不可能出现这样的情况,因为实际没有一个人笨到去重复一个添不到饭的动作。但在游戏世界里,这又有什麽不可以的呢!


IP属地:云南1楼2012-06-02 11:15回复
    GameMaster9怎么用?怎么搜索游戏程序?


    IP属地:广东来自iPhone客户端3楼2013-06-18 13:13
    回复
      请问0000000000403C63是否通过低阶搜索到的地址。
      8B 0D 48 63 4E 00是不是访问以上地址的汇编,如何确定该改为NOP的范围呢?
      我用GM8,没有用过trace ASM的功能。以后有游戏玩的时候试试。


      4楼2015-08-18 09:51
      回复