LOFTER for ipad —— 让兴趣,更有趣

点击下载 关闭

末日商旅

129浏览    1参与
下雨的声音

用AS3修改末日商旅2存档

末日商旅2仅仅一个30m的小游戏,自由度和系统却非常棒。昨天准备调一下金钱快速通关,但是很奇怪CheatEngine用各种办法都搜索不到内存地址,不知道是不是64位Player造成的。于是决定从SharedObject下手。

1.在C:\Users\Rain\AppData\Roaming\Macromedia\Flash Player\#SharedObjects找到相应的存档文件,用Flash SharedObject File Reader打开,发现核心数据是ByteArray。

2.没办法,反编译游戏文件,发现存档关键处理是:

_loc_10 = new ByteArray...

末日商旅2仅仅一个30m的小游戏,自由度和系统却非常棒。昨天准备调一下金钱快速通关,但是很奇怪CheatEngine用各种办法都搜索不到内存地址,不知道是不是64位Player造成的。于是决定从SharedObject下手。

1.在C:\Users\Rain\AppData\Roaming\Macromedia\Flash Player\#SharedObjects找到相应的存档文件,用Flash SharedObject File Reader打开,发现核心数据是ByteArray。

2.没办法,反编译游戏文件,发现存档关键处理是:

_loc_10 = new ByteArray();

_loc_10.writeObject(_loc_1);

_loc_10.compress("zlib");

return _loc_10;

3.那么处理方法也很简单了:

var so:SharedObject = SharedObject.getLocal("savedData");

var saveBA:ByteArray = so.data.saves[1].save;

saveBA.uncompress();

var save:Object = saveBA.readObject();

save.Caravans[0].money = 99999999;

saveBA.writeObject(save)

saveBA.compress();

so.flush();


2015-06-28更新

准备把之前写的末日商旅2存档修改器加工一下。思路是这样:将sol文件复制到自身SharedObject文件夹,然后用SharedObject.getlocal打开存档,修改存档数据,然后再将文件copy回去。

实际操作中发现,SharedObject文件是不可以改名的。改名之后data将无法阅读。神奇= =

另外,在Air应用开启过程中,不再读取SO文件,所以在玩游戏的时候,修改存档文件是没有意义的。


编辑器地址:http://pan.baidu.com/s/1i3lHllF


LOFTER

让兴趣,更有趣

简单随性的记录
丰富多彩的内容
让生活更加充实

下载移动端
关注最新消息