手抜き版ファームダウンの作り方

Lite-Onのファームはバージョンをご丁寧に調べて古いファームだと蹴ってくれる素敵仕様です。
ならばチェックルーチンを飛ばせばいいのですが、CはわかってもC++はわからず、VC++のデバッガでまったくわからないアセンブラコードを眺めて睡魔に襲われた私(w

しょうがないのでバイナリエディッタでそれらしき所を書き換える手抜き作戦開始です。

2002年5月12日現在、LTR-32123Sの最新ファームは
XS0U
です。
一個前のオフィシャルファームは
XS0R
となっております。

このXS0Rをバイナリエディタで開きます。


次にこのバージョンの文字列を検索します。


ここと


ここの


2カ所見つかります。

最初の方がチェック用、次がBIOS等に表すバージョンと・・・・・・・思います(藁

LTR-32123Sの場合XS01〜XS9Zの範囲で用意してるらしいので

このファームは超最新だからUpdateさせれやゴルァ!!
と書き換えましょう。

XS9Zの次はXSA0でしょうから(ホント?)最初のチェック用の方をいじります。BIOS用の方をいじらないようにネ。
↓こんな感じ。


んで、上書き保存→Go!です。



FLASHを押すと、こんなすっとぼけたメッセージが出ますが気のせいさっきの書き換えのせいです。
シカトしてYesにします。

少々お待ち下さい。

無事に終わったら再起動しましょう。
BIOSでXS0Rに戻ったのを見て、ウム、と自己満足しましょう(w

これを元にLTR-24102B用を作りました。テスト出来ないので人柱です(;´Д`


さて、最近Lite-On社からも古いファームが落とせなくなりました
残念ながら今までの手をそのままでは使えません。
ファームを上げてしまったら調子悪くなった、という方も多いようなので、戻す方法も知っておくと便利です。

世の中にはコレクターもいるもので、激しく既出ですが
1.MTKFLASHを使ってドライブのファームを抜き取る
2.EXE2BINで純正ファームからBINファイルを抜き出す

と言った手順で古いのを集めてる方が海外にはごろごろいます。

DOS起動で内蔵ATAPIドライブを直接書き換えるのが一番手っ取り早いですし、万が一逝ってしまってBIOSから認識されなくなっても
復活します。(バージョン1.38は書き込み処理に不具合があるので使わないで下さい)
但し、
USB接続の外付けにしちゃった(-_-)ウツダシノウ
とか
IEEE1394チョーはえー!って外付けにしちゃったよ!
なんて方はバラしてATAPI接続しないとMTKFLASHを使えません

仕方ないので、BINを入手したら純正ユーティリティのファームエリアに上書き貼り付けしておけば、バラす手間は省けます。
注:Windowsで認識出来ていなければ当然使えません

Step1.BINヽ(`Д´)ノクレヨ

まずはBIN探しです。知ってることは知ってるんですが、直林するのもどーかと思うので、
lite-on OR liteon firmwares bin
などでググッて見て下さい。
たぶんお目当ての所にたどり着きます。海外の神に感謝しましょう!

Step2.Lite-Onの最新ファーム用意シル!

ま、例なので僕の所持してるLTR-32123SのXS0X(2002年10月29日現在の最新)ということにしましょう。
見つけてきたBINはXS0Uだとします。

サクッとXS0Xを開いてみましょう


32倍速以上のドライブはファームウェアが0x80000Byte(512KB)です。
どこから始まるか正確な位置を求めるために次のように検索します。
LITEONIT」の文字列を検索します。


マッチしたところ。ここがファームウェア本体の最後です。マーキングしておきましょう。


ファームウェア本体の開始アドレスはファームウェア本体の大きさから逆算出来ます。
0xFAB3F - 0x80000 + 0x1 = 0x7AB40
注:24倍速までのドライブは0x80000という数値を0x40000に置き換えて考えて下さい。

これより、純正ユーティリティでのファームウェア開始アドレスは0x7AB40とわかりました。
飛んでみましょう

ここからのようです。(当然、お使いのドライブにより、アドレスは変わってきます
マーキングしておきましょう。

さて、ひろってきたBINを同じくサクッとバイナリエディタで開いてみましょう。

確かに512KBです。こいつを「全て選択」して「コピー」します。
コピーしたら、もうBINは閉じてもかまいません。(ノ ̄ー ̄)ノ :・’.::・>+○┏┛焼却炉┗┓

先ほど、純正ユーティリティの開始番地をマーキングしてありますので、そこからコピーした512KBを
上書きモードの貼り付け」をします。
うりゃ!↓


ファイルの大きさ・文字列のずれなどは無いですか?
まずはこれでBINの内容を純正ユーティリティに付けることが出来ました。

それでは最後にいつもの仕上げを。

純正ユーティリティのバージョン文字列を検索します。


データ全体を検索しても一つしかマッチしないはずです。

無理矢理実行させるべく、
XS0XをXSA0と書き換え
超最新じゃゴ━━━(# ゚Д゚)━━━ルァ!!
とします。


これで、名前をつけて保存しましょう。XS0Uになるのだから、
32123S_XS0U.EXE
なんてつけると、BINみたいでわかりやすそうですね(w

そういえば、神の501xxが自作された「改造ファームを作ってみた→改造ファーム保管庫」
名前の付け方がこのサイトと同じ付け方だったのにはかなりワラタYo!

フラッシュしようとすると

なんておなじみの馬鹿ダイアログが出ますが漢ならYesでしょう。


そんな訳で戻しはこんな感じで出来ます。

言い換えれば、BINを見つけてくるか、Lite-On社の最新ファームで書き換えたいドライブの物を選び
EXE2BIN(DOSプログラムです)か、上記などで示したようにファームウェア本体だけを抜き出して
はっつければ、
手抜き爆速ドライブ化の完成です。
そのほかに、爆速したけど戻したいなんて時も同じ事をすればいいです。
他メーカーのものは、ファームバージョンの近くの文字列を眺めればだいたいわかると思いますが、
そこらをちょちょいと弄ればいいです。

でも、色々あるかも知れないから・・・・
転んでも泣かないこと( ̄ー ̄)ニヤリ


戻る