« 2010年7月 | メイン | 2010年10月 »

2010年9月26日

TAA Tool(仮) 人柱版0.02

ダウンロード:TAA_Tool0.02.zip

相変わらずの人柱版です。

変更点は、鍵情報をツールの窓に表示するようにしたことと、
書き換えるメモリのサイズを32バイトから68バイトに変更の2点です。

本当は自動書き込みも実装したかったのですが、スレッド管理の
やり方をすっかり忘れてしまっていたため、今回は断念w
あまり需要もないようなのでゆっくりやりますよ。

書き換える領域を拡張した件ですが、実際の暗号化鍵は68バイト
読んでいるらしいので、このように変更しました。
もとが0で埋まっていればあまり意味ないですけど、こっちが正解のようなので。
68バイトというサイズですが、IDENTIFY DEVICEで得られる情報を
いくつか足すとちょうどこのサイズですねえ・・・。まあいいやw

CFで再生できるSATの鍵を「空文字」とか「NULL」とか表現してきましたが、
「空文字」だとちょっと意味合いが違ってくる気がするので、「オールゼロ」
あたりで呼ぼうと思います。
中身が何であろうと固定長読んでいる的な感じで。

投稿者 Hikari : 21:51

2010年9月19日

TAA Tool(仮) 人柱版0.01

公開するか不明とか書いておきながらうpしちゃう。

ダウンロード:TAA_Tool人柱版0.01

gigabeat GシリーズのSSD(CF)化手順(仮)
(2)のメモリ書き換えを比較的少ない手数で実現するツールです。
テストが完了していない状態ですので、使う人は自己責任でどうぞ。

なお、自動書き込み機能は搭載してないので、毎回転送前にクリックが必要です。

ちなみにTAA Ver4.1(Unicode版)専用です。
バージョンが違うとどういう動きをするか分かりません。

投稿者 Hikari : 20:37

2010年9月18日

作ろうかな

gigabeat GシリーズのSSD化あとがきの最後に、
TAAメモリ書き換えツールとか作れるかも!でも作る予定ないよ!
みたいな事を書きましたが、俺に作れるものなのかどうか、一応検証しておりました。
結果、ある程度目星がついたので作ることにしました。

・・・が、出来上がったところで公開するかどうか、現時点で未定です。

考えている仕様をざっくり書きます

本当にざっくりですがこんな感じです。
ちなみに例のエディタのソースはVBでしたが、今回はVCを使います。
流用じゃなくて新規作成のため、開発のスピードは期待できません。
でも書き換え処理そのものは検証レベルだけど一応走ってるので、
いちばんの壁はすでに乗り越えているともいえます。.

投稿者 Hikari : 15:34

2010年9月 7日

gigabeat GシリーズのSSD化あとがき

この記事はチラシの裏全開です。
ほとんど中身がないことをご了承ください。

いやしかし、本当にSSD化できるとはなあ・・・。
っていうのが正直な気持ちです。
自力で修理した時もそうだけど、事態を把握すればするほど「こりゃ無理だ」って思ったもの。
ダメ元でもとりあえずやってみるって大事ですね。

スレの方には書いたけど、手持ちの8GB CFでは足りないので、
64GBのものを買っちゃいました。交通費込みで17kの出費。
容量にしては安い方ではあるけど、動かなかったら・・・って
思うとなかなかスリルのある買い物でしたw
SSD化しようと思ったキッカケというか動機が、WAV再生でも電池が
持続してほしいっていうものだったので、できるだけ容量は多い方が
よかったのです。
とりあえず聴きそうなのを非圧縮で入れてみたけど、まだ容量の半分も埋まってません。
考えてみればそんなに音源持ってなかったぜ・・・。

今のメインDAPはX1060ですが、ついにメインの座を奪還・・・というか、
復帰になりそうです。X1060もけっこう高音質ですが、gigabeat Gの方が
音に艶があって心地良いです。(SE420での印象)
音の粒立ちで言えばX1060なんだけどねえ。

というわけで、gigabeat G40をSSD化の件はこのあたりで終わりにしておきます。


ちなみにメモリエディタはソースが公開されているので、それをもとに
TAAメモリ書き換えツールなんか作れちゃうかもしれないですね。
という独り言。
しばらく作る予定はありません、とだけ言っておきます。

投稿者 Hikari : 20:08

2010年9月 6日

gigabeat GシリーズのSSD(CF)化手順(仮)

どうやら需要はあるようなので、やり方を書いておこうと思います。

お約束ですが、この記事は改造を推奨するものではありません。
また、記事の内容が妥当であるという保証も致しかねます。
改造行為はすべて自身の責任でお願いします。
特に今回はローレベルエディタ、メモリエディタを使用するため、一歩間違えると
取り返しのつかないことにもなりかねないので覚悟してください。
この警告の意味するところが分からない方は、お願いですから実践しないでください。

あとツールの使い方とか細かいところは省くので、そのあたりは自分で調べてください。

さて、前回の記事では「NULLを鍵にしてSAT暗号化すればいいのでは」という旨の
憶測を書いて終わっておりました。
結論からいうと、TAAにNULL(っていうか空文字?)が鍵のSATファイルさえ作って
もらえれば、CF化したgigabeatはオーディオプレイヤーとして使えるようになります。
手順は大きく分けて2つです。

(1) CF化したgigabeatをTAAにgigabeatとして認識させる

(2) TAAに空文字が鍵のSATファイルを作らせる


前提として、換装作業は済ませ、CFのフォーマット(FAT32)を済ませていること。
gigabeatのシステム情報で容量が見れれば大丈夫だと思います。


(1)CF化したgigabeatをTAAにgigabeatとして認識させる

この手順は必須というわけでもありませんが、(2)もこの手順を踏んだという
前提で解説していきます。
運用面で考えてもやっておいた方がいいです。

TAAはドライブのセクタ2の先頭部分を読み込んで、特定の文字列が書きこまれて
いた場合にそのドライブをgigabeatとして認識します。
なので、CFのセクタ2を書き換えてしまえばいいのです。
この作業はローレベルエディタを使う必要があります。今回はDisk Probeを使います。

Drive→Physical Driveでgigabeatのドライブを開きます。(Read Onlyは外しておく)
Sectors→Readでセクタ1と2を読込みます。
2だけでもいいんですけどね。こんな感じです↓
1.jpg

セクタ1と2の先頭32バイトを書き換えます。
書きこむ内容は画像の通り、「TOSHIBA MK0000000000000000000000」です。

2.jpg

ちなみにこれはセクタ2です。
先頭が「TOSHIBA MK」であれば適当で大丈夫だと思いますが、分かりやすく'0'で埋めます。
セクタ1と2を書き換えたら、Sectors→Writeで書きこんでしまいます。
そのままOK押しちゃえば多分書きこめるはずです。
書いたらハンドルをCloseしてください。

これでTAAはCF化したgigabeatを認識するはずです。
TAAを起動して確認します。
3.jpg

これは1度やってしまえば以降、gigabeatとして認識されます。


(2)TAAに空文字が鍵のSATファイルを作らせる

【2010/09/20追記】
推奨はしませんが、このツールを使うと楽かもしれません。
※TAA Ver4.1専用です
【追記おわり】

さて、いよいよCFで再生できるSATを作ります。
前提として、(1)の手順が完了していること。
gigabeatをPCに接続した状態で、TAAを起動しておきます。
転送する音楽ファイルも用意しちゃってください。

ここで登場するのがメモリエディタです。
ここでは「メモリエディタ6」を使用しています。
起動するとこんなダイアログが出てきますので、「AudioApplication」を選択。
4.jpg

検索画面を出して、(1)で書きこんだ「TOSHIBA MK0000000000000000000000」で
検索します。
ちなみに0は全部書かなくてもヒットします。たぶん。
5.jpg

おそらく1件だけヒットすると思うので、出てきたアドレスをダブルクリック。
飛んだ先で、「TOSHIBA MK」以下、計2行分を全部0で埋めます。
文字コードの'0'じゃなくて、数値の00で埋めてください。
6.jpg

あとはTAAで普通にドラッグアンドドロップなり、コピペなりで転送すればOKです。
注意事項として、1回転送したらもう一度検索からやり直さないと、
次に転送したファイルが再生できなくなります。
大量のファイルを1度に転送しても1回は1回なので、できる限りまとめて
転送するのがよろしいかと思われます。

転送した後、こうなります。
7.jpg
びみょーに書き換わってます

続けて転送するならまた検索してください。
8.jpg


ちなみにこの手順で作ったSATファイルは、SSD(CF)化したgigabeatであれば
どの本体でも再生できるはずです。
たとえば大容量のSSDに買い替えたとして、換装したらSATをコピーすれば
再生できてしまいます。(たぶん)

投稿者 Hikari : 23:18

2010年9月 4日

gigabeat G40のSSD化に成功(?)

gigabeat G40のSSD化は以前も挑戦したのですが、再生こそできるが
実用性に問題ありな結果でした。
一応音が出たことに満足してあれ以来ほとんど触っていなかったのですが、
気まぐれでもう一度試行錯誤してみることにしました。

結果、前回の問題点を克服し、電源が落ちても再生できるようになりました。
おそらくこれでSSD化に成功したと言って差し支えないでしょう。

やり方ですが、ここに書いていいものか判断に迷うところなので、
機会があったらその時にでも書こうと思います。
色々と危険な手順が含まれておりますので。
需要があれば教えたいところなのですが。

以下、チラシの裏らしく今回の件をぐだぐだと書いておきます。

gigabeat Gシリーズは音楽ファイルを専用のソフトで暗号化して転送する必要があります。
暗号化されたファイルは他の機体では再生できず、基本的に暗号化される前の
ファイルに戻すこともできません。

Gシリーズの暗号化の鍵にハードディスクのシリアルが使用されているというのは
わりと有名な話(?)ですが、鍵の格納場所や具体的な内容って実はあまり知られて
いないのではないかと思います。
実は前回SSD化に挑戦したとき、そのあたりを完全ではありませんが、ある程度
予測できていました。
gigabeatが主電源OFFの状態から最初に電源が投入されたとき、
HDDのシリアルナンバーから鍵となる文字列を生成し、ハードディスクの
セクタ1とセクタ2の先頭部分に書きこんでいます。
ここに書きこまれた文字列は転送ソフトが参照し、使用します。
何に使われるかというと、このドライブがgigabeatである事の判定と、
暗号化するときの鍵として使用されます。
ただし、gigabeat自身が再生するとき、つまり復号には使用されません。
この領域は主電源OFFから起動した時のみ書きこまれるので、主電源をOFFに
しなければgigabeatによって書き変えられることがありません。
なので、ここを書き変えて色々することができたわけです。
その結果、暗号化には使用されるが復号には使用されないという結論に至りました。
じゃあ復号鍵はどこにあるのかというと、憶測ですがgigabeatがメモリ上に
保持しているのだと思います。
これは主電源を切らなければそのまま残っているらしく、前回のSSD化はそれを
利用して無理矢理HDDの鍵で再生していたわけですね。

さて、CFを使って鍵を生成させた場合はどうなるのか?
色々やって、現時点での結論は「鍵が生成されない」です。
ひょっとすると鍵を作ってくれるCFやSSDがあるのかもしれませんが、たぶん東芝の
HDDじゃないとgigabeatは鍵を作らないのだと思います。
鍵が生成されていないのは、CFのセクタ1とセクタ2を見ることで解ります。
ここで厄介だったのが、NULLが書きこまれるのではなく、何の書き換えも
行われないということです。
元々何らかのデータが書き込まれていた場合、それがそのまま残っています。
元々空白だった場合はもちろん空白のままです。
この事実に気付いたとき、真にSSD化することは無理なのではないかと思いました。
鍵がないということは、再生できるファイルが存在しないのではないかと考えたからです。

一応可能性として、鍵が「ない」のではなく、「NULLを鍵として再生しようとする」
のではないかという仮説をもとに、今回の挑戦に至ったわけです。
話は簡単で、NULLで復号しようとしているのであればNULLで暗号化すれば
いいわけです。

と、ここから先は具体的な方法に触れる部分ですので、またの機会に。

投稿者 Hikari : 21:45