飞翔之龙 发表于 2006-2-23 13:25:28

[PSP]好消息PSP游戏存档编辑器!

http://i9.photobucket.com/albums/a84/xianglongchen/200622217461972698.jpg

    GAMELABO Software 发布了一个PSP的游戏存档编辑器。这个编辑器可以编辑你的存档,来获得更高的级别和HP,更好的道具和解锁特殊视频。你将需要特殊的“作弊码” 来编辑每个你希望的游戏。这个码将会在日语杂志《Game Labo》2006年的第3期上开始公布。而且,作者还包括了一个非常详细的有关该工具的教程。也许我们可以在它的帮助下制作我们自己的作弊码。以下是详情:

要求


PSP
系统版本最好是1.00和1.50. 它可以在2.00上运行,但是有些限制。而1.51 和 1.52 用户需要升级到2.00然后再降级到1.50. 不支持2.01或更高版本系统软件的PSP。
PC 和 USB 线(或记忆棒适配器) 来复制Laboko到你的PSP上
修正码
安装

复制存档文件中的文件夹.

PSP/GAME/LABOKO% Eboot 对应1.00 和 2.00 在这里
PSP/GAME/LABOKO Eboot 对应 1.50. 1.00 和 2.00最好不要复制这个

从PSP主界面中的 游戏 -> 记忆棒 启动之。

在2.00上运行

你可以试着用Fanjita的 Eboot loader v0.9在2.00上运行该程序。仅复制PSP/GAME/LABOKO%/EBOOT.PBP. 当被提示内核模式时,按大叉继续。由于在loader端的一些问题,该程序有点不稳定。UMD 启动和USB 盘模式功能有太多的问题,最好不要在2.00上使用它们。

怎样使用 作弊码

请参考2006年第3期Game Labo.

运行Laboko时,请不要移走你的记忆棒。
你可以连续输入作弊码, 但最好不要输入一个过长的作弊码。
该包中不包括Gamelist.txt.
当有太多存档项时,Laboko 可能会不稳定 。
UMD不是总是能启动。请确认所要求的固件版本。
dump 画面的操控

○: 进入 “编辑模式”.
X: 从“编辑模式”回到“浏览模式”Return to “Browse Mode” from “Edit Mode”.
Start: “搜索” 任何你想要的东西。完成后,用 L和 R 在结果项中向前/向后跳跃。
Select: 关闭打开的文件浏览.
当同时有2个文件被打开,用 □+L 或 □+R 在不同字节中跳跃。

教程

- 关于PSP存档

PSP存档是加密的,可以在PSP系统中管理。到2006年1月,有3种被证实的方法来处理(参数构造器) 系统中的存档,还有2种数据类型(参数类型)。新系统也可以处理老类型。

构造器大小 参数 PSP 系统
0x5c8 0x01 1.00-
0x5dc 0x01 1.50-
0x600 0x21 2.00-

对应2.00 或更高的软件使用了一个新类型 (参数类型 21), 让每个游戏使用一个唯一的游戏码。没有这个游戏码,就不可能加密和解密。然而,一部分要求2.00+ 的游戏还是使用参数类型 01. Laboko已经内嵌了一些游戏码。

但是,就算你可以解密存档,你还是不能立即就开始编辑数据,因为有时一个游戏会对存档进行一致性检查。当你修改了一个要这种检查的游戏存档,并试着在游戏中读取时,会有一个消息说“文件被破坏”。尽管你可以在存档中看到它而不是破损数据,但这个存档已经成为一个游戏所不认识的状态。要支持这样的游戏我们需要一种能打破一致性检查的方法。让我们以“Monster Hunter Portable” 为例. Laboko 将会在存储修改数据时自动生成一个检查码。

还有, 不仅是PSP系统,还有游戏本身可以自己加密存档。在这种情况下,你必须提供对这种加密的支持,像 Ys. Laboko现在还不知道这种游戏。


Game Labo编辑部将会在碰到这种不可编辑的游戏时通知用户的。

作弊码的格式

Laboko的 codes就是机器码. 对其的分析就像是一个4位CPU,全是16进制的。

<Laboko的 code> ::= <命令> <命令> …

每个命令由一个操作码(要干什么)和数个操作数(使用的数据)组成。在某些情况下都不需要操作数。

<命令> ::= <操作码> [ <操作数> [ <操作数>[…] ] ]

现在仅有3种操作码 ><

操作码 操作 操作数
0 啥都不干 无
1 写数据 2: 地址 & 数据
20 串行码 5: 起始地址, 起始数据,
地址增量, 数据增量, 重复次数

现在可以指定操作数的值了。

操作数第一位 连续位数 描述
0 0 0 (位)
2 1 半字节 *4-位
3 2 字节 *8-位
4 4 字 *16-位
5 8 双字 *32-位

这里是一些操作数的例子:

操作数 值
0 0 (位)
23 0x3 (半字节)
345 0x45 (字节)
45678 0x5678 (字)
56789abcd 0x6789abcd (双字)

命令应该看上去像这样:

0 啥都不干
13aa0 写数据 00 到地址 aa
14aaaa3dd 写数据 dd 到地址 aaaa
14aaaa4xxyy 按序写字节值 yy xx
起始地址为aaaa
15aaaaaaaa4xxyy 按序写字节值 yy xx
起始地址为aaaaaa
14aaaa5xxyyzzww 按序写字节值 zz yy xx
起始地址为aaaa
204aaaa3dd3bb3ee3cc 起始地址为aaaa, 用dd 作为
起始数据, bb 作为数据增量,
ee作为数据增量,
写cc次


写数据低位优先.
操作码 1 代表把数据按字节分开.
在定义起始数据和增量时,串行码必须按字节,字或双字对齐。不对齐是不接受的。重复次数范围从1 到 0x1000.

要符合上面提到的几点,代码必须像这样:

100 写数据 00 到地址 0.
1420205000f423f 写数据 000f423f 到地址 2020.
2020<-3f, 2021<-42, 2022<-0f, 2023<-00
204123431021301320 起始地址 1234, 初始数据 10,
地址增量 1, 数据增量 01,
重复 20 次, 写入.

可以连续输入它们:

1001420205000f423f204123431021301320
写数据 00 到地址 0.
写数据 000f423f 到地址 2020.
起始地址 1234, 初始数据 10, 地址增量 1, 数据增量 01, 重复 20 次, 写入。

在串行码中,初始数据和数据增量必须按字节,字或双字对齐。
当使用 0 或 半字节最为数据类型时,初始数据和数据增量不是必须的,而且将会造成错误。

关于 SH Code (哈希 Code)

当输入和选择 codes时, 会显示像SH000的东西,这是每个code的哈希。 当它发生冲突时 (不同的code有相同的哈希),请先忍着它。 现在这个哈希还不能手动输入,但我们已经在做了,因为我们想它以后可能有用。当遇到冲突,请在code的最后加0来改变哈希。

Use at your own risk!

[ 本帖最后由 飞翔之龙 于 2006-2-23 13:27 编辑 ]

blackcat 发表于 2006-2-23 17:12:21

好麻烦啊,懒得看下来,等着别人放改好的档

valeth 发表于 2006-2-24 11:00:44

不支持2.6华丽无视。

ransoma 发表于 2006-2-25 00:14:41

先拿MHP试试- -

ransoma 发表于 2006-2-25 00:17:34

顺便:你是用翻译软件翻译的吧- -看英文原文去了
页: [1]
查看完整版本: [PSP]好消息PSP游戏存档编辑器!