2010年12月25日土曜日

BDAVをhogehogeする

AnyDVD HDやDVDfab Passkeyを用いることで、現在はAACSのバージョンしばりもなくBDAVをバックアップできる。
今回はあえてフリー環境で、BDAV BackupGUI Betaを利用してバックアップを行う。

BDMV(市販・レンタルブルーレイソフト)のリッピングについてはまた別の機会に。




BDAV BackupGUI Betaと、必要なアプリケーションダウンロードする

アプリケーションは全てhttp://ysk.orz.hm/BD/からダウンロードできる。
  • BDAV BackupGUI Beta
    BackupBDAVやcBackupBluRayのフロントエンドとして動作する。
  • BackupBDAV
    判明しているDevice key, Processing key, Media keyなどから、BDAVのバックアップを行う。
    動作にはJavaが必要。
  • cBackupBluRay
    BackupBDAV同様、BDAVのバックアップを行う。BackupBDAVよりも機能豊富。
  • bnlba
    /AACS/AACS_av/Unit_Key_RW.infのLBA値を取得する。
  • bdavinfo
    BDAVディスクに記録されている番組情報を取得する。info.bdavファイルからプレイリストを取得し、プレイリストに対応したrplsファイルから番組情報を取得する
各アプリケーションはBDAV BackupGUI Betaと同一のディレクトリに展開する。


BackupBDAVを使用するにはレジストリキーを登録する必要があるため、 http://ysk.orz.hm/BD/Backup_BDAV/BackupBDAV20110724.zip もダウンロードし、内容のレジストリキーを登録する。

使用しているレコーダーのAACSのバージョンを調べる

アプリケーションの準備が整ったら、使用しているBDレコーダーがどのバージョンのAACSを使用しているか調べる。
BDAV BackupGUI Betaを使って調べる方法と、MKB_RW.infを直接バイナリエディタで開いて確認する方法がある。

BDAV BackupGUI Betaを使用する
  1. BDレコーダーで数十秒程度、適当に映像を録画し、それを新品のBD-REにダビングする。
  2. ダビングしたBD-REをPCのBDドライブに挿入する。
  3. BDAV BackupGUI Betaを起動し、AACSバージョンを確認する。

    AACS vXXで表示されたバージョン番号が、現在のBDレコーダーのAACSのバージョンである。

    MKB_RW.infをバイナリエディタで開く
    1. BDレコーダーで数十秒程度、適当に映像を録画し、それを新品のBD-REにダビングする。
    2. ダビングしたBD-REをPCのBDドライブに挿入する。
    3. \AACS\MKB_RW.infをバイナリエディタで直接開き、12バイト目(0x0000000B)を確認する。

    12バイト目は「11」であることから、このディスクを記録したBDレコーダーのAACSのバージョンはV17であることがわかる。

    BDAV BackupGUI Betaを用いたバックアップ

    BDレコーダーのAACSのバージョンがV10以下であれば、BackupBDAVが持っているProcessing Keyでバックアップが可能。ダビング済みのディスクをBDドライブに挿入して、BDAV BackupGUI Betaを起動し「処理開始」ボタンを押せば出力フォルダにデコード済みのm2tsファイルが出力される。



    V11~V18の場合は、そのままではバックアップできないので以下の手順を試す。
    V19以降の場合は、MediaKeyが判明していないため、BackupBDAVを用いたバックアップは現在できない。その場合はAnyDVD HDやDVDfab Passkeyを使うしかない。

    Media Keyの登録

    判明しているMedia Keyは http://wiki.nothing.sh/2331.html に登録されているので、こちらのFirst C-valueとMedia Keyを、BackupBDAVと同一ディレクトリにある「MediaKeys.txt」に追記して、BDAV BackupGUI Betaでバックアップできるか試してみる。
    上記にあるBW850、BW880のMedia Keyで、パナのV12, V16機であればバックアップ可能になる可能性が高い。
    メディアのMKBと登録したMediaKeyがマッチしない場合、BDAV BackupGUI Betaの「処理状況」タブを開くと以下のような表示で処理が停止している。
    Z:\BackupGUI>aacskeys.exe W w 16800
    aacskeys v0.26(BDAV v0.67)
    Could not find a Processing Key or Device Key resulting in the Media Key.
    Aborting...
    この場合、メディアのMKBを書き換える必要があるので、さらに以下の手順を試す。

    MKB_RW.infの書き換え

    メディア側の\AACS\MKB_RW.infをMedia Keyが判明しているMKBに書き換える。
    • BDレコーダー側AACSバージョンよりも新しい、First C-valueとMediaKeyの判明しているMKBに書き換える。
    • BDレコーダー側AACSバージョンと同一バージョンの、First C-valueとMediaKeyの判明しているMKBに書き換える。
    前者の場合、V12のレコーダーに対してV16のMKBが書かれたメディアを挿入すると、レコーダー側もそのMedia Keyを持ったV16のレコーダーになるという点(いわゆる「感染」)である。この性質を逆に利用して、レコーダーを既に判明しているMedia Key感染させてやることで、バックアップ可能なMKBを持つレコーダーにすることができ、感染以後にダビングしたBD、BD-REはバックアップ可能となる。

    後者の場合、BDレコーダーがダビングを行う際は、BDレコーダー側とメディア側で互いのMKBが異なっていたとしても、互いが同一のAACSバージョンのMKBを持っているのであれば、BDレコーダーはメディア側に登録されているMKBを使用するため、レコーダー側からMKBを更新されることなく、また、レコーダー側のMKBを感染させることなく、AACSバージョン限定でバックアップ可能なメディアとしてBD-REメディアを運用することができる。

    BDレコーダーが複数機あり、BD-REメディアをレコーダーのAACSバージョンごとに用意するのが面倒と言うことであれば、前者の手法を使ってMedia Keyが判明しているMKBに一斉に感染させてしまった方が手間は少ない(必ず1台で実験し、そのMKBでバックアップが可能になったことを確認してから全台に感染させること!)。

    現在、First C-valueとMediaKeyの判明しているMKB_RW.infは http://ysk.orz.hm/BD/MKB_RW/ から入手可能。こちらからダウンロードしたMKB_RW.infを、BD-REメディアの\AACS\MKB_RW.infに上書きする(この際、当然ながらPC側BDドライブは書き換え可能なものが必要)。
    上書き後にダビングした映像はMediaKeyの判明しているMKB_RW.infで暗号化されるので、BackupBDAVでバックアップ可能となる。上書き前に録画した映像は再生もバックアップも不可の状態になるので注意(BDレコーダー側で消去するしかなくなる)。


    Tips

    • レコーダー側の問題なのかbdavinfoの問題なのかわからないが、パナソニック機では録画済みBD-REのコンテンツを消去してそのまま再度別のコンテンツをダビングする場合、コンテンツ消去後に一度イジェクトをかけないと、STREAMディレクトリ内のファイル番号とrplsに記録されたプレイリストの番号とのマッチがとれなくなり、BDAV BackupGUI Betaからはバックアップができない状態に陥ることがあった。