SAVE-EDITOR.com

セーブエディター.com


HOME 掲示板 汎用 解析 RPG PS3/4 PS1/2 PSP/V 任天堂 PC +α
[ INFORMATION ] SAVE-EDITOR.com English version
PS1 TOOLS / PS1 SAVE EDIT

簡易改造 チェックサム回避方法 for PS1 / PS2 / etc.

目次 INDEX

簡易改造とは?

簡易改造とは、データにチェックサムがある場合で 修正する方法が分からない時に、データが破損しないように チェックサムの機能を回避して書き換える方法です。
チェックサムとは、データが破損していないかを判別する誤り検知機能です。
リトルエンディアンの16進数を 数値入替加算減算同数加算する方法で説明します。

数値入替

数値入替とは、1バイトから数バイト単位で数値を入れ替える方法です。
1バイト入替
2バイト入替
4バイト入替
1バイト入替

例1「01 00 00 00」→「00 01 00 00」 (1→256)
例2「01 00 00 00」→「00 00 00 01(1→16777216)
2バイト入替

例1「01 00 00 00」→「00 00 01 00(1→65536)
例2「00 00 00 00 00 00 FF FF」→「FF FF 00 00 00 00 00 00(0→65535)
4バイト入替

例「01 00 00 00 00 00 00 01」→「00 00 00 01 01 00 00 00(1→16777216)

加算減算

加算減算とは、目的の数値内の1バイトの数値を加算して、加算した同じ分だけ他の1バイトを減算するという方法です。
例1「00 02 00 00」→「00 01 01 00」 (512→65792)
例2「64 00 00 00」→「63 00 01 00」 (100→65635)
※ 赤の数値を-1、青の数値を+1 (±1ではなく±2以上でも可)

同数加算

同数加算とは、チェックサムの計算方法や計算範囲は分からないけど チェックサムの修正箇所は分かっている場合に使えます。 目的の数値に加算した数値と同じ分だけチェックサムの数値にも加算するという方法です。
書き換える数値「01 00 00 00」→「01 00 01 00」 (1→65537)
チェックサムの数値「23 01 00 00」→「24 01 00 00」
※ 赤の数値を+1、青の数値を+1 (+1ではなく+2以上でも可)

チェックサムの数値は2バイト以上であれば一番左の数値を書き換えて下さい。

補足

数値入替や加算減算などでチェックサム回避できるのは、チェックサムの計算方法が加算・減算・XORの時だけです。
1バイトよりも 2バイトや4バイトを入れ替えた方が チェックサムを回避できる可能性は高いですが、 目的の数値以外の部分を書き換えなければならない場合もあり、チェックサムは回避できても 下手をするとセーブデータに不具合が起きてしまう可能性があります。 まずは1バイト入替で試して それで破損するようでしたら 2バイトや4バイトで試してみて下さい。
PS1関連ツール・改造情報 (PS1チェックサム修正ツール)
PS2関連ツール・改造情報 (PS2チェックサム修正ツール)
上部に移動する
WEB SAVE EDITOR by SAVE-EDITOR.com
<< トップページ セーブエディター.com



その他 / エミュレータ情報局 / ハックロム情報局 / IPSパッチ適用システム / Flashマルチエミュレーター
WSE 2021 (C) SAVE-EDITOR.com © WebGamePlatform お問い合わせ (メールフォーム) / ツイッター