プログラミング苦吟。

PHPとかデータベースとかVBとかで藻掻いている話。

DRM解除法のお復習い。

2009年07月30日 05時08分36秒 | ソフト

久しぶりにWMVファイルのDRMを解除しようとしたら何かと手間取ったので、お復習さらいの意味で纏めてみる。
大方の内容は二日前には書き上げてたんだが、通り一遍では済まないファイル幾つかに出会でくわして、時間が掛かってしまった(苦笑)

 

・前置き

現時点ではDRMの解除行為自体は違法ではない(たぶん)が、著作権保護のための仕掛けを外そうと云うのだから、あまり好ましいことではないだろな(苦笑)
わしの目的としては、

  • 長時間の動画ファイルから、必要な部分だけを抽出
  • 再生時の負荷が大きい高ビットレートの動画を、負荷の小さい低ビットレートに変換
  • 非DRM対応のソフトや機器での再生

辺りと云った処。
他にも目的はあるのだが、それには敢えて触れないことにする(笑) 再配布などは目的でないと、一応断りを入れておこうか。

希な例だと思うけれど、DRMの管理サイトが行方知れずになってしまい、再生できなくなった動画ファイルもあった。
そういう事態を避けたいとの狙いもあり、そのためには事前のDRM解除が不可欠になる。

DRMの解除ソフトは何種類か存在するようだが、多くは最新のWindows Media Player 11に対応していない様子。
今更WMPを旧版に戻す気にはならないし、仮想環境などでの旧版との共存もうちの現状では困難なため、WMP11でも可能な方法を探ってみた。

…あー、書き忘れた。
うちのWindowsはXP SP3なので、Vistaのことは知らない(笑)

 

・注意事項

以下の内容は飽くまでもわしが試したらう出来たと云う手順を記したものであり、巧く行かなかったからと質問されても、適切な回答を出来かねる場合がある。
また、不法コピーなど著作権の侵害行為を推奨・助長・幇助する意図は全く無い。DRMを解除したファイルは、飽くまでも個人利用に留め、不正配布などは行わぬよう強く願う。
その旨は呉々もご承知置きの上で、読み進めていただきたい。

 

・必要なソフト

前置きが長くなったので(苦笑)、そろそろ本題へ。
用意するのは以下のソフト2点。

  • DRMDBG
  • DRM2WMV

わしは、ひでさんという人のブログの記事を参考にさせていただいた。ここでひでさんと、各ソフトの作者に深謝の意を表する。

DRMDBGは入手が難しいようだけれど、根気よく探せば見つけられそうな。わしは探し回って、3月3日版を入手。
DRM2WMVは、ひでさんの記事を参考にAutomate unDRMというソフトを入手してインストールした。
実はAutomate unDRMそのものは不要で、中に含まれるDRM2WMVだけが必要らしい。Automate unDRMをインストールした所為か否かは不明ながら、環境が少しく不安定になってしまった。不要なソフトのインストールし過ぎは思わぬトラブルの元なので、可能ならDRM2WMVだけの抽出をお薦めしたい。

なお、各ソフトの入手先の記載は、諸事情により差し控えさせていただく。問い合わせられても、当方では一切お教えできないので悪しからず。
特殊な手法を用いずとも、“虚仮こけの一念”で励めば見つかるのでは…と、わしは思う。

一部に、Automate unDRMはウイルスだと難詰するブログが存在するが、恐らくこれはセキュリティソフトによる誤判定と思われる。うちでは特に警告は出なかった。
以前は全く問題無かったCPRM解除ツールをウイルス判定することがあるなど、セキュリティソフトの判断は無謬でも絶対的に正しいわけでも無い。
他者を非難するなら事前に善く善く事情を調べるなど、より慎重な姿勢が求められるのではないか。

 

・WMPなどのバージョン確認

解除手順に進む前に、WMPなど関連ソフトやファイルのバージョンを調べておきたい。
今後のアップデートなどにより、ここに記した手法が使えなくなる可能性があるので、その原因の切り分けに役立たせるためだ。

 

DRM付WMVファイルを再生可能なソフトは限られており、WMPを利用するのが一般的だろう。
まずはWMPのバージョンを、ヘルプ→バージョン情報で調べる。うちのは11.0.5271.5260だった。

DRM解除には、IndivBox.keyというファイルのバージョンも影響するらしい。子細はわしも詳しくないので、割愛(笑)
IndivBox.keyは、恐らく C:Documents and SettingsAll UsersDRM に在る筈。システムの設定に影響する場所かつ隠しフォルダなので、エクスプローラの設定を変更しないと見つけられないかも。変更方法は、各自で調べられたし。

無事ファイルが見つかったら、プロパティのバージョン情報タブでファイルのバージョンを見る。うちのは11.0.6001.8000だった。
DRMDBG 3月3日版が対応するIndivBox.keyのバージョンは11.0.6000.6324(New)らしいが、後述のように11.0.6001.8000でも解除は可能。

Windowsの自動更新を有効にしていると、IndivBox.keyのバージョンが知らない裡に上がっていることがあるらしい。
なので、今の方法がいつまで使えるかはMSの胸先三寸と云った処。

 

・キーの抽出

まずはDRMDBGを起動する。自動的にWMPも起動される。
DRMの解除に必要なキーはDRMDBGが起動したWMPを通じて取得するようなので、先にWMPを起動したり、自動起動したWMPを終了しないように注意。

DRMDBGの設定項目は、主に“WMV DIR”と“DRM2 DIR”の2つ。
WMV DIRの設定は必要かな? 念のため、DRMを解除したい動画があるフォルダをフルパスで指定する。
DRM2 DIRは、実際の解除作業を担うDRM2WMVに解除用キーを渡すためのフォルダ。なので、DRM2WMVのあるフォルダをフルパスで指定し、その下にある“Make DRM2 DIR”のチェックボックスをオンにしておくのが宜しいか。
なお、いずれのパス指定も末尾に“”(半角円記号)を付け忘れると失敗の元になりやすいので、これも注意。

DRM保護下のWMVファイルから解除用キーを抽出するには、DRMDBGにWMV DIRで指定したパスから探させる方法も採れるようだが、これは失敗しやすいように思う。
それよりは、DRMDBGが起動したWMPで、解除したいWMVファイルを1つずつ再生していくのが確実か。

抽出されるキーは、KIDとSIDの2種類。KIDは動画ファイルの識別子なので、通常は気にしなくて構わない。
SIDはDRMの解除用に用いるキー。

余程のことが無ければ何らかのキーが抽出され、DRM2 DIRで指定したパスにDRM2.keyファイルが作成される筈。
これはテキストエディタなどで簡単に編集でき、書式も判りやすい(と云うか、DRMDBGの出力形式そのまま)のだけれど、自信が無いならキーの抽出前に削除しておき、都度作成させるのが無難だろう。

 

‐同じKIDに複数のSIDが出力される、またはSIDが都度変化する場合

ファイルやDRMキー配布サイトに依るのか、同一のKIDに対して複数のSIDが出力されたり都度変化する場合がある。
DRM2.keyファイルを編集し、同一のKIDに対しては最後に出力されたSIDだけを残せばいいのだが、面倒だったり自信が無いなら、以下の方法がお薦め。

  1. DRMDBGが起動したWMPの再生リストに、KID/SIDを抽出したい動画ファイルをドラッグ&ドロップする。複数ファイルを登録しても構わない。
  2. リストのファイルを1つずつ再生していき、キーを取得する。
  3. DRM2.keyファイルを削除する。ついでにDRMDBGのClearボタンを押し、結果出力ウィンドウの内容も消去しておく。
  4. 改めて、リストのファイルを1つずつ再生する。

これでDRM2.keyファイルには、単一のKIDに対してはSIDが1つだけ残されるはず。

 

‐DRMDBGでキーを抽出できない場合

出会すまで知らなかったんだが、DRMにはV1とV2があるらしい。他にもあるかも知れないが、広く使われているのは多分この2つ。
で、DRM V2を再生したことが無い環境では、IndivBox.keyファイルが無いことがあるようだ。この場合は、DRMDBGで解除キーを抽出できない。
IndivBox.keyファイルは一旦DRM V2のファイルを再生すれば生成(取得?)できるようなので、DRMDBGでキーを取得しようとしても何も表示されないなら、この辺を疑ってみること。

解除したいファイルのDRMがV1かV2かを見分ける方法は、残念ながら知らない。
今時“IE8にはトラブルが多いから対応しない、IE7にダウングレードせよ”などと宣うサイトの動画は、V1なんでないかと思う。
少なくともわしが試した限り、大半の配信サイトではIE8で全く問題が起きていない。IE8に責めを擦り付けるのは、お門違いで無いか知らん(苦笑)

 

‐KID/SIDは何の略?

ところで、KIDやSIDは何の略かを調べてみたのだけれど、出て来るのは解除方法の話題ばかりで、結局はよく判らず仕舞いだった。
KIDは“Key ID”かな? SIDは“Software ID”か知らん。
やー、英語を含めた技術文書を漁りゃあ判るんだろーけどさ、そこまですんのも面倒なもんで(笑)

 

・DRMの解除と確認

DRMの解除前に、DRM2WMVがあるフォルダ直下にDRM2フォルダが作成され、その中にDRM2.keyファイルがあることを確認しておく。
わしは久しぶりに作業したらこのことを忘れていて、暫く悩んでしまったのである(苦笑)
また、デスクトップにDRM2WMVのショートカットを作っておくと善い。

DRM2WMVのショートカットにDRMを解除したいWMVファイルをドラッグ&ドロップすると、コマンドプロンプトのウィンドウが開き、処理が始まる。
文字ベースのメーターが表示されれば処理は進んでいるので、ウィンドウが勝手に閉じるまで善い子にして待つ(笑)
何らかのエラーメッセージが表示されていたら、解除キーか動画ファイルかHDDの空き容量か、何かしらの問題が起きている筈なので、メッセージをよく見て各自対処のこと。

DRM2WMVの処理が終わったとしても、油断してはならない。適切でないキーを与えたなどして、解除されていない場合があるのだ。キーが適合しなくても変換ファイルは何事も無かったように生成され、解除できたか否かは再生してみるまで判らない。
確認するには、解除後のWMVファイル(ファイル名の先頭に“[NoDRM]-”が付加される)を再生ソフトで再生してみる。WMPでも構わないが、GOM PLAYERなどDRM非対応ソフトの方が、結果の可否を判断しやすいと思う。

動画が正しく再生できたら、解除は無事成功。
画面が全体的にモザイクになるなど正しく表示されない場合は、解除失敗。キーの抽出からやり直すべし。

 

‐複数ファイルの一括処理

DRM2WMVはコマンドプロンプトで動作するCUIプログラムで、複数のファイルを渡すことは出来ない様子。
解除処理にはそれなりの時間が掛かり、複数のファイルを都度ドラッグ&ドロップするのが面倒なら、バッチファイルを組めば善い。組み方は各自の任意研究課題と云うことで(笑)

老婆心から二つばかり。
バッチファイルでは半角スペースを含むパス名を巧く処理できないので、"(ダブルクォーテーション)で括ること。
FORコマンドを巧く使うと、処理対象ファイルの名前をずらずら並べなくても済むかも。

 

 

・お仕舞い

手順は以上。何かのお役に立てば幸甚である。
取り分け、将来のわしに対して(笑)



2 コメント

コメント日が  古い順  |   新しい順
どうしても出来ず質問です・・ (ニキー太)
2009-10-08 12:40:31
こんにちは、丁度この問題で悩みに悩んでこちらへたどり着きました。 とても分かりやすくてありがたい次第です。

コチラのブログでは記載されていないのですが、一旦、DRMフォルダの中身を削除した後、WMPを再インストールや、WMVファイルをIDPASSを入れて再生したりしました。

IndivBox.keyがDRMフォルダの中に復活せずで困っています・・(他のDRMv1.key等5つのファイルとCacheフォルダは復活しました)

IndivBox.keyファイルがなくてもよいのでしょうか?
DRM2を再生すれば…。 (山善)
2009-10-08 16:01:31
ニキー太さん、初めまして。
コメントありがとうございます。

久しくやってないのでうろ覚えですが、IndivBox.keyファイルが無いと解除できないと思います。

DRM2の動画を再生すれば生成されたと思いますが、確かではありません。
きちんと再生できなくても再生しようとした(キーを取得しようとした)時点で、生成されたような気がするのですが。

ご参考になれば幸いです。