リッピングのツール達2020/9/23 ここではリッピングに必要な全盛期に活躍したツール達の説明をします。 エンジンリッピングにとって重要なのはAACSの肝であるデバイス認証の突破とホスト認証の突破なので、それを司るaacskeysが最も重要なツールであることは言うまでもありません。 しかしaacskeysはタイトル・キーまで抽出して終わっていることは前にも説明しました。BDAVの場合はタイトル・キーをCPSKey.cfgというテキストファイルに書いて終了します。この時点ではまだ映像コンテンツはタイトル・キーによって暗号化されたままなのでこれを解く必要があります。 またBDAVの場合のホスト認証突破にはBinding Nonce取り出しのためにその位置情報(LBA)が必要なのですが、aacskeysはそれは自前で獲得できず外から指定されることを前提に作っているので、aacskeys実行の前段階でこれを取得しておく必要があります。但しNeo2011版aacskeysの2010年5月頃の版では自前で取ってきています。 更にaacskeysはホスト・キーが分からない時はホスト認証を自前で突破、つまりBinding Nonceを取得しないで、他ツールに任せ、これをパラメータで貰うことができるような作りになっています。これが所謂V3リップの時の動作ですが、その時に必要なツールなどもここで説明します。
フロントエンド・ツール前述のエンジンとなる各ツールを見てもらうと分かる通り、全てコンソールアプリケーションです。そのためコマンドプロンプトでそれぞれのツールをコマンド実行しないといけません。手順としては以下のような感じです。 まずbnlbaやIsoBusterを実行。取得したBinding Nonce LBAを今度はaacskeysのパラメータにして、更にドライブレターも指定して実行。次にBackupBluRay.jarなどをやはり必要なパラメータを指定して実行します。そんなに沢山のコマンドを打たないといけない訳ではありませんが、こうしたコマンド実行は沢山キーボードで打鍵しないといけない訳でUNIX使いやMS-DOSの頃からパソコンをやっている人なら抵抗ないですが、通常のWindows使いには馴染みのない作業です。 例え馴染みのある人でも各アプリの仕様(どんなパラメータをどういう順序で指定するのかなど)や実行順序も覚えてないといけないので、これは何気に煩わしかったです。 そこでフロントエンドとしてこれらの一連の処理を簡易に実行できるようバッチファイルが用意されていました。 [フロントエンドとしてのバッチファイル例]
このバッチファイル例だとIsoBusterは事前に実行してBinding Nonce LBAを取得しておく必要がありますが、大分楽になりますよね。このようなバッチファイルと更には必要なプロセス・キーを書いたファイル、及び上記エンジンとなる各ツールのセットがBackupBDAVとして用意されてました。 それでも結局コマンドプロンプトを起動してこのバッチファイルを実行し、ドライブレターや出力フォルダなどを一々手で打鍵しないといけない(できるだけコピー&ペーストはしますが)ので、やはり既にGUIに慣れてしまった多くのWindows使いには煩わしかったです。そこでこの一連の処理を完全GUI化したアプリが開発されていました。私が愛用していたのは以下のBDAV BackupGUI Betaというアプリです。ご覧のように完全日本語対応というか、逆に日本語版しかないので作者不明ですが日本人です。 名前の通りベータ版のままでしたが、全く問題なく使えました。各種エンジンアプリなど必要な部品を同一フォルダに置いておくだけで、利用するエンジンアプリの種類やそのアプリに対するオプションパラメータの指定もラジオボタン一つでできますし、各種フォルダ指定も通常のWindowsアプリケーションのようにマウスでポンポンと選べます。そして最後は「処理開始」ボタンをクリックするだけです。 すると以下のように呼び出した外部コンソールアプリの標準出力も右の画面内に表示されるし、進行状況もプログレスバーで出ます。後は処理が終わるのを待つだけ。 非常に安定もしていて、このアプリ起因でリッピングが失敗したことは一度もありませんでした。 尚、タイトル名が表示されていますが、これには別のbdavinfoというアプリが必要でした。 また上記いずれのツールもaacskeysに関してはNeo2011版のインターフェースを前提に作られていたので、KenD00版だと動きませんでした。どちらも既に開発が停止していた上、ソースが公開されてなかったので治しようがなかったため、ソース公開されているaacskeys側を直す他なかったのは前述している通りです。 BDMVの場合ここまで説明してきたエンジンツールの多く、更にフロントエンド・ツールは全てBDAV用のものですが、aacskeysもエンジンである前述のBackupBluRay.jarなどもBDMVとBDAVの両対応との説明もしてきてますので勿論BDMV用のフロントエンド・ツールもあります。 まずはBDAVと同じくバッチファイルがあります。 [BDMV用のバッチファイル例]
ただ見ての通りBDAVのものと比べると極めて単純ですよね。BackupBluRay.jarを実行しているだけではないかと思われるでしょう。aacskeysを実行しないのか。aacskeysを実行しないとBackupBluRay.jarのインプットであるCPSKey.cfgが吐かれないので動きません。 ではどうやってやるのかと言うと、まずaacskeysをsオプションまたはvオプションで実行します。すると各種キーが表示されるので、その中からDecrypted Title KeyまたはDecrypted Unit Keyを特定のフォーマットでCPSKey.cfgに書き込んでから、上記のバッチファイルを実行します。要はCPSKey.cfgを自分で編集して作りなさいという話ですが、ちょっと面倒ですよね。 なぜaacskeysにBDMVフォーマットのCPSKey.cfgを吐き出す機能がないのか不明ですが、とにかくaacskeysがこのような仕様なので一連の処理をバッチ化することができない訳です。もしかすると後述するGUIツールが便利だったので、むしろそちらに合わせる形でaacskeysの仕様がこうなっているとも言えると思います。 その便利なGUIツールがSlySoftが無償提供していたBlu-ray Disc Ripper for .NETというツールです。 [SlySoftのBlu-ray Disc Ripper 1.2 for .NET] SlySoftというとAnyDVD HDという有料リッピングツールを作っていたベンダーですが、そこがなぜこのようなツールを無償提供していたのかは不明です。 .NETとあるので、.NET Frameworkのインストールなどは必要ですが、VCなどのランタイムライブラリが必要なツールがあるのと同じようなものです。BDドライブのドライブレターと出力先フォルダを指定して後はやはりDecrypted Title KeyまたはDecrypted Unit Keyを指定するだけ実行します。 [Blu-ray Disc Ripper 1.2 for .NETの実行状況] GUIツールらしくプログレスバーも出て、とても使いやすいです。Decrypted Title Keyなどを指定する必要があるので、予めaacskeysを実行して取得しておく手間はあるのですが、逆にそれだけと言えばそれだけです。このツールにCPSKey.cfgを読む機能がないので、aacskeysがCPSKey.cfgを吐いても意味がないのため、敢えて作らなかったとも言えるかもしれません。 また前述のBDAV BackupGUI Betaは一発実行で楽だと言いましたが、やってくれるのは動画ファイルの暗号解除までなのでBDデータとして必要な他のデータPLAYLISTフォルダやCLIPINFフォルダなどは自分でコピーする必要があります。まあコピればいいだけの話ではありますが、手間がかかることには変わりありません。しかしこのツールはそれもやってくれます。 従ってこれを実行し終えると出力先にできたデータをそのままBDに焼くだけで、リッピングされたBDMVディスクが完成してしまいます。 リッピング後のツールリッピングは映像コンテンツの暗号が解除され、プレーンなデータになれば基本的には完了です。しかしBDAVの場合は中にはこのデータをまたレコーダに戻して再生したいと思う人も非常に多いでしょう。その場合実はまだやることがあります。 映像コンテンツには暗号化とは少し違う概念ですが、コピー禁止符号というものが埋め込まれているのが普通です。CCI(Copy Control Information)と呼ばれるものですが、これを除去しないとレコーダなどでコピーができません。コピー禁止符号を検知したといって即停止してしまいます。 このCCIを除去するツールとして使われていたのがcciconvというコンソールアプリケーションです。これのGUI版であるcciconvGUIというアプリもありました。画面の作り(使う部品の傾向)からして前述のBDAV BackupGUI Betaと同じ作者と思われます。 また前述のcBackupBluRayなどはオプションでこのcciを除去しながら暗号解除をやってくれます。 またパナソニックのBlu-rayレコーダDIGAは独自のコピー禁止情報(フラグ)を持っていて、これを解除しないとやはりコピーができませんでした。この情報はCCIのように映像コンテンツ(m2tsファイル)に埋め込まれていたものではなく、別のプレイリストファイル(拡張子が.rpls)に書かれていました。 このプレイリストファイルの特定の場所(フラグ)にある数値が書かれていて、それを変更すればOKでした。その値というのが通常はヘキサで「22」だったのですが、これを「00」にすると解除されました。そのためこれを実施するツールの名がまさにrpls22clrというコンソールアプリケーションでした。まんまですよね。これもGUI版であるrpls22clrGUIというツールもありました。いずれも作者は日本人です。 当初はプレイリストファイルの中の正確なフラグ位置が分からなかったので、ヘキサ0x22の場所を探し、当然他にもヘキサ0x22にたまたまなっている箇所もあり得るので、前後の特定情報から位置を予測して特定しクリアしていました。しかし実は0x22以外の値があることも分かりました。その場合フラグ位置を特定するのが難しくなったのですが、逆にその頃プレイリストファイルの構造からフラグ位置を正確に特定する方法も分かって、その値を単純に0x00にするのではなく、その値と0x22との排他論理和(XOR)にすればいいことも判明しました。 最早0x22をクリアするといった単純な処理ではなくなったのですが、依然ツール名はrpls22clrのままでした。因みに上記改良がなされたのはrpls22clr 1.40で、GUI版は最初から入ってます。 Blu-rayの暗号システムのトップページへもどるデジタル家電のトップページへもどるホームページへもどる |