第2回 ライブアライブ バイナリ改造 | レトロゲームの改造ブログ

レトロゲームの改造ブログ

メガドライブ、スーパーファミコン、ゲームボーイアドバンス、ワンダースワン等、レトロゲームの簡単な改造講座、改造パッチ等がメインのサイトです。色々なゲームのバイナリエディタを使ったはじめの取っ掛かりのタメの改造方法を記事にしていきます。2014/10/24日設立だよ

今回はLive A Liveを改造してみましょう

知る人ぞ知る名作レトロゲームですな、まぁ何でもよかったんですがねw
専門的なサイトもないですし、今では解析してる人もほとんどいないのかもしれません

ちなみに私がやったまま書いていきます
この手のサイトでよく思うのですが、"失敗・エラー"が書かれていないんですよね…
これでは多くの人が勘違いしてしまいかねない
解析結果だけ書かれていて、どうやってその答えにたどり着いたのかがなし
このサイトではその"流れ"を伝えたいと強く思っているので

バイナリ改造なんて、トライ&エラーです
なれはありますが、一回で答えが出ることなんてありゃしませよ
当然、何処まで解析できて、改造できるかなんて分かりません
もしかしたら意味不明で手も足も出ないなんて事だってよくあります
でも前情報がないんだから自分でやるしかない、大体そんなもんですよねw

ではまずはSFXbでライブアライブのROMを読み込みましょう


こんな画面になると思います、初めて見た人は意味不明です、それでよいのです

このバイナリエディタとは読み込んだ物を16進数で表す物、と理解してください

実際は違うんでしょうけど、バイナリエディタに詳しくても改造できるわけじゃないし
バイナリエディタに詳しくなくても改造は出来ます
極端にいえば私は便利な万能改造ツールとしか思っていません

次に16進数、これは改造コードでもおなじみですね
分からない人はここ でもさらっとみてください
重要なのは下の部分です

普段使っている数字0~9で繰り上がるルールが
改造の世界では0~Fで繰り上がるルールになっている、なんでかは知ってもしょうがありません
そういうもんなのだ、と理解するした方が速いです
多分16進数表記の方が都合良いとかなんとか理由があるんでしょうが、どうでもいいです
左が10進数、右が16進数
10=0A 
11=0B
15=0F
16=10
17=11
30=1E
例えばゲーム上でレベル11のユニットをレベル30にしたい場合
バイナリエディタ上で0Bとなっている分部を1Eと変更してあげる事になります
ちょっと補足するならば数字の1はバイナリエディタ上で01です
二つの文字がペアなのでそこになれましょう、奇数単位での数字構成はありえません

なれるまではウィンドウズについてるアクセサリから
電卓、プログラム電卓?というモードにして使えばいいです
255くらいまでなら脳内で変換できると作業効率がいいかなーとは思いますけど、これはなれです
ブラインドタッチのようにいつのまにかできるようになります、多分ねw
できなくても作業が遅いだけだからいいと思います、間違っても怒られるわけでもなし


次はエミュでライブアライブを起動
今回は近未来編のアキラで試してみました

やっぱり一番最初はステータスからでしょう
とりあえず力速体知の分かりやすい数字から挑戦

21=
20=
14=
30=

さてこれらの十進数を十六進数に変換しましょう
私はわざわざここまで進めて調べてますが、攻略サイトを使ってもいいかもしれません
基本的に実際に自分で見て、ある程度あたりがついたらサイトの方が成長できると思います
では上の数字を十六進数に変換したものを検索しましょう

21=15
20=14
14=0E
30=1E



半角英数で検索します、入力後エンターか実行ボタンで検索開始です



おー、該当箇所一箇所、これは一回でいけたかもしれませんね
大体、出ないか大量に出て絞りこめないですからw
出なかった時どうするかは、いづれまた、そういう改造に出会った時に使う事でしょうw



検索クリックするとその場所まで飛びます
001A83BEですね、黄色になっている場所が該当箇所です15140E1Eと並んでますね
001A83BEはどう説明すれば分かりやすいのか、ちょっとよくわかんないですが
001A83B0の0~Fのどこにあるの?というイメージですかね、なれてください
これをアドレスとかいったりするんですがね

とりあえずこの黄色の部分を変更すればステータスが変更られるだろう、という憶測の元変更してみます
変更されるかは、この時点ではわかりません
"あくまでトライ&エラーです"

ですが今回のアタリの可能性が高いです、というのも
15 14 0E 1Eの左に50ってありますよね
50を十進数に変換すると…80です
アキラのステータスで80といえば?
HPですね、ここも弄ってみましょう


画像のように変更してみましょう
50 15 14 0E 1E

5A 63 AA FF 64
これでHP90、力99、速170、体255、知100のアキラが出来上がるはずです
ファイルから上書き保存して再びライブアライブを起動します
この時記録から始めてはだめです、あくまで最初から始めてる必要があります
今やっているのはセーブデータの改造ではありません、ROM改造なのです


良い感じですね、アキラの初期ステータスの場所はここでok
でもライブアライブのステって99が限界ですよね
ちょっとレベルも上げてみましょう、バグるかも知れません

結果

ですよねーww
でもこれは内部的にどうなってるんでしょうね?
体力は繰り上がって2になったような気がするんですが
速と知は99扱いなのかどうなのか…戦闘して調べてみるのもいいかも知れません
こういう事を調べるのも"改造"です
そしてそれは気になる人が自分でやらなければいけません

とりあえずステータスはどうにかなったと
お次は

知の後ろの5Eを5Aに変えてみました
何が起こるかわかりませんw バグって止まるか何も変化しないかw
これぞ"トライ&エラー"この当たりを総当りで変更してみるのです!

もう一度最初から初めてみます
何か変わってないか、見てみると

技が変わってました、あ、そう
5Eでローキック、5Aで忍法矢車草ねー、てこれって多分改造コード一覧と一緒
こういう並びアイテム順や技順っていうのはコードと同じです(ここ から借りてます)



よくよく見ればローキック(5E)から下はアキラの技
変更した箇所から左と合致します
となると、じゃあ、初期装備も近くにあるんじゃないの?と思います
経験上30~40%くらいであるような気がしますねw



アキラの初期装備はグラブ、バッシュ、スウェット
今調べてる付近にA8と9A、A3が近くにないか目視で見てみます
ここは検索ではなく"目視"です
自分の目であの大量の数字の中から必要な数字を見つけるのです





初期ステータスの少し下にありますね




適当に変更してみました
F2~FAの部分は他ユニットでしょうか、技を見る限りもしかして敵も同じ配列なのか…?



結果こんな感じ、攻撃後にバグったりはしなかったけど

よく考えたらライブアライブってシナリオとBGMが良いだけで
RPGとしては微妙だっとという事を思い出すw
まぁ、とりあえずステータスはこんな感じに見つけていきます
ライブアライブは素直に見つかるね
他の部分も変更しては、初めてを繰り返して
どこが、どの役割をしているのを見つけていく、これが俗にいう解析の一歩です
この情報をまとめたのが構造体
これで全キャラの初期ステータス、覚える技、初期アイテムの構造体が作れます
私はつくりませんがww 結局、改造っていうのはマンパワーなのですよw

次回は新桃太郎伝説の予定
理由はなんとなく、風の吹くまま気のむくままに改造していきますw