主题 : 【讨论】【分享】Street Fighters 3 - 3rd 的修改
sniperhgy
级别: 模拟之星
UID: 16719
精华: 1
发帖: 1128
威望: 1 星
金钱: 98 浮游币
贡献值: 5 点
好评度: 2257 点
人气: 5 点
在线时间: 404(时)
注册时间: 2005-01-27
最后登录: 2024-07-02
楼主  发表于: 2007-07-07 16:05

【讨论】【分享】Street Fighters 3 - 3rd 的修改

        CPS3的破解是很多人接触到了街机上面的sf3.3这款作品,我也是受益者之一。拿到rom和模拟器之后编投入了苦练之中,但是街机上面是没有连招模式的,要想有,只能考修改内存或者hack rom,对于hack,我是一窍不通,那就只能考修改内存来实现了。
    在此之前,网上面流出了一些修改文件(game master 8.0所用的和mame所用的作弊文件),我用CPS3emulator,因此下载了GM的那个版本,但是加载之后发现无效,有人说可能是机器配置不一样,导致模拟器基址有所改变。这样的话,咱们就要靠自己的力量来实现了。

    第一种方法:(直接查找发)
   
    我用FPE,GM,金山都改过,方法是一样的,就是用低阶搜索,包括HP,SA,Time,以及人物代码,但是这种方法费时费力。

    第二种方法:(间接查找发)
   
    在说方法之前,我要说一个概念:“虽然程序运行时基址可能不相同,但是数据间的相对地址是不变的”,利用这个原理,就可以很轻松的修改sf3.3的内存数据。

    在sf3.3所有要素里面,Time是最好修改的,只要搜索显示出来的时间即可,比如在Time显示97的时候,搜索97,然后等过一会,比如86,搜索一下,一般2到3次即可找到2个内存地址,其中第一个是正确的。所得结果就是咱门所有数据的基础(比如是0x0FB21397),然后利用相对地址不变的原理,这里有一个公式,是我总结出来的:

1P HP - Time = 57994(hex)        2P HP - 1P HP = 498(hex)          Time : 直接搜索数字显示即可
1P SA - 1P HP = 8AA(hex)    2P SA - 2P HP = 43E(hex)          Time + 10(hex) =1P character                1P Charcter + 1 =2P Character

按照公式,时间地址+10(十六进制)的就是1P的人物代码地址,在咱们这个例子里面,就是0x0FB213A7,只要将其锁成0,就可以使用总boss Gill,0x0FB213A8就是2P的人物代码。0x0FB78D2B就是1P的HP,只要锁成160(10进制),就是满血,0x0FB795D5就是1P的SA,也是160。按照这个方法,就可以轻松的实现“练招模式”

    如果有看不懂的地方,可以用消息告诉我,我很愿意与大家交流方法,^_^
本帖最近评分记录:
  • 金钱:    +30   (操作人:Triple-E)   此贴/此回复奖励你 30 FYB
  • YZB
    级别: 超级版主

    UID: 12451
    精华: 6
    发帖: 19097
    威望: 173 星
    金钱: 2010 浮游币
    贡献值: 10160 点
    好评度: 54867 点
    人气: 4322 点
    在线时间: 19694(时)
    注册时间: 2004-10-02
    最后登录: 2024-11-23
    沙发  发表于: 2007-07-07 20:40

    好强啊~
    有没找过人物ID在ROM里面的位置排列啊
    sniperhgy
    级别: 模拟之星
    UID: 16719
    精华: 1
    发帖: 1128
    威望: 1 星
    金钱: 98 浮游币
    贡献值: 5 点
    好评度: 2257 点
    人气: 5 点
    在线时间: 404(时)
    注册时间: 2005-01-27
    最后登录: 2024-07-02
    板凳  发表于: 2007-07-08 20:51

    ^_^,对于hack rom,一点都不会,YZB版主能否指点一下?
    YZB
    级别: 超级版主

    UID: 12451
    精华: 6
    发帖: 19097
    威望: 173 星
    金钱: 2010 浮游币
    贡献值: 10160 点
    好评度: 54867 点
    人气: 4322 点
    在线时间: 19694(时)
    注册时间: 2004-10-02
    最后登录: 2024-11-23
    地板  发表于: 2007-07-08 21:01

    我都不会改SF游戏啊~


    只能靠理论来说了~

    在选人画面里面,人物ID也是有排列规律的,比如光标移在哪一个ID,移动一下又是另外一个ID,这样的话,把某个ID换成BOSS的ID就可以了选BOSS了。。。

    当然这只是理论
    级别: 论坛版主
    UID: 80135
    精华: 1
    发帖: 583
    威望: 3 星
    金钱: 232019 浮游币
    贡献值: 8708 点
    好评度: 4626 点
    人气: 605 点
    在线时间: 301(时)
    注册时间: 2005-11-23
    最后登录: 2021-07-16
    草席  发表于: 2007-07-08 22:09

    看看模拟器能有金手指功能吗,期待作者的更新.
    级别: 论坛版主
    UID: 10256
    精华: 1
    发帖: 10905
    威望: 18 星
    金钱: 1918 浮游币
    贡献值: 8859 点
    好评度: 30446 点
    人气: 1086 点
    在线时间: 935(时)
    注册时间: 2004-07-27
    最后登录: 2024-11-01
    5楼  发表于: 2007-07-08 22:13

    就你那熊样还理论,别误导就好啦~
    (σ`・д・)σ 你不是那个原来住顶楼的笨蛋吗?
    YZB
    级别: 超级版主

    UID: 12451
    精华: 6
    发帖: 19097
    威望: 173 星
    金钱: 2010 浮游币
    贡献值: 10160 点
    好评度: 54867 点
    人气: 4322 点
    在线时间: 19694(时)
    注册时间: 2004-10-02
    最后登录: 2024-11-23
    6楼  发表于: 2007-07-08 22:16

          我要TNJJTDK
    魔神王路西法
    级别: 论坛版主

    UID: 62
    精华: 35
    发帖: 7689
    威望: 83 星
    金钱: 794 浮游币
    贡献值: 9860 点
    好评度: 13244 点
    人气: 1271 点
    在线时间: 1964(时)
    注册时间: 2004-03-25
    最后登录: 2024-10-19
    7楼  发表于: 2007-07-08 22:26

    yzb你6楼的贴是灌水,再这样考虑就给你增加1000FYB的债务
    sniperhgy
    级别: 模拟之星
    UID: 16719
    精华: 1
    发帖: 1128
    威望: 1 星
    金钱: 98 浮游币
    贡献值: 5 点
    好评度: 2257 点
    人气: 5 点
    在线时间: 404(时)
    注册时间: 2005-01-27
    最后登录: 2024-07-02
    8楼  发表于: 2007-07-09 22:12

    我想请教一下,怎样将内存里面找到的数据映射到rom里面?比如我找到一个HP的地址,怎样映射到Rom里面,从而作成一个HP不减的版本,总之就是类似的一些操作,麻烦几位版主教教我,我诚心求教,谢谢你们了,^_^
    I will be back!
    级别: 论坛版主

    UID: 60848
    精华: 1
    发帖: 1888
    威望: 6 星
    金钱: 166146 浮游币
    贡献值: 8721 点
    好评度: 8482 点
    人气: 838 点
    在线时间: 279(时)
    注册时间: 2005-08-31
    最后登录: 2016-03-08
    9楼  发表于: 2007-07-09 22:35

    这样算修改文件了...如果地址不可靠的话
    有可能造成无法运行或者崩溃档机....
    级别: 模拟小生
    UID: 226962
    精华: 0
    发帖: 56
    威望: 0 星
    金钱: 1799 浮游币
    贡献值: 0 点
    好评度: 163 点
    人气: 0 点
    在线时间: 17(时)
    注册时间: 2007-06-23
    最后登录: 2024-08-06
    10楼  发表于: 2007-07-11 11:54

    MAME的模拟器不能直接修改吗?
    YZB
    级别: 超级版主

    UID: 12451
    精华: 6
    发帖: 19097
    威望: 173 星
    金钱: 2010 浮游币
    贡献值: 10160 点
    好评度: 54867 点
    人气: 4322 点
    在线时间: 19694(时)
    注册时间: 2004-10-02
    最后登录: 2024-11-23
    11楼  发表于: 2007-07-11 11:59

    这些我也不会

    需要懂点汇编之类的才行
    魔神王路西法
    级别: 论坛版主

    UID: 62
    精华: 35
    发帖: 7689
    威望: 83 星
    金钱: 794 浮游币
    贡献值: 9860 点
    好评度: 13244 点
    人气: 1271 点
    在线时间: 1964(时)
    注册时间: 2004-03-25
    最后登录: 2024-10-19
    12楼  发表于: 2007-07-11 18:15

    反汇编,把HP减少锁定为0就可以了。不过要用CE(没错是CE不是EC),来反汇编,有相当的难度。
    sniperhgy
    级别: 模拟之星
    UID: 16719
    精华: 1
    发帖: 1128
    威望: 1 星
    金钱: 98 浮游币
    贡献值: 5 点
    好评度: 2257 点
    人气: 5 点
    在线时间: 404(时)
    注册时间: 2005-01-27
    最后登录: 2024-07-02
    13楼  发表于: 2007-07-11 20:53

    ^_^,谢谢版主,我倒是会改PC的反汇编,但是rom就不会了
    级别: 模拟之星
    UID: 17726
    精华: 0
    发帖: 2664
    威望: 0 星
    金钱: 2638 浮游币
    贡献值: 0 点
    好评度: 5506 点
    人气: 0 点
    在线时间: 695(时)
    注册时间: 2005-02-16
    最后登录: 2011-09-13
    14楼  发表于: 2007-07-16 10:33

    引用
    引用第13楼sniperhgy于2007-07-11 20:53发表的  :
    ^_^,谢谢版主,我倒是会改PC的反汇编,但是rom就不会了


    PC和ROM本质上是一样的。
    举一反三就可以了!
    easy!!!
    虽然你我今生无缘,但我希望在来生再遇见你,即使那时你我已经忘了一切。



    级别: 模拟之星
    UID: 17726
    精华: 0
    发帖: 2664
    威望: 0 星
    金钱: 2638 浮游币
    贡献值: 0 点
    好评度: 5506 点
    人气: 0 点
    在线时间: 695(时)
    注册时间: 2005-02-16
    最后登录: 2011-09-13
    15楼  发表于: 2007-07-16 10:34

    引用
    引用第5楼Xiao555于2007-07-08 22:13发表的  :
    就你那熊样还理论,别误导就好啦~


    我悄悄的引用一下下!哈哈!
    虽然你我今生无缘,但我希望在来生再遇见你,即使那时你我已经忘了一切。



    级别: 模拟小生
    UID: 223624
    精华: 0
    发帖: 86
    威望: 0 星
    金钱: 105 浮游币
    贡献值: 0 点
    好评度: 240 点
    人气: 0 点
    在线时间: 39(时)
    注册时间: 2007-06-14
    最后登录: 2021-06-20
    16楼  发表于: 2007-07-20 22:20

    不会 用 啊
    级别: 模拟之星
    UID: 124701
    精华: 1
    发帖: 90
    威望: 2 星
    金钱: 2844 浮游币
    贡献值: 0 点
    好评度: 259 点
    人气: 0 点
    在线时间: 76(时)
    注册时间: 2006-06-11
    最后登录: 2024-08-06
    17楼  发表于: 2007-08-30 22:00

    嘿嘿,正好用的上。谢了楼主。