« Wii ISOのゲームタイトル編集 | トップページ | USBメモリのフォーマット »

2009年4月17日 (金)

wiiトワイライト・ハック(20)WiiScrubber


USB 個別ゲームチャンネル化のときに出てきた WiiScrubberについて。


WIIScrubber 1.4 Multboot
 http://gbatemp.net/index.php?showtopic=135884
 http://wiinewz.com/forums/nintendo-news/94322-wiiscrubber-1-4-multiboot.html
 etc


Wii の ゲームディスクは、吸い出してみるとすべて同じサイズとなる。
片面一層であれば、 4,699,979,776bytes (4.38GB) である。

本来すべてのゲームのバイナリがこんなぴったりのサイズになるわけもなく、
規定サイズまで、無用なデータでパディングされているわけ。

しかもこのパディング、0 だの 0xFF だのという決まったコードで埋められているわけでなく、
暗号化されたコードの羅列になっているとのこと。
そして、そのため、 ISO ファイルを圧縮しようとしてもうまく圧縮がかからない。(サイズが小さくならない)


WiiScrubber はWiiのディスクISOを解析し、
 ・ 中のファイルを取り出す ( opening.bnr でお世話になった機能)
 ・ パディング部分を 0xFFなどの圧縮しやすいコードに変換(scrub) (ISOとして有効なまま、圧縮は利くようになる)
 ・ パディング部分を削除(trim) (ISOファイルのサイズ自体を小さくする)
などの機能を持つ。


せっかく時間をかけて吸い出したISOファイルは、完全に不要になるまでPCに残しておきたいもの。
だが、1つにつき 4.38GB というのはHDDコストが高すぎる。

Backup Disc はこの4.38GBをそのまま焼かないとちゃんと動かない(らしい)ため、
Trim してしまうわけにはいかず、
Scrub をかけたISOイメージを(ZIPだとサイズが大きすぎてだめなので)RAR形式などで圧縮保存し、
使うときは解凍して、、などとやっていた。


USB Loader がリリースされ、WBFSにゲームをインストールする際、
4.38GBではなく、ゲーム本来のサイズの部分だけがインストールされるようになった。

と、いうことは


  ISOファイルももう Trim してしまっていいのではなかろうか。


実験したところ、Trimして 300MB とかのサイズになった ISO ファイルで、
問題なく WBFS にインストールでき、Wii で実行できた。


■手順

必要ファイル一式 →
 ※ただし、「Multiboot」に関するファイルは割愛した。触れない予定なので。


ダウンロード、解凍後、まず MakeKeyBin.exe を実行。

 いわれるとおり「 42 」を入力し「 GENERATE 」。 →「 OK 」「 EXIT 」。
 key.bin , kkey.bin という2つのファイルが作成される。
   これらは暗号化されたWiiディスクの復号(decode)に必要な鍵ファイルらしく、
   著作権的問題で添付配布ができず、こういう形になっているらしい。
      あまり深くは突っ込まないでおく。

WIIScrubber.exe を実行。

 「 Load ISO 」で ISOファイルを指定。
  右上の Disc Data Size 欄に、どのくらいのサイズになるのかが表示される。

 「 Trim 」
  ファイルの保存ダイアログが開かれる。
  元の ISO と同じ場所に、ファイル名に "(trim)" のついた ISO ファイルを作成、がデフォルトになっている。
  ので通常はそのままで OK。

  実行終了まで待つ。

  完了したら、できた (trim).ISO ファイルを WBFS Manager で取り込んでみるなどして、確認。
  大丈夫であれば、無事元の大きな ISO ファイルは削除できる、と。


■雑記

これで、HDDを圧迫していたISOをだいぶ小さくできた。
300MBとかであれば、その辺の動画ファイルと変わらないので、
HDD上にキープしておくのにそう難はない。

中にはサイズがあまり小さくならないゲームもあって、
そういうゲームには敬意を払いつつ、完了。


■注意

trimした ISO ファイルをなんらかの理由で元に戻さないといけない場合。

WiiScrubberではできないようなので、
 ・ WBFS Manager で、 WBFS にインストール後 Extract する。
もしくは
 ・ オリジナルからもう一度吸いだす
ということになるだろうか。

# 4.3GBサイズまで0xFFを埋める程度のプログラムなら、その気になれば作れちゃうか…
# それでいいのかどうかは知らないが:)


いずれにせよ他人のデータに責任は持てないので自己責任にてよろしく。


|

« Wii ISOのゲームタイトル編集 | トップページ | USBメモリのフォーマット »

ゲーム(Wii)」カテゴリの記事

コメント

こんにちは!

またまた斬新なツールの情報をありがとうございます。
私もHDD容量にはちょっと困ってました・・・。
ありがたく使わせて頂きます。

投稿: うぃ~ | 2009年4月17日 (金) 13時36分

一度、TrimしちゃうとWiiScrubberで開けなくなっちゃうんですね・・・(T^T)

投稿: | 2009年4月17日 (金) 21時40分

確かに名無しさんの言うとおり、WiiScrubberで開けなくなっちゃいました(泣)
開けないと言うことは、個別チャンネル化も出来ない?感じなので、Trimはやめておこうと思います。
どちらにせよ、WBFS Manager→外付けHDDにはTrimしたデータが入るようになってますし、必要ならExtractでPCに戻せば良いですからね~。

投稿: うぃ~ | 2009年4月17日 (金) 22時07分

う…たしかに。
opening.bnr の抽出などができなくなっちゃいますね。
うーん早まったか(すでにtrim済み ^^:)

投稿: とんとん | 2009年4月18日 (土) 00時53分

携帯からで申し訳ないです。
WiiScrubberを使ってWiibrowseのように動画などを取り出したりできますか?
NET Framework Version 2.0がうまくインストールできないのでWiibrowseが使えないんです。

投稿: ゴンザレス伊藤 | 2009年4月18日 (土) 01時05分

>ゴンザレス伊藤さん

WiiScrubberからExtractした.thpファイル(動画)は、
thpplay.exeにドラッグ&ドロップすると再生されました。

楽ちんですね(^^)

投稿: うぃ~ | 2009年4月18日 (土) 01時52分

これってDVDに焼いても使用できるのですか?

投稿: CT | 2009年4月18日 (土) 02時59分

トリムしたものをDVDに焼いてもゲーム出来ますか?
ということであれば、多分出来ると思います。
試してみては?

でもDVDに焼いて残すなら、あまりトリムする意味も無いかなぁ。

投稿: うぃ〜 | 2009年4月18日 (土) 08時16分

>>うぃ~さん
ありがとうございます。

投稿: ゴンザレス伊藤 | 2009年4月18日 (土) 09時05分

>>うぃ~さん
スマブラなどの二層式やマルチディスクを作る際には使えると思います。

返信ありがとうございます。

投稿: CT | 2009年4月18日 (土) 11時24分

>CTさん

マルチディスクとは、複数のISOファイルを1枚のディスクに入れるということですか?
それって起動出来るんですか?出来るとしたら凄いですね(^-^)

スマブラはトリム後でも約7GBなので結局一層には焼けないですね(*_*)

投稿: うぃ〜 | 2009年4月18日 (土) 15時06分

理解しました。
マルチブートディスクでの起動というのが有るのですね。知りませんでした。

CTさん、ありがとうございました。

投稿: うぃ〜 | 2009年4月18日 (土) 15時46分

>うぃ~さん
テクスチャハックをしたいだけなので中身のVCやムービーをDummyに差し替えればある程度は減らせると思うのでさらにトリムしたら二層も4GB程度になり焼けると思っています。

まあ確証はありませんがw

投稿: CT | 2009年4月18日 (土) 17時36分

テクスチャハック……、
それも初耳ですが、実際出来るみたいですね、4GBぐらいに(;^_^A

そ、そこまでやるか〜!?
って感じです(汗)
とても勉強になりました。

投稿: うぃ〜 | 2009年4月18日 (土) 18時23分

trimしたものがWIIScrubberで開けなくなる、ということで、
開けるファイルもあり、うちでも半々くらいなんですが、
io_seek とかいうエラーが出ることからしても
ファイルの終端以降を触りに行っているのではないかと思い、
であれば
> # 4.3GBサイズまで0xFFを埋める程度のプログラムなら、その気になれば作れちゃうか…
をやってみようかな~という気になりました。
そしてHSPで書き始めて5分、

がーん

HSPでは 2GB までの数値しか扱えないことが判明 (^^;
Win32APIをたたかないとダメっぽい。。

投稿: とんとん | 2009年4月20日 (月) 17時19分

trimしたISOファイルを、WIIScrubberで扱うために
元の 4699979776バイトサイズに戻すプログラム、作ってみました。
http://tb7.cocolog-nifty.com/blog/files/WiiIsoUntrim.zip

注意:
・4699979776バイト以外のISO(2層)には対応してません。
・0xFFではなく、0x00で埋めます。たぶん。
・DVD-Rに焼いてバックアップ起動できるのかは未確認です。
 あくまでもWIIScrubberで再度扱えるようにするのが目的。
・大事なISOファイルはいきなりこれにドロップしないで、
 バックアップを取ってから試してください。
・実行時間の短さに驚かないでください。どんだけ手抜きなプログラムなのやら:)

投稿: とんとん | 2009年4月20日 (月) 20時03分

もしかしたらオリジナルサイズに戻さなくても、
数バイト大きくするだけでWIIScrubberはエラーを吐かないかも?
とふと思った。
時間があったらやってみよっと。

投稿: とんとん | 2009年4月22日 (水) 17時20分

スマブラXの容量を減らすためにこのツールを使って
亜空のムービーをダミーファイルに置き換えるというのを
やってみたいのですが、ダミーファイルはどのように
作るのでしょうか?ググったらフリーウェアが出てきました

投稿: moni | 2009年4月23日 (木) 19時34分

ダミームービーファイルの作り方はわかりませんが
抽出したムービーファイルの中で一番小さいやつで replace する
とかでもだいぶ小さくなるんじゃないですかね?
もしくは 0 バイトのファイルでもいいのかも(呼び出さないなら)

投稿: とんとん | 2009年4月24日 (金) 00時44分

>もしかしたらオリジナルサイズに戻さなくても、
>数バイト大きくするだけでWIIScrubberはエラーを吐かないかも?

思ったとおりでした。
trimしたISOも、1バイトサイズを大きくするだけでWIIScrubberで読み込めるようになりました。

投稿: とんとん | 2009年4月24日 (金) 00時55分

コメントを書く



(ウェブ上には掲載しません)




« Wii ISOのゲームタイトル編集 | トップページ | USBメモリのフォーマット »