注册 | 登录

游侠NETSHOW论坛





查看: 1494|回复: 0
打印 上一主题 下一主题

[原创] 大航海家3船长永不退休修改方法,需要汇编基础 [复制链接]

帖子
22
精华
0
积分
12
金钱
142
荣誉
0
人气
8
评议
0
跳转到指定楼层
楼主
发表于 2020-5-19 13:56:33 |只看该作者 |倒序浏览
船长永不退休的修改方法
大航海家4有一个很大的优点,就是自动贸易省心省力,不用担心船长退休问题,
而大航海家3比大航海家4综合功能要好,但是就是船长老是动不动退休,自动贸易突然中断,有时候船队多了,你都不知道
问题出在哪里,糊里糊涂,于是变成一个满地图找船长的游戏,比较烦。
我们来修改一下船长退休问题,让他变得和大航海家4一样,船长永不退休,安心自动贸易。


通过前期排摸,我们知道,船长的原理是一个8字节的数字1234XXXX,每分每秒都在增长
到了某个极点后,就会显示退休,然后变回一个其他的1234YYYY,也就是年轻船长,本来的位置变成FFFF,也就是
船长退休,具体位置在p3.exe的FBFD6,也就是对应内存的4FBFD6。


于是,我们找到FBFD6,发现改变船长代码的其实本质是dx这个寄存器,逻辑就是
把dx也就是ffff强行写入目前退休前一刻(还在船上)的船长8字节(从[edi]这个地址读取的数据),
因此做法只要把[edi]里的数据,提前写入dx,那么就能一步实现永不退休,而且因为edi的数据增长到一定时刻后,会重新变为年轻船长
因此,这么做的好处是,一旦船长退休了,依旧会显示退休的告别信(很感人),但是不会中断比如自动贸易之类的需要船长的功能,
而是立即补充一个新船长,这样就相当于,你不用去酒馆找了,直接给你引荐一个他的接班人。


那么下面介绍修改方法:
用winhex 打开p3.exe, 找到FBFD6
修改代码为
mov dx,[edi]
mov [edi],dx


也就是修改为
66 8B 17 90
总共从FBFD6开始改4个字节即可。
这样就和大航海家4一样,即保留了大航海家3的船长退休告别信,又不会中断已经设定的自动贸易。
good,nice!

已有 1 人评分人气 收起 理由
维尔纳夫 + 1 狂拽炫酷吊炸天

总评分: 人气 + 1   查看全部评分

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

手机版|Archiver|游侠NETSHOW论坛 ( 苏ICP备2023007791号 )

GMT+8, 2024-4-24 16:33 , Processed in 0.275317 second(s), 12 queries , Gzip On, Memcache On.

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

分享到