A9VG电玩部落论坛

 找回密码
 注册
搜索
查看: 4255|回复: 7

[HACK]SFC/SNES《Shadow Run》HP不减ROM

[复制链接]

精华
0
帖子
478
威望
0 点
积分
629 点
种子
12 点
注册时间
2008-3-13
最后登录
2024-8-5
 楼主| 发表于 2012-10-19 20:13  ·  吉林 | 显示全部楼层 |阅读模式
本帖最后由 ly63 于 2012-10-19 23:02 编辑

平台:SFC/SNES
游戏:Shadow Run
           死而复生
ROM容量:10Mbits(1.25MiB)
ROM类型:LoROM


HACK功能:

我方人员战斗中HP不减,但在入侵电脑时的行为保持原样(使用下面金手指码可实现入侵电脑时也HP不减)。

此游戏控制敌我双方HP减少的程序是同一段,也必须识别敌我。

修改好的ROM下载:


其它功能金手指码:
升级点数不减
80EFE9 EA
80EFEA EA
入侵电脑时HP不减
81ABEC EA
81ABED EA
=========================================EOF

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

精华
0
帖子
478
威望
0 点
积分
629 点
种子
12 点
注册时间
2008-3-13
最后登录
2024-8-5
 楼主| 发表于 2012-10-19 20:13  ·  吉林 | 显示全部楼层
有同学想知道如何处理敌我共用的代码,下面就简单说一下:

其实处理这样的代码跟普通的没什么大的区别,最主要的是要找出识别敌我的关键点,而实现这一切则依靠分析数据的能力。
当跟踪到计算HP减少的程序段时,要注意计算所需参数,这些参数与相关对象密切相关,一般为间接寻址的偏移量,基址可在
附近的程序指令中获得。利用这些参数我们可以访问到相关对象的内存数据,用以识别是否为敌人或我方。

在本游戏中,HP减少子程序中访问对象HP的指令是
LDA $7e0002,x
$7E0002为基址,寄存器X为偏移量,所以寄存器X就是用以识别敌我的关键参数。
通过前期对游戏运行数据的分析得知,主角的HP内存地址是一成不变的,所以可直接用寄存器X的值识别出该次计算中的对象是否为主角;
但是这还是不够的,因为游戏中主角还会雇佣保镖来加强战力,虽然同样是固定内存分配,但游戏中有N个角色可以雇佣,每个人的地址都
不同,总不能把所用可雇用的人的地址都建个列表来识别吧,这样效率也太低下了,不得不回头再次分析数据。
经过细致观察发现,每个被雇佣的人的HP内存地址的前一字节都是#$80,敌人和主角都是#$00,现在终于可以识别出谁是同伴了。

现在万事具备,后面的事情就简单了,在ROM中找到一段空闲的空间,写一个子程序来判断敌我,这样HACK就成功了,当然还需要深入测试,
还不能保证上面分析的结果100%正确。


一个Hacker所做的事情就是分析程序的功能,在理解了程序的逻辑之后将程序改为自己期望的行为,获得需要的数据。
这一切的前提是对数据的分析,不掌握关键的数据,不了解其意义,修改就无从谈起。

附:
此HACK中我写的子程序:
A6EDE0:

  1. CPX #$359C
  2. BEQ PLAYER:
  3. LDA $7E0001,X
  4. CMP #$80
  5. BEQ PLAYER:
  6. LDA $7E0002,X
  7. SEC
  8. JML $8086BF
  9. PLAYER:
  10. JML $8086EB
复制代码
子程序的入口地址:
8086BB:
JML $A6EDE0(原始程序为:LDA $7E0002,X)


=================================EOF

精华
1
帖子
1378
威望
2 点
积分
1557 点
种子
185 点
注册时间
2004-2-12
最后登录
2024-11-29
发表于 2012-10-19 22:44  ·  海南 | 显示全部楼层
好深奥啊,膜拜一下,虽然看不懂。
该用户已被禁言

精华
0
帖子
3561
威望
0 点
积分
3605 点
种子
7 点
注册时间
2007-3-27
最后登录
2022-11-12
发表于 2012-10-20 08:26  ·  浙江 | 显示全部楼层
虽然完全看不懂  但是觉得好厉害啊

精华
0
帖子
1213
威望
0 点
积分
1227 点
种子
7 点
注册时间
2005-7-12
最后登录
2022-4-21
发表于 2012-10-20 20:47  ·  陕西 | 显示全部楼层
汇编啊,人才啊 ~~~

精华
0
帖子
2242
威望
0 点
积分
2335 点
种子
69 点
注册时间
2009-12-24
最后登录
2022-8-14
发表于 2012-10-20 20:56  ·  湖北 | 显示全部楼层
会写汇编,会改游戏的人很强

圣骑士

◎◎◎◎◎◎

精华
0
帖子
4442
威望
0 点
积分
4742 点
种子
87 点
注册时间
2014-4-16
最后登录
2024-9-8
发表于 2017-11-10 22:21  ·  辽宁 | 显示全部楼层
ly63 你在哪~?!!!

精华
0
帖子
422
威望
0 点
积分
438 点
种子
7 点
注册时间
2005-12-20
最后登录
2024-9-20
发表于 2017-11-16 12:12  ·  上海 | 显示全部楼层
A9VG就是高手如云。我在模拟器玩这个游戏的时候,只能调用手榴弹无限的秘籍,但打到后期,要去CYBER里面HACK系统,太难打。这个HP无限如获至宝。多谢搂着分享。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|A9VG电玩部落 川公网安备 51019002005286号

GMT+8, 2024-11-30 06:57 , Processed in 0.173375 second(s), 16 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

返回顶部