【DTCP】DirectShowで横取り解除at AVI
【DTCP】DirectShowで横取り解除 - 暇つぶし2ch2:525
10/12/05 02:21:00 tEm3OOb+.net
今後の焦点は、自前のフィルタを使って、DTCPやCOPPなどの
認証を突破してコンテンツ・データをキャッチし、その暗号化を
解く事。

COPPについては:
URLリンク(msdn.microsoft.com)

DTCPの認証については:
URLリンク(www.dtcp.com)
URLリンク(www.toshiba.co.jp)

DirectShowについては:
URLリンク(www.geekpage.jp)

GraphEdit や GraphStudioのDLは:
URLリンク(www.videohelp.com)


3:graphedit を参考のこと。



4:525
10/12/05 02:41:20 tEm3OOb+.net
用語:

AES = Advanced Encryption Standard または、Audio Engineering Society
ATM = Asynchronous Transfer Mode
ATSC = Advanced Television Systems Committee
BDA = Broadcast Driver Architecture または、希に Bluray Disk Association
CA = Conditional Access
CRL = Certificate Revocation List
CCI = Copy Control Information
DDI = Device Driver Interface
DRM = Digital Rights Management
DSA = Digital Signature Algorithm
DSS = Digital Signature Standard
DTCP = Digital Transmission Content Protection
DTLA = Digital Transmission Licensing Administrator
HDTV = High Definition Television
EMI = Encryption Mode Indicator
MMI = Man Machine Interface
MPEG = Motion Picture Experts Group
MPEG-TS = MPEG-Transport Stream
SI = 「Service Information」の略で、デジタル放送の番組を視聴するために
必要な情報やEIT(Event Information Table)と呼ばれる番組タイトルや放送
時間、番組出演者などで構成される。
WMDRM = Windows Media DRM
XMR = Extensible Media Rights, as defined by WMDRM

5:525
10/12/05 02:52:59 tEm3OOb+.net
前スレの「601」:

>BDA Digital Tuner_0 -> BDA Digital Capture_0 -> Eagle SI Analyzer -> Dump Filter
>の順で一応接続は出来ますが、再生ボタンを押しても何も起きない状態。

「Eagle SI Analyzer」は、番組情報を解析する物のようなので、
これを挟まずに、いきなり「Dump Filter」を接続することは
出来ませんでしょうか?

お手数かけますが。

6:名無しさん@編集中
10/12/05 03:03:56 cZIUY4ix.net
>>4

BDA Digital Tuner_0 -> BDA Digital Capture_0 -> Dump Filter

接続はOKでした
ただ、先ほどと同じく再生しても何も起きません


7:525
10/12/05 03:16:34 SYJnsnfd.net
>>5
>接続はOKでした

これは凄い朗報です。

>ただ、先ほどと同じく再生しても何も起きません
Dump Filter によってファイルは作成されませんか?
保存先のファイルのファイルサイズは 0 ?

8:名無しさん@編集中
10/12/05 03:40:46 cZIUY4ix.net
>>6

ダンプファイルは作成されていません

9:525
10/12/05 03:50:45 SYJnsnfd.net
>>7
そうですか。

今は、下記を読んでいます:
URLリンク(www.toshiba.co.jp)
URLリンク(www.km.gits.waseda.ac.jp)

デバイス鍵、MKB、メディアID、タイトル鍵、メディア固有鍵

など色々あります。


10:525
10/12/05 04:23:47 SYJnsnfd.net
一通り読み終えましたが、CPRMは、DVDなどリムーバブルメディアに
かける保護&暗号とのこと。その肝となる要素として、メディア毎に
違ったIDや、デバイス鍵がばれたら世界中で変更されるMKBという
鍵がリードイン領域という円盤の中心付近に書かれており、これは、
基本的に円盤メディア専用と考えて良いようです。

ということは、DirectShowのグラフ間を流れるMPEG2データは、
暗号化されているとしたらどの規格によってか? という事が
知りたくなります。

・チューナーから放送波を取り出した直後はMULTI2暗号かも知れない。
・それ以後は、「WMDRM」という保護技術を使っている可能性がある。
・デバイスメーカー独自の暗号技術の可能性もあるかも知れない。


ここで、MULTI2暗号なら、既に解除するコンバーターが作成済みです。
また、経験的に言って、メーカー独自の暗号技術は使われてないよう
な気がするので、MULTI2ではないなら WMDRM ではないかと推定され
ます。

では、WMDRM を解除できれば良さそうです。

WMDRMについては、MSの「PBDA(Protected BDA)」をmsiでインストールす
ると、

C:\Documents and Settings\xxxxxxx\My Documents\Microsoft PBDA Specification v1.3.1

という場所に、PBDA_Pt3_WMDRM.doc というファイルが出来ていて、
それが仕様書になっているようです。

11:525
10/12/05 04:30:40 SYJnsnfd.net
もう一つの可能性は、

1. HDDに記録される場合は、WMDRM
2. DirectShowを流れる場合は、最初にフィルタ間でCOPPで認証し合うだけで、
コンテンツ自体は、全く暗号化されていない。
3. DVDやBDに書く場合は、CPRM

という可能性です。2. については他にも色々な可能性がありますが、
今のところ不明です。

詳しい方がいらっしゃいましたら、ご教授していただければ幸いです。

12:525
10/12/05 04:36:48 SYJnsnfd.net
次の記述がI/OデータやBuffaloのHDDに記録した動画データの
制限に完全に相当するようです。

URLリンク(support.microsoft.com)

「マイクロソフトは、Windows XP Service Pack 1 (SP1) に含まれて
 いる Stream Buffer Engine (SBE) と暗号化/復合化 (EncDec) コン
 ポーネントを更新する更新プログラムをリリースしました。」

「Windows XP Media Center Edition で録画済みの番組は拡張子 .dvr-ms
ファイルに格納されます。DirectShow を使用して .dvr-ms ファイルに
アクセス可能かどうかは、コンテンツの所有者、放送局、またはこの
両者の設定したコピー保護ポリシーにより異なります。放送局が番組
をコピー保護に指定すると、Windows XP Media Center Edition ベー
スの PC を使用してパーソナル ビデオ レコーダー (PVR) 機能 (後
で見るために番組を録画するなど) を完全に使用できますが、これら
のファイルを他の PC またはデバイスで再生することはできません。」



13:525
10/12/05 05:00:03 SYJnsnfd.net
MPEG-21 なるものもあるんですね:

URLリンク(mpeg.chiariglione.org)

14:525
10/12/05 05:37:57 SYJnsnfd.net
MPEG2の仕様自体に、Conditional Access Tableや、
ECM、EMM などが盛り込まれているんですね。

となれば、MPEG2-TS の中身を見れば、どういう暗号化がされている
かは分かるのかもしれない。


15:525
10/12/05 05:40:34 SYJnsnfd.net
MPEG-2の仕様書は入手しにくいのですが、ありましたので、
必要な方は早めに DL:

URLリンク(pbx.mine.nu)

16:525
10/12/05 06:09:16 SYJnsnfd.net
PBDA_Pt3_WMDRM.doc の 3.13 Transport Stream に、

The MTD supplies the following transport stream headers bits as
described below. The full MPEG-2 transport stream header is as
defined in ISO/IEC 13818


17:-1. This section clarifies the usage of certain bits in the context of PBDA. The two transport_scrambling_control bits must be set in one of the following ways 0x00 The transport stream packet is not encrypted. 0x01 The trailing 184 bytes of the transport stream packet is encrypted using Bulk AES Counter Mode. 0x02 The Transport Stream Payload is byte encrypted with Streaming AES Counter Mode. The payload bytes are the bytes in the transport stream packet after the adaptation field. 0x03 Reserved などとあり、MPEG-2 の暗号化の種類をMSのWMDRMが規定していることが 分かった。 そして、それ以後の節に、それぞれの暗号化の詳細が書かれている。



18:525
10/12/05 07:23:52 W8a0y9BB.net
えーと、I/O Data, Buffalo, SKNET(MonsterTV)などの付属ソフトや
WindowsMediaCenter などで正規に保存されたファイルは、今のところ
推定では、MPEG-2に MS-WMDRM に従った暗号が掛けられたものではない
かと思っています。

実は、WMDRM 暗号は、解くことが出来るらしいので、どなたか
親切な方に試してみて欲しいのです:
URLリンク(www.katch.ne.jp)

果たして、市販のキャプチャカードで正規に保存した動画ファイルを、
上記リンク先の記述に従って、DRM 解除出来るでしょうか?


それから、>>15 と同書の 3.2 Cryptographic Requirements を
読んでいて思ったんですが、DirectShow は、上流(MTD)と下流(MTS)の
間で、RSAを使った公開鍵/秘密鍵で認証を行った後、動画コンテンツ自体
は、128BIT AESを使った対称鍵暗号を使っているのではないかという
事です。「ではないか」と言ったのは、WMDRMがDirectShowにそのまま
使われているかどうかはまだ確認が取れてないためです。

19:525
10/12/05 07:38:40 W8a0y9BB.net
「RippingTool DRM」でGoogle検索すると、色々あるようです。

DRM Ripper:

URLリンク(www.dvd-ipod.biz)

こういうソフトがあると言うことは、恐らく、DirectShowの
下流にフィルタ接続すれば、リアルタイムに DRM 解除された
「無垢な」MPEG2ファイルを作れるんでは?

20:名無しさん@編集中
10/12/05 08:15:43 sAFLIWKb.net
ついさっき、このスレを見つけたばかりの新参者で、MonsterTV U3は持ってい
ませんが、おもしろそうなネタなのでおじゃまします。
(DirectShow/BDAについてはほんの少し経験あり)

前スレの「601」:
>BDA Digital Tuner_0 -> BDA Digital Capture_0 -> Eagle SI Analyzer -> Dump Filter
>の順で一応接続は出来ますが、再生ボタンを押しても何も起きない状態。
通常BDAでのテレビアプリでは、フィルター間のpin接続とは別にCOMによる
フィルター間の接続があり、これが無いとTuning Processが行われない
参考 : URLリンク(msdn.microsoft.com)(v=VS.85).aspx

アプリが自分の作ったGraphをIRunningObjectTable->Register()していれば
そのGraphをGraphEditのメニュー[File]->[Connect Remote Graph]で見ること
ができるが、商用アプリはまず絶対にこれを行ってない。
が、DirectShowSpy
URLリンク(alax.info)
を使えばROTをRegisterしないアプリのGraphもGraphEditで見れる。(見れない場合もある)

まずは、純正アプリが正常に動いている状態のGraphをDirectShowSpy+GraphEdit
で見れるか試してみては?

21:525
10/12/05 08:41:06 W8a0y9BB.net
>>18
非常に貴重で興味深い情報を2つも上げていただいた事を感謝


22:します。 DirectShowSpyなんてものがあるとは知りませんでした。 これで一挙に解析が進みそうです。



23:名無しさん@編集中
10/12/05 08:46:52 cZIUY4ix.net
>>18
DirectShowSpy を試してみたところ、
MonsterTVHDのグラフの接続を見ることが出来た
URLリンク(www1.axfc.net)

24:525
10/12/05 08:48:03 W8a0y9BB.net
やるべき事をまとめてみると、

1. >>16 >>17 で書いたように、正規チューナーの正規ソフトで作成
 された暗号化mpeg2ファイル(拡張子はtsかも知れない)を、
 各種、DRM Ripping Toolで無垢なmpeg2に来るかどうかの調査。

2. 純正アプリが正常に動いている状態のGraphを
 DirectShowSpy + GraphEditで見れるか調査。

2.については、少しプログラミングが必要?

25:525
10/12/05 08:57:10 W8a0y9BB.net
>>20
素晴らしいです。

「Video Renderer」は、多分、暗号化されてない「無垢な」画像しか
入力できませんから、ここに自前のフィルタを入れてやれば、
好きなファイル形式で無垢な動画ファイルを作れそうです!!

26:名無しさん@編集中
10/12/05 08:57:23 sAFLIWKb.net
参考に、海外製のチューナーで無印スカパのノンスクランブルチャンネルを
GraphEditだけで視聴してみた時の実験記録。
URLリンク(www1.axfc.net)

水を差すようだが・・・・
個人的な意見としては、日本の地デジチューナーはチューナーの中でローカル
暗号化(メーカー独自の暗号)されており、ローカル暗号化されたTSを抜くこと
はできても、これを解除するのは、純正アプリをクラッキングしないかぎり
まず不可能ではないかと思う。

27:525
10/12/05 09:02:03 W8a0y9BB.net
>>23
しかし、>>20の画像を見る限り、最後は「Video Renderer」に入力されて
いますね。「Video Renderer」は、Windowsに最初から入っているフィルタ
ですから、メーカー独自の暗号化がされている可能性は低そうです。

そもそも暗号化されてないような予感もあります。されていたとしても、
WMDRMではないかと推測されます。

28:525
10/12/05 09:39:54 W8a0y9BB.net
>>20
お手数ですが、その状態で、「MainConcept MPEG-2 Video Decorder」
の「Video Out」のプロパティーはどうなっていますか?

推定では、

majortype: MEDIATYPE_Video
subtype: TIME_FORMAT_NONE

です。
かなと思うんですが。

29:525
10/12/05 09:57:08 W8a0y9BB.net
DirectShow の「Video Renderer Filter」は、
IDirectDrawVideo というインターフェースを持っている。
さらにそれは、GetDirectDraw()で、IDirectDrawインターフェース
を取得できる。また、GetSurfaceDesc()で、DirectDraw surfaceの
DDSURFACEDESC 構造体を取得できる。

こういった物を使って、上流の MPEG-2 Decorder が画面に画像を
送り込んでいるだけかも知れない。

つまり、何の暗号化もされていないデータが、DirectDrawを使って
書き込まれているだけのような。

30:名無しさん@編集中
10/12/05 12:55:46 cZIUY4ix.net
>>25

majortype: MEDIATYPE_Video
subtype: MEDIASUBTYPE_YV12
fotmattype: FORMAT_VIDEOINFO2

でした。画像も貼っておきます。
URLリンク(www1.axfc.net)

Decoder SpecificのExtradataだけデータが長いため別途アップロード
URLリンク(www1.axfc.net)

31:525
10/12/05 14:44:44 W8a0y9BB.net
>>27
有り難うございます。

なるほど、YUV 形式の静止画を次々に送っていると言うことなのかも
知れませんね。詳しい人には何を今さら当然のことを言っているのだと
言われるかも知れませんが。

32:525
10/12/05 22:23:26 uo2ryrga.net
【参考までに】

MSDN Library Arpil 2001 の

「Platform SDK Documentation」-「Graphics and Multimedia Services」-「DirectX」
-「DirectShow for Whistler」-「Using DirectShow」-「Microsoft TV Technologi


33:es」 -「Conditional Access」 に Conditional Access についての記述がある。



34:名無しさん@編集中
10/12/05 23:51:11 cJ86Y779.net
なんか昔の”ぶらくら”思い出すなあ。


35:525
10/12/06 12:25:54 8oW35nrL.net
>>30
といいますと?

36:525
10/12/06 14:22:38 8oW35nrL.net
>>20

MonsterTVHD で、テレビを視聴しながら同時にmpeg2ファイルに出力する方法を
考えてみました。

ただし、MonsterTVHD 以外でも、DirectShow の Graph のどこかに Video Decorder
の出力がある場合は、同様の事が出来る可能性があります。

URLリンク(up.mugitya.com)

↑の画像を参考に、>>20の状態の GraphStudio において、
Smart Tee と Ulead MPEG Encorder を Insert して、
MainConcept MPEG-2 Video Decorder の Video Out を、Smart Tee の Input に
付け替え、その Capture 出力を Ulead MPEG Encorder に入れ、その Output(図の丸1)
を File Write します。
同時に Smart Tee の Preview(図の丸2)を Render 出力します。

これで、プレビュー再生と同時に File Write した場所に mpeg2 ファイルが作成
される可能性があります。

お手数ですが、出来れば確認してもらえますか?


今回の図では、ある wmv ファイルを再生して、その動画を再生しながらファイル出力
に成功しました。動画の形式は期待通り変換されており、WMP で再生出来ることを確認
しました。


37:525
10/12/06 14:48:30 8oW35nrL.net
Ulead MPEG Encorder は、最初は出さずに、Smart Tee の Capture 出力以外の結線が
終わった後に出した方がよいようです。

そうしないと、Smart Tee の Preview を 自動 Render 出力しようと
した時に、Ulead MPEG Encorder に勝手に繋がってしまうようなので。

【詳細手順】

[1] メニューから Graph - Insert Filer をクリックして Filters ダイアログを出し、
  Smart Tee を Insert します。

[2] Filters ダイアログを閉じます。
  
[3] MainConcept MPEG-2 Video Decorder の Video Out を、
  現在つながっている Video Renderer の VMR Input0 から切り離し、
  Smart Tee の Input に接続します。
  
[4] Smart Tee の Preview(図の丸2) で右クリックして Render Pin を行います。

[5] メニューから Graph - Insert Filer をクリックして Filters ダイアログを出し、
  Ulead Encorder を Insert します。

[6] Filters ダイアログを閉じます。

[7] Smart Tee の Capture に Ulead MPEG Encoder の Input Video を接続します。

38:525
10/12/06 15:02:44 8oW35nrL.net
[8] Ulead MPEG Encoder の Output(図の丸1) を右クリックして、Insert File Write を
  行います。この後、ファイルの出力先をxxxx.mpgなどと指定します。
  
[9] Graph Studio の上部にある再生ボタンを押します。
  上手く行けば、動画のプレビューが始まるはずです。

[10] [8]で指定した場所に xxxx.mpg が出来ているか確認します。

[11] xxxx.mpg が出来ている場合、ダブルクリックすると、Windows Media Player で
   再生できる可能性があります。

39:525
10/12/06 15:09:12 8oW35nrL.net
誤字訂正:
[5] は、Ulead Encorder ではなく、Ulead MPEG Encorder でした。


なお、Ulead MPEG Encorder は色々な出力に対応している様で、MPEG2 で出力
したい場合は、Ulead MPEG Encorder の Properties を開き、
Muxer タブの MPEG Type を MPEG 2 に設定してください。
Output Type は、File ではなく、Output Pin のままで良いようです。
これを File にすると何が起きるかは試していません。

40:名無しさん@編集中
10/12/06 16:36:31 8oW35nrL.net
age

41:名無しさん@編集中
10/12/06 21:06:59 r3nSEBMX.net
>>32
生視聴中はGraphStudioからグラフの停止ができないため、フィルタの挿入ができず。
(停止しようとしてもすぐ再生されてしまう)
録画した番組を一時停止にしておいてGraphStudioからフィルタの挿入しようとするとGraphStudioが強制終了してしまう。
MonsterTVHDも動作不安定になる。GraphEditでも同様。

42:525
10/12/06 22:39:02 8oW35nrL.net
お疲れ様です。

ならば、手動で>>20>>32の修正を施したグラフを作ってから、再生
ボタンを押せばどうかとも思いましたが、>>18 さんのご指摘によれば、

>通常BDAでのテレビアプリでは、フィルター間のpin接続とは別にCOMによる



43:>フィルター間の接続があり、これが無いとTuning Processが行われない >参考 : http://msdn.microsoft.com/en-us/library/dd695268(v=VS.85).aspx との事ですので、その場合は、チューニングは始まらないと思います。 >>20 の状態で、オレンジ色のオブジェクトの名称を右クリックで調べ、 それと同じオブジェクトが、チューナーソフトを起動しなくても存在 しているか調べていただければ助かります。 チューナーソフトを起動した状態で、テレビ画面を OFF に出来るなら、 その後に、GraphStudio を起動し、当該オブジェクトが存在するかも 確認していただければ助かります。



44:525
10/12/06 22:43:22 8oW35nrL.net
良く考えてみれば、そんな事しなくても 「Video Renderer」フィルタを
フックしてしまえばいいだけですね。

「Video Render」に置き換わるようなプログラムをこちらで用意してしまえば
データは奪えそうです。

45:525
10/12/07 04:35:15 p67fhwmw.net
【Memo】

・Windows SDK の sampvid が、Video Renderer のソースでした。
・ビルドするには、sampvidのビルドに入る前に、
C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses
をビルドしておかないと行けない。
・sampvid だけを別のディレクトリにコピーしたりせずに、配布された
ディレクトリ構造のそのままの位置でビルドする。そうしないとinclude
ファイルや、baseclassesに作成されたlibファイルが参照できない。

一応ビルドには成功しました。主にdllとexpファイルが出来ます。


それから、暗号や認証に関して嬉しい事が判明しました。ただし、
言うと皆さんにとっても残念な事になりそうなので言いません。
想像にお任せします。

46:525
10/12/07 09:12:35 p67fhwmw.net
URLリンク(u9.getuploader.com)

↑にテスト用のVideo Rendererをアップロードしておきました。
これをダウンロードし、解凍すると、SampVid.dll と2つのBATファイル
が出来ます:
1. フィルタ登録用BAT: MyVideoRenderer-Register.bat
2. フィルタ登録解除用BAT: MyVideoRenderer-UnRegister.bat

となっています。BATファイルを実行するときは、Windowsx Explorer で
これらのファイルがあるディレクトリを表示した状態で、各BATファイルを
ダブルクリックします。

このフィルタを登録すると、システムのデフォルトのVideo Renderの
代わりに、このフィルタが使われるようになります。上手く行くと、
>>20 の様に MonsterTVHD のチューナーを使うときに、これが使われ
るはずです。

このフィルタが使われた場合は、「Active X」の文字に動画が切り抜かれて
表示されるので判別できます。

実験方法は、1.のBATをダブルクリックした後、チューナーを起動してくだ
さい。

もし、「横取り」が成功した場合は、テレビ画像が「ActiveX」の文字の
形に切り抜かれて表示されるはずです。


これは、MonsterTVHD に限らず、WindowsのデフォルトのVideo Renderer
を使っているあらゆるソフトに有効のはずです。Windows Media Playerでも、
拡張子がmpgのファイルに対しては有効でした。拡張子がwmvのファイル
の場合、働きません。理由も分かっていますが、今はお話ししません。

47:525
10/12/07 09:19:09 p67fhwmw.net
書き忘れましたが、このフィルタの正式名称は、
「My - Sample Video Renderer」
です。

登録していれば、GraphStudio の Graph - InsertFilter の中にも
この名称で表示され、実際に挿入することも出来ます。

File - Render Media File を行った場合も、なるべく自動的にこの
フィルタが使われます。

48:名無しさん@編集中
10/12/07 19:43:07 OwAMv+wB.net
>>41

・MonsterTVHD -> 失敗
相変わらず、VideoRender(VMR7) が使用されていました

・Windows Media Player 11(MPGファイル,AVIファイル) -> 失敗
調べたらレンダラにEVRが使用されていました

・GomPlayer (レンダラをデフォルト) -> 一応成功?
ActiveXの文字は表示されていませんでしたが、My - Sample Video Rendererが挿入されていました
AeroがONだと動画すら表示されません

念のためPCの再起動して


49:実験しています ちなみに、GraphStudio で MonsterTVHD に My - Sample Video Renderer フィルタ を挿入すると強制終了します



50:525
10/12/07 20:30:01 p67fhwmw.net
>>43
OSは、Vistaですか? こちらはXP SP3です。

>・GomPlayer (レンダラをデフォルト) -> 一応成功?
>ActiveXの文字は表示されていませんでしたが、My - Sample Video Rendererが挿入されていました
>AeroがONだと動画すら表示されません

これは不思議です。動画は表示されるんでしょうか?
My - Sample Video Renderer が使われていれば、必ず AcriveX の文字の
形に切り抜きされた動画になるはず何ですが。

>・Windows Media Player 11(MPGファイル,AVIファイル) -> 失敗
>調べたらレンダラにEVRが使用されていました

これは、XPとは仕様が変更になっているようです。

>・MonsterTVHD -> 失敗
>相変わらず、VideoRender(VMR7) が使用されていました

GraphStudioで、Insert Filters の所で見れる、Filter Detailsの
Video Rendererの「Merit」値は、いくつになっていますか?
こちらでは、Video Renderer が2つあるんですが、
Object Name = Default Video Renderer の方は、
Merit 0x00800001
で、
Object Name = Video Renderer の方は、
Merit = 0x00400000
です。

【続く】

51:525
10/12/07 20:33:51 p67fhwmw.net

Video Mixing Renderer 9 という DirectShow Filter もあって、それは、
ObjectName = Video Mixing Renderer 9
Merit = 0x00200000

となっています。

Meritの値が大きいフィルタほど優先的に選ばれます。
基本的にグラフが自動接続される際、接続される出力PIN<--->入力PIN
のMedia Typesが同じ物が選ばれるのですが、同じMedia Typesの後続の
フィルタが複数ある場合、Merit値が大きいフィルタが使われます。

My - Sample Video Renderer の Merit値は、0xff000000 です。

52:525
10/12/07 20:45:13 p67fhwmw.net
一応、言っておきますと、XPより、Vista、Vista より 7 の方が、
動画のセキュリティーが強くなっているようではあります。
XPではなかったDRM/Conditional Access関係のAPIが追加されていますし。

53:名無しさん@編集中
10/12/07 23:33:47 OwAMv+wB.net
>これは不思議です。動画は表示されるんでしょうか?
>My - Sample Video Renderer が使われていれば、必ず AcriveX の文字の
>形に切り抜きされた動画になるはず何ですが。

URLリンク(www1.axfc.net)
妙な形に伸縮されて表示されます。

>GraphStudioで、Insert Filters の所で見れる、Filter Detailsの
>Video Rendererの「Merit」値は、いくつになっていますか?

2つとも同名の Video Renderer がありましたが、片方のフィルタの入力ピンがVMRとあったのでVMR7と思われます。

Video Renderer
のメリット値は 0x00400000

Video Renderer(Video Mixing Renderer)
のメリット値は GraphStudio上では表示されず、DirectShow Filter Toolで確認したところ
0x00800001 でした

54:525
10/12/08 01:21:38 Z+OWZHq8.net
>>47
大変有り難うございました。

Windows Vista 以降では、DirectShow に代わって、「Media Foundation」
が使われるようになってきているらしく:
URLリンク(msdn.microsoft.com)

「Content Access」の項を読むと、content protection は、これで
行われるそうです。

ですので、もしかするとXPだと今のやり方でも横取りできても、Vista以降
だと無理なのかも知れません。ただし、保護を突破できる可能性はあります。

55:525
10/12/08 13:43:40 Z+OWZHq8.net
色々と調査しました。Vista以降で使われるようになった Media Foundation
は、Protected Environment の中で、Protected Media Path を使って、コン
テンツを保護します。

アプリケーションが動画を再生しようとすると、別プロセスで、
Protected Environment が起動し、コンテンツの暗号を解くのもそこで
行われ、全く関係のないプロセスからは平文化されたコンテンツを奪う
ことは出来ないようにされています。

ただし、DirectShow のフィルタと同様なコンポーネントが存在し、
何か鍵のような物を埋め込んでおくと Video Renderer のような物を
独自に用意することも出来るようになっているそうです。
その鍵がどう言った物が書かれた文書がなかなか探し出せませんでした。
MS から root key を貰ってくるとか、MakeCert, Cert2SP, SignCode を
使って鍵を作ったりするとかの記述は見つかりましたが、広く公開したく
ないためか、やり方がはっきりしませんでした。

なので、Media Foundation を破るには、MSとの正式契約を結んだ人からの
情報リークか何か無いと難しいかも知れません。


他の方法を考えてみると、MS製 Video Renderer を実装しているDLLである
c:\win\system32\quartz.dll を○○○して、○○○するという手があり
ます。

56:名無しさん@編集中
10/12/08 17:57:17 g+nik


57:qPU.net



58:525
10/12/09 06:50:38 PXLtxdIB.net
>>50
ちなみに、Vista以降は、Media Foundation と DirectShow の両対応です。

59:525
10/12/11 01:50:13 uoUP0u+4.net
c:\windows\system32\quartz.dll を逆アセしてみると、
RegCreateKeyや、RegSetValue、RegOpenKey など、DirectShow を登録するための
API が随所で使われており、DllRegisterServer や、DllUnregisterServer も
export されている。

当初「Video Renderer」の文字列を検索してみても出てこないので、戸惑ったが、
実は、8バイトのchar文字ではなく、utf16のwchar文字が使われているためであった。
なので、db 'V',00,'i',00,'d',00,'e',00,'o',00 の様な形式で入っている。
これは意味的に書いただけで、実際は、'V'などは、ASCII コードになっているので
検索痔は直す必要がある。要は、

wchar wszVideo[] = L'Video Renderer';

のようになっているのだが、このアドレスは、別のテーブルから参照されており、

(X)【7d0a5000 あたりから始まるテーブル】
{
{
xxxx,
wszVideo,
xxxx,
xxxx,
xxxx,
}
,
{
・・・
},
}



60:525
10/12/11 01:54:39 uoUP0u+4.net

のような、一つが 20 バイトの構造体の中に入っている。これは、
sampvid.cpp の CFactoryTemplate 構造体とサイズも等しく興味深い。
sampvid.cpp のような、一般的な DirectShow のフィルタの場合、
CFactoryTemplate g_Templates[] = { {},{} };
の様なデータを自前で書き、g_Templates は baseclasses のフレームワーク
から参照される。

quartz.dll の場合も、(X)のテーブルのアドレスは随所から参照されており、
20 バイトをアドレスに加算するようにして次々にループするような事が行われ
ている。これはまさに、g_Templates を処理しているように見える。

なお、quartz.dll を自前のフォルダにコピーしてから、試しに
regsvr32 /u quartz.dll とすると「DllUnregisterServer に失敗しました」と出るが、
regsvr32 quartz.dll とすると「成功」し、再度、
regsvr32 /u quartz.dll としても「成功」する。

この状態で、GraphStudio を起動し、Insert Filter で見てみると、
当初は存在した、Video Renderer 二種と、Video Mixing Renderer 9 が消えている。
確認のため、もう一度、regsvr32 quartz.dll としてから、
GraphStudio を起動し直してみると、これらが現れるようになった。

つまり、quartz.dll は、あんがい普通のフィルタの書き方がなされているらしい。


61:名無しさん@編集中
10/12/11 02:19:16 lyUFEQnU.net
525の日記スレに情報追加してみるテスト

Content Protection なる項目が
URLリンク(www.gdm.or.jp)

62:525
10/12/11 07:08:30 msX1GDq5.net
PIXELA の PIX-DT096-PE0 なんかは、Wチューナーでロープロファイル対応
で、公式には、Vistaと7だけの対応ですが、実際にはXPでも動作するそう
です。XPで動作すると言うことは、勘ではDirectShowを使っています。

このことをどなたかに確認して貰いたいのです。

ただし、確認自体は、I/O データやBuffalo のチューナー/キャプチャ・デバイス
でも行って貰いたく思います。

実験の仕方:

1. URLリンク(www.videohelp.com)
 から GraphStudio をダウンロードする。
 
2. GraphStudio.exe へのショートカットをデスクトップに作る。

3. 以下に示すようにして、DirectShowSpy.dll をダウンロードしてくる:

URLリンク(alax.info) の中ほどの、

download the binary DLL from version control repository (DirectShowSpy.dll -- Win32, x64)

となっている所から、使っているOSに応じて、32BIT版(Win32)または、64BIT版(x64)の
dll をダウンロードする(Win32またはx64のリンクをクリックするだけ)。

4. Windows にアドミニストレーター権限でログインした状態で、コマンドラインを起動し、
  DirectShowSpy.dll がカレントディレクトリにあるようにしてから、

> regsvr32 DirectShowSpy.dll

とする。ただし、


63:VistaなどのOSでは、SDKの「proppage.dll」が必要らしい。



64:525
10/12/11 07:09:31 msX1GDq5.net
5. なお、DirectShowSpy をアンインストールするには、

> regsvr32 /u DirectShowSpy.dll

とすれば良いが、今はしない。

6. チューナー/キャプチャ・デバイスの正規のアプリで、テレビ画面が見えている
 状態にする。

7. GraphStudio を起動し、
 メニューの 「File」-「Connet to Remote Graph」 をクリックする。
 
8. 「Remote Graphs」に一覧が表示されるので、クリックしてみる。
  経験的には、何度かクリックしないと駄目なことがある。
  
9. 上手くいけば Graph Studi のメイン・ペーンに DirectShow のグラフが表示
 される。
 
10. 出来れば、Alt+PrtScr ボタンを押して画面をキャプチャし、Win付属のペイントで
  保存して、ネットにアップロードして頂ければこの上ない。

65:名無しさん@編集中
10/12/12 00:25:18 8OnTs6gr.net
「【BUFFALO】パソコン用地デジチューナー 4ch」スレ:
> 248 :名無しさん@編集中:2010/12/11(土) 17:21:01 ID:Se4BMRdE
> >>246
> 前に調べたときはPcastTV for地デジでDirectShowを使っていたよ。
> でもドライバをどうやって作ればいいのかわからない。

貴重な情報を有り難うございます。DirectShow を使っていると分かっただけ
でかなり進展です。

ドライバの作り方に関しては対策をされると困るのでなかなか言いづらい
所ですが、恐らく作れると思っております。

66:名無しさん@編集中
10/12/12 01:30:12 8OnTs6gr.net
age

67:525
10/12/12 01:45:16 8OnTs6gr.net
>>54
調べてませんが、何なんでしょうね。

68:525
10/12/12 05:29:40 41AlTDka.net
quartz.dll を解析していたら、標準のVideo Rendererフィルタを
レジストリに登録している場所が判明しました。意外と標準的な
方法をとっています。

69:名無しさん@編集中
10/12/12 15:18:38 7AY6KsFL.net
IO-DATAのGV-MVP/VSという地デジ・BS・CSチューナーをWindows 7 32bit上で
使用している者です。
今回、IO-DATAのチューナー用のBonDriverが作れる可能性があるということで
期待しています。

早速、上記環境でのGraphStudioキャプチャ画像を撮影してみました。
URLリンク(gyazo.com)
ご参考になれば幸いです。

他になにか協力できることがありましたら遠慮無く言ってください。


70:名無しさん@編集中
10/12/12 15:42:51 HVXbZ2nj.net
>>61
Ulead Full TS to Partial TS
とか
Coral BML_CC Decoder
とか、美味しそうなフィルターがあるなあ・・・・

71:525
10/12/13 00:28:18 FoUp0Cvs.net
>>61
ご協力有り難うがとうございます。
最終出力は、Enhanced Video Renderer (EVR) ですね。
製品はWinXPにも対応していますね。
Vista/7でのEVRは、Media Foundationからの制御で、認証で保護されて
います。しかし、XPに対応していると言うことは、Vista/7 でも、
○○すれば、○○出来ると予想されます。

都合上伏せ字になりますが、ご勘弁下さい。

72:名無しさん@編集中
10/12/13 23:10:32 9n+CeRD0.net
わたしはWinXP SP3で、I-O DATAのGV-MVP/XSWを使っていますが、
URLリンク(www.age2.tv)
な感じになりました。

同じI-Oでも、ハードウェアエンコ付きだと違うんですね。
ごにょごにょできなくてもいいので、デフォルトのソフトがうんこなのが
なんとかなればと…

参考にしていただければ幸いです。

73:525
10/12/14 02:54:04 2i1vdVN4.net
>>64
ご報告有り難うございます。

74:525
10/12/15 13:19:07 ZjXtjruI.net
URLリンク(u9.getuploader.com)

↑に横取り実験パックを用意しました。実験の仕方は中の Readme.html に
書かれています。

今回は、横取りの仕方を少し


75:変更して、 WMPで、wmv, mpg, mpeg, avi などどんなファイルを再生しても 横取りできるようになっています。前回は、ファイルの種類によっては、 横取りできていませんでしたので、進展しています。 これで、Buffalo や、I/O DATA、Pixela、SKNET などのテレビ画面も 横取りできるか実験して貰いたく思っております。予想では 出来るんではないかと思っております。 実験に成功すると、デバイスに付属の正規の視聴ソフトの画面が、 「ActiveX」の文字列の形に切り抜かれて表示されるはずです。



76:525
10/12/15 13:33:44 ZjXtjruI.net
WMPからの横取りには成功するが、視聴ソフトの画面の横取りには失敗
する場合、>>55-56 の手順で、視聴中の DirectShow Graphを調べ、
Video Renderer や Video Mixing Renderer 9 などの
「CLSID」を調査して貰いたいです。

それが分かれば、yokodori.dll がそれを横取りするように追加して
みます。

77:525
10/12/15 13:35:47 ZjXtjruI.net
今のところ、WMP が出力に使っている Video Renderer の CLSID
だけを横取り対象にしているので、それ以外を用いている視聴ソフト
は横取りできないと思います。その場合は、>>67 に書いたように
そのフィルタのCLSIDさえ分かれば横取りできる可能性があります。

78:61
10/12/15 15:24:23 LSeF/7ic.net
>>61で報告した者です。
>>66 の横取り実験パックですが、依存DLLであるmsvcr100.dllを入手、
インストールすることで実験できました。

実験結果ですが、私の環境(Win7 32bit)では 最終出力がVideo Renderer
ではなくEnhanced Video Rendererであるためか >>68 でおっしゃるとおり
WMP・視聴ソフトともに画面の横取りはできませんでした。

GraphStudioで調べてみたところ、Enhanced Video RendererのCLSIDは
{FA10746C-9B63-4B6C-BC49-FC300EA5F256} でした。ご参考まで

79:名無しさん@編集中
10/12/15 15:48:20 EnKx/0ue.net
このスレは何をするところ?

80:名無しさん@編集中
10/12/15 16:39:26 jPjnjmUE.net
DirectShowで横取り解除

81:名無しさん@編集中
10/12/15 17:02:36 pH7dUHdN.net
PT2買いそびれて他のTS抜き方法を探してる人がここにまだいるなら、
PT2Rev.Bの製造と販売(2月末までに36,800枚)があるからな

PT2買えた\(^o^)/買えなかった(´・ω・`)139台
スレリンク(avi板)


82:47
10/12/15 18:52:01 rwwitlnL.net
>>66
Vista SP2環境です。
MonsterTVHDでは失敗。

使用されていたレンダラは以下の通り。

Video Mixing Renderer
{B87BEB7B-8D29-423F-AE4D-6582C10175AC}

GomPlayerのレンダラ別キャプチャ画像
URLリンク(u9.getuploader.com)

WMP11では失敗。
>>69と同じ状態。

83:525
10/12/15 21:04:01 ZjXtjruI.net
URLリンク(u9.getuploader.com)

>>69 で報告して頂いた、EVRのCLSID:
{FA10746C-9B63-4B6C-BC49-FC300EA5F256}
も横取り対象にしておきました。

これで、Vista以降のWMPやチューナー/キャプチャでも横取りできるよう
になっているかも知れません。

>>73
WinXP 環境のGomPlayerで試してみたところ、横取り自体は成功している
ようです。表示が「ActiveX」の切り抜きになっていないのは、切り抜きの
方法が、コンテンツ自体をいじるのではなく、Window の外形を
SetWindowRgn(),CombineRgn(),CreateRectRgn(),PathToRegion()
などを使って設定しているからだと思います。
普通はRenderer Filterでこんな事はしないので、GomPlayer が対応
出来ないのだと思います。

新しい Yokodiri.dll では、WMP11 で横取りに成功する可能性があるので、
お手数ですがお試し頂ければ幸いです。

84:525
10/12/15 21:06:13 ZjXtjruI.net
>>73
>使用されていたレンダラは以下の通り。
>Video Mixing Renderer
>{B87BEB7B-8D29-423F-AE4D-6582C10175AC}

このCLSIDは、横取りするようになっているはずなのですが、
失敗しましたか・・・。

85:名無しさん@編集中
10/12/15 21:50:08 rwwitlnL.net
VistaでYokodori.dllを削除(解除)しようとすると、

DllUnregisterServerは失敗しました。
0x80070005

と表示されエラーコードで検索するとアクセス権の問題のようなので、
レジストリ内にある 登録された CLSID を調べてみたところ、
所有が TrustedInstaller になっていました。
(管理者権限より�


86:繹ハの権限らしい) 所有権を自分のものに変更し、削除したところうまくいきました。



87:525
10/12/15 21:51:44 ZjXtjruI.net
>>71
Buffalo, I/O データ, Pixela, SKNET(MonsterTV)などの TS抜きに
対応していないチューナー/キャプチャ・デバイスから、DirectShow
グラフの途中のデータを横取りして、「平文コンテンツ」を抜き出し、
そのままの形式やMPEG2に再エンコードしてからファイルに吐き出し
たり、リアルタイムに TvTest で使えるように BonDriver の開発
を行おうとするスレです。

「TS抜き」とは、MULTI2暗号化されたMPEG2形式の放送コンテンツを
そのまま抜き出すことですが、このスレでは、まずは、
圧縮も暗号化もされていない「平文」のコンテンツを抜き出す事
を目標にしています。平文のコンテンツが抜き出せれば、MPEG2
圧縮を書けることも可能ですし、意味はないですが敢えて好きな暗号
を書けることも出来ます。MPEG2圧縮は、ベタのコンテンツを
DirectShowの MPEG2 Encoder Filter に繋げれば出来てしまいます。

BonDriver用には、MPEG2圧縮してから MULTI2 暗号をかける必要が
あるかも知れませんが、TvTestが対応していれば、MULTI2暗号は
省略できるかも知れません。

88:525
10/12/15 22:00:05 ZjXtjruI.net
>>76
TrustedInstaller については初耳で、参考になります。

実は、Yokodori.dll をアンインストールしたいとき、
Yokodori-UnRegister.bat は、実行する必要はなく、
Quartz-Register.bat を実行するだけで構いません。
Readme.html には念のため書いておきました。

新しいバージョンの Yokodori.dll をインストールするときは、
Yokodori-UnRegister.bat は実行せずに、いきなり、
Yokodori-Register.bat で特に問題ないと思います。

なぜなら、WMPなどが使用しているVideo RendererのCLSIDに
対応するDLLやDirectShowフィルタ関係のレジストリを上書きして
いるだけですから。これは、Quartz-Register.bat を実行すれば、
再度デフォルト値に上書きされるので、システム標準に戻ります。

89:名無しさん@編集中
10/12/15 22:57:16 Z4Wo2BcF.net
>>78
あんた自身は地デジチューナー持ってるの?
まずは手持ちのやつで解除してからにしたら?

90:525
10/12/15 22:59:44 IiVW10ut.net
>>79
残念ながら持ってません。

91:61
10/12/15 23:27:27 LSeF/7ic.net
早速のご対応ありがとうございます。
>>74 のもので試してみましたが、実験結果は >>69 と変わらずでした。

92:525
10/12/16 07:10:03 GJUDwUgz.net
>>81
ご報告有り難うございます。お手数をおかけしたのに、結果が得られなかった
事をお詫び申し上げます。

ただし、今のところ、一番報告が欲しかった、WinXPでのテストがまだ一見
もありませんのでもうしばらく様子を見たいと思っています。

93:名無しさん@編集中
10/12/16 08:43:29 nYPdzpod.net
レベル低すぎて糞ワロタ
地デジチューナーなんか今時一万円もしないだろう。手元で動作確認くらいしろよな。


94:525
10/12/16 08:58:49 UQ5/WfNy.net
>>83
買うとしたら、ロープロファイルの W録出来る物を買って、
家電レコーダーのような薄型筐体で録画専用の自作PCの中に入れよ
うと思ってるんです。なので、候補は Pixela の 1万6,000円位する
物になります。PT2だとロープロファイルでないので、家電のような
筐体には入らず、最小でもキューブ型になるので躊躇してます。

もし、DRM解除ができないなら、家電レコーダーでも買おうかとも
思っているので、実験のためだけに買うのは気が進みません。

95:525
10/12/16 09:07:48 UQ5/WfNy.net
それにアンテナのコンセント(?)からも遠い場所に今使っているPCがあ
るので、もしチューナーだけを買っても、実際にこの場所で映像を見る
ためにはどうするか考えないと行けないですし。

居間のテレビが置いてある場所に、録画専用PCを作って一気に
テストできればと考えています。

そのためには出費は7~8万円はかかりそうなので


96:、実験のため だけの出費は抑えたい。



97:525
10/12/16 10:02:27 UQ5/WfNy.net
>>69 (>>81) >>73
実は、GraphStudio でフィルタを表すはこの中に表示される名称は、
実際に使われているフィルタの名称とは全く違っていることがあります。
なぜなら、アプリケーションが、フィルタをグラフ内に登録する際、
好きな名前を付けることが出来るためです:
IFilterGraph::AddFilter(IBaseFilter *pFilter, LPCWSTR pName);
のpNameで、pFilterの本当の名称とは全く違う名称を付けることが
出来る。

というわけで、GraphStudioで、一見、「Video Mixing Renderer」と表示
されていても、異なっていることがあります。なので、その箱の上で
右クリックして「Filter」タブの、「ObjectName」の値を調べて
頂ければ助かります。

98:525
10/12/16 10:44:48 UQ5/WfNy.net
URLリンク(u9.getuploader.com)

↑にWMPでWMVファイルを再生したときに、フィルタグラフ中に表示される名称と
フィルタの正式名称とが異なっている例をアップロードしておきました。

最終出力のフィルタの箱の中には、「WMRenderer Video Filter」と
書かれています。そこで右クリックして現れたダイアログのタイトルバー
には、「WMRenderer Video Filter Properties」と表示されますが、
「ObjectName = My - Sample Video Renderer 2」
となっていることが分かります。

「WMRenderer Video Filter」と表示されているので、Windows標準の
レンダリング・フィルタかな、と一見思ってしまいますが、実際は、
今回用意した独自のフィルタです。実際、WMP内では、「ActiveX」の
文字列の形に動画が切り抜かれて表示されています。
と表示されていますが、

99:名無しさん@編集中
10/12/16 14:47:07 神 mFMu1iX1.net
今サラダと思うが

×DTCP
○DTCP-IP

100:525
10/12/16 15:29:25 UQ5/WfNy.net
>>88
どっちでもいいと思ってたんですが?

101:名無しさん@編集中
10/12/16 21:09:36 yNTaXeRd.net
>>77
地デジチューナーは暗号解除された平文データをメモリ上など
他のアプリからアクセスできるところには置かないことになっているはずだ。
ボードなどのハードウェア上でMULTI2復号化を行った後、メーカー独自の暗号化を行う。
さらにDirectShowではCOPPで暗号化されてるので
フィルタ付け替えなんかで簡単に抜くなんて無理だよ。
そもそもそんな簡単に抜ける原理があれば
これまで発売された機種すべてで抜きソフトができてしまう。

102:名無しさん@編集中
10/12/16 22:13:44 LhvB+9DV.net
ずっと眺めてたがとうとうマジレスが…

103:名無しさん@編集中
10/12/17 00:00:55 UUmm5xLi.net
ただ、挙げた中で比較的簡単に無効化できるのはCOPP
これは視聴ソフトで行ってるCOPPの呼び出しをNOPで埋めてしまえば無効にできる。
URLリンク(msdn.microsoft.com)
逆アセしても該当する場所を見つけられるかは分からないけどね。
手持ちのチューナーでやってみたら幸運にも見つかって、D-sub接続のモニターで地デジが見れた。
これを突破口にしてどうにかすればできるかもしれない。

104:525
10/12/17 00:23:05 zK5OEv+M.net
>>92
しかし、COPPは、「Certified Output Protection Protocol」で、
「Output」とは、PCのCPUからグラフィック・カードへのデータ
の流れを指すと思うんです。

そのリンク先にも、「Video Renderer 7/9 filters」がexposeしている
interface だ、って書いてあり、「Graphic driver」とやりとりを
行うと説明されています。

なので、Video Renderer Filter そのものを置き換えてしまう場合には
関係ないはずです。

105:525
10/12/17 00:31:09 zK5OEv+M.net
URLリンク(msdn.microsoft.com)
↑を読むとはっきり書いてありました。

Certified Output Protection Protocol (COPP) enables an application
to protect


106:a video stream as it travels from the graphics adapter to the display device. An application can use COPP to discover what kind of physical connector is attached to the display device, and what types of output protection are available. 「COPPとは、『グラフィック・アダプタ』から『ディスプレイ・デ  バイス』へと流れるビデオデータの流れを保護することをアプリ  ケーションに可能にする物である。  アプリケーションは、COPPを、どんな種類の物理コネクタが  ディスプレイ・デバイスに接続されているか、あるいは、  どんな種類の出力保護が利用可能かを調査するために使うことが  出来る。」 とあります。つまり、PCの内部での保護ではなく、PC の外へと 流れていく画像データの保護に使われるのです。



107:525
10/12/17 01:02:00 zK5OEv+M.net
>>74 の Yokodori.dll では、VMR 7/9やEVRのCLSIDが要求されると、
自分が代わりに入り込むようにしてあるんです。
CLSIDとDLLのパス名は、レジストリに記載されているのですが、そこの
DLLのパス名を全て Yokodori.dllの物に変えてしまっているので、
DirectShow の仕様だと原則的に、VMR7/9やEVRが使われる可能性は
ないはずなのです。
もし、実際にVista以降では、Yokodori.dllの代わりに何故かVMR7/9やEVR
が使われているとすると、何かDirectShowの仕様外の事がOSによって行わ
れている事になるはずです。「はず」と言ったのは、仕様の見落としがない
とは言い切れないためです。

108:525
10/12/17 01:28:22 +V3La32f.net
仮に、>>95の最後に言ったことが実際に行われていて、
例えば、DirectShow の IGraphBuilder の AddFilter()などに、
VMR 7/9やEVR のCLSIDを指定したときには、レジストリの記載
を無視して強制的に「本物の」それらを利用する仕組みになって
いたとしましょう。ただし、実際のWinXPでは、MS純正のWMPでも、その
ようにはなっていないようで、だからこそ、実際にActiveXの文字列の
形状に切り抜かれた動画が表示されます。が、ここではVista以降では、
この仮定が正しいとしましょう。)

その場合、IGraphBuilder を偽装すればよいのです。
「IGraphBuilderも偽装できないようになっているのではないか?」
と思われるかも知れませんが、確実に偽装可能です。なぜなら、
DirectShowSpyは、FilterGraph を CoTreatAsClass() APIで
偽装して実現されている物なのに、それが実際に Vista以降でも
利用可能であることが既にこのスレで実証されているからです。

CoTreatAsClass()は、いわばMS純正の「偽装」のためのAPIです。
保護を行いたいなら真っ先に使用禁止にすべきなのに、なってい
ません。このAPIは、レジストリに偽装用のキーを書き込みますが、
本物のCLSIDとDLLのパス名の組み合わせは残されたままです。
この状態で偽装が正常に行われるのは、OS自体が偽装を許可している
からです。

109:525
10/12/17 02:47:05 +V3La32f.net
>>90
後、もう一つ言っておきますと、平文化されたデータにアクセス出来ない
様になっているのは、Vista以降のMedia Foundation(MF)の
Protected Environment(PE)とProtected Media Path(PMP)による
物です。この機構だとおっしゃるように、平文化も保護された別プロ
セス内で行われ、通常のプロセスからはPE内を見ることは出来ない
様になっています。

ところが、XPでは、MFがサポートされていませんし、Vista以降にお
いても、テレビキャプチャは、未だにDirectShow(DS)で行われていると
最新のMSDNには出ていました。DirectShowSpyは、DS の FilterGraph
をCoTreatAsClass()で横取りして実現されていますので、それで
GraphStudio でグラフの様子が見れると言うことは、果たして
何を意味しているのでしょうか。MFで制御されているのに、
DSからグラフの様子を見れるようになっているのでしょうか。

この辺は、勘もありますが、果たしてどうなのでしょうね。

110:525
10/12/17 04:28:38 +V3La32f.net
>>73
レジストリエディタの検索で、



111:B87BEB7B-8D29-423F-AE4D-6582C10175AC」 を検索して貰えませんか? 本来でしたら、次の場所にあります: (1)COM登録: HKEY_CLASSES_ROOT\CLSID\{B87BEB7B-8D29-423F-AE4D-6582C10175AC} (2)COM登録のコピー: HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{B87BEB7B-8D29-423F-AE4D-6582C10175AC} (2)の方は、(1)の「ミラー」の様な物らしいので、余り関係ありませんが、 HKEY_CLASSES_ROOT  CLSID   Filter CLSID <--- 実際は、フィルタの"{GUID}"    REG_SZ: (Default) = Friendly name <--- フィルタの名称     InprocServer32      REG_SZ: (Default) = File name of the DLL <--- DLL のパス名      REG_SZ: ThreadingModel = Both こうなっているのですが、上記で、「Friendly Name」 と 「File name of the DLL」が My - Sample Video Renderer - n 及び、 yokodori.dll のパス名になっていれば正常ですが、なっていなければ、 UAC か、「レジストリのアクセス許可」などのせいでレジストリの書き換え が上手く行ってないと思います。



112:名無しさん@編集中
10/12/17 05:55:39 oF9su9V1.net
>>90
そっとしておいてあげて
いつ挫折するか、みんなで生暖かく見守るスレだから
trustedinstallerも知らないとか、Vista以降触ったことないんだろうなあ
地デジチューナーなんて、5000円もしないのがあるのに

113:525
10/12/17 06:56:13 +V3La32f.net
今回、実験で失敗した人は、c:\DirectShowSpy.log をアップロード
して頂けると助かります。これは、DirectShowSpyのログです。
実験する前に、いったん、c:\DirectShowSpy.log を削除してから、
視聴ソフトを起動し、GraphStudio の「Connect to Remote Graph」
を行ってください。

もちろん、最初から、DirectShowSpy.dll と yokodori.dll は
インストールした状態(対応する xxx-Register.bat ファイルを
実行済みであればOk)で行ってください。

114:525
10/12/17 08:16:44 +V3La32f.net
>>99
挫折しても笑わないでくださいね。

でも、凄く勘違いしいるのか、だんだん確実に出来そうな予感が
強くなってきてます。まあ、馬鹿なやつもいる物だと思っていて
ください。

115:名無しさん@編集中
10/12/17 08:50:30 2nXqn9Lu.net
俺は応援してる
でも何を言っているのかサッパリだから協力できないorz
頑張って下さい
これが成功したらBDとかの横取りもできそう

116:525
10/12/17 08:55:39 +V3La32f.net
>>100
ただし、今の c:\DirectShoSpy.log は、今回の目的にはちょっと
分かりづらいので、これは優先順位は低いです。

それよりも、>>86-87 と >>98 の確認をお願いしたいです。

あと、WinXPでの、>>74(旧 >>66)のテストを親切な方にお願いしたいです。

>>102
有り難うございます。これが出来れば、>>90 氏が最後の一行に予想されて
いる
「そもそもそんな簡単に抜ける原理があれば
 これまで発売された機種すべてで抜きソフトができてしまう。」

ということになるのです。

117:525
10/12/18 09:14:03 kNIi4Exy.net
お手数書けますが、今回の実験で上手くいかなかった方、
>>86-87 と >>98 の確認をお願いします。

118:名無しさん@編集中
10/12/18 12:09:23 85WdjTRA.net
ネットから切り離したWinXP Pro SP3 アップデートしていないでバッチファイルを実行
RegSvr32
LoadLibrary("Yokodori.dll")に失敗しました - 指定されたモジュールが見つかりま

せん。
とメーセジボックスが表示された。

119:525
10/12/18 16:11:47 kNIi4Exy.net
>>105
御苦労様です。

Windows付属のエクスプローラーで、Yokodori.batとYokodori-Register.bat
の両方が入っているフォルダを開いている状態で、Yokodori-Register.bat
ファイルをダブルクリックしましたか?

120:525
10/12/18 16:12:29 kNIi4Exy.net
誤:Yokodori.batと
正:Yokodori.dllと

121:名無しさん@編集中
10/12/18 17:56:57 85WdjTRA.net
カスタマイズは、していません、一般的なエクスプローラです。
メディアプレイヤーが11ではなく10だと思う。
BATファイルdllともにフォルダ内にありました。

Dドライブに新しいフォルダ(3)を作成、そこにzipファイルを入れ解凍、haifu


122:フォルダが生成され、フォルダを開く Yokodori-Register.batをダブルクリックで失敗、 Quartz-Register.batを実行これは問題なし、 再びYokodori-Register.batをダブルクリックで失敗。 今度は、フォルダの配置は「C:\haifu」としたが同様に失敗しました。 System32にYokodori.dllをコピー、スタートメニューのファイル名を指定して実行からregsvr32 Yokodori.dll入力で失敗。 コマンド プロンプトを開きフルパス入力、これもダメでした。



123:525
10/12/18 18:03:59 kNIi4Exy.net
>>108
えーと、コマンドプロンプトを使うのであれば、
単純に、Yokodori-Register.batとyokodir.dllが入っている
フォルダを cd コマンドでカレントディレクトリにした状態で
Yokodori-Register.bat を実行すればよいはずなのですが。

基本的に、System32にコピーする必要はないと思います。
>>105 のエラーメッセージからすると、 regsvr32 から
yokodri.dll が見つからない状態になっていると思います。

124:名無しさん@編集中
10/12/18 18:42:19 85WdjTRA.net
>>109
管理者権限であることを確認、AUTORUN禁止に設定してありましが関係あるとは思えないし。

コマンドプロンプトから、cd コマンドでカレントディレクトリにした状態で
Yokodori-Register.bat を実行、これもダメでした。

私の環境固有の問題かな?XPのインストールに失敗しているのかな?
恵安つないで繋いで動作しているからわからん。


125:525
10/12/18 18:52:51 kNIi4Exy.net
>>110
今調べている途中ですが、>>69で指摘されている「msvcr100.dll」
が無いからかも知れません。

126:525
10/12/18 19:01:39 kNIi4Exy.net
一応、Yokodori.dll の依存している dll は、次の通りです:

WINMM.dll
MSVCR100.dll
KERNEL32.dll
USER32.dll
GDI32.dll
ADVAPI32.dll
ole32.dll
OLEAUT32.dll

この内、KERNEL32.dll、USER32.dll、GDI32.dll、ADVAPI32.dll
あたりは元々存在すると思います。

一つでも書けていれば駄目です。

127:525
10/12/18 19:06:12 kNIi4Exy.net
調査した結果、msvcr100.dll 以外は、元々システムに存在していま
す。msvcr100.dll をダウンロードしてきて、
c:\windows\system32 に置いて下さい。

128:73
10/12/18 19:09:04 kExfKTrw.net
>>98

レジストリの登録情報は問題ありませんでした。

MCI(内部ではDirectShow使用)で再生させるプレイヤーを使用すると、
My - Sample Video Renderer 1 が呼び出され、
「ActiveX」の文字で切り抜かれるのを確認しました。

ですが、WMP11やGomPlayer、MonsterTVHDでは切り抜きは確認できず。

129:73
10/12/18 19:15:23 kExfKTrw.net
>>113
msvcr100.dll はこれを入れると入る気がする。
URLリンク(www.microsoft.com)

130:525
10/12/18 19:21:50 TJ4ouctn.net
>>114
切り抜かれていなくても、実は、My - Sample Video Renderer が
使われていることがあります。さらに、GraphStudio で表示される
名称も >>86-87 に書いたように、本当の名前とは全く関係の
無い名前が使えるようになっているので、フィルタを表す箱(box)の
上で右クリックして「ObjectName」を調べてみてください。

131:73
10/12/18 20:00:00 kExfKTrw.net
>>116

・GomPlayer(デフォルトレンダラ)

ObjectName : Enhanced Video Renderer
CLSID : {FA10746C-9B63-4B6C-BC49-FC300EA5F256}
FilePath : C:\Windows\system32\evr.dll

・WMP11

ObjectName : Enhanced Video Renderer
CLSID : {FA10746C-9B63-4B6C-BC49-FC300EA5F256}
FilePath : C:\Windows\system32\evr.dll

・MCI使用の動画プレイヤー

ObjectName : My - Sample Video Renderer 1
CLSID : {B87BEB7B-8D29-423F-AE4D-6582C10175AC}
FilePath : C:\Users\****\Downloads\haifu\Yokodori.dll

先ほど切り抜きに失敗したMonsterTVHDですが、
再起動をかけたところうまく切り抜かれて表示されるようになりました。
URLリンク(www1.axfc.net)

・MonsterTVHD

ObjectName : My - Sample Video Renderer 1
CLSID : {B87BEB7B-8D29-423F-AE4D-6582C10175AC}
FilePath : C:\Users\****\Downloads\haifu\Yokodori.dll



132:525
10/12/18 20:19:11 TJ4ouctn.net
>>117
>先ほど切り抜きに失敗したMonsterTVHDですが、
>再起動をかけたところうまく切り抜かれて表示されるようになりました。

やりましたね!!

横取り成功です!! しかも、Vista SP2で!!

133:525
10/12/18 20:25:43 TJ4ouctn.net
ちなみに、もう成功したのでどうでもいいことかも知れませんが、
参考のため、>>98 と同様のことを、CLSIDが、

{FA10746C-9B63-4B6C-BC49-FC300EA5F256}

に対しても確認して頂けてましたんでしたっけ?

EVRに対しては何故、レジストリの登録情報が無視されてしまうのか
興味があります。

134:名無しさん@編集中
10/12/18 20:26:51 85WdjTRA.net
すでに書き込まれてましたが、MSVCR100.dllが不足していました。



135:メディアプレイヤーのバージョンは9でした、 MSVCR100.dllを追加この状態で66と74のメディアプレイヤーでの動作、確認できました。 恵安のKTV-FSUSB2の標準プレイヤーでの確認は明日以降で、 TS抜ける機種で実験しても意味あるのか分からないけど。



136:525
10/12/18 20:29:04 TJ4ouctn.net
>>120
MonsterTVHD (?) では横取り成功したようですよ!!

137:73
10/12/18 20:37:39 kExfKTrw.net
>>118
あることに気がつきました。
よく見ると、MonsterTVHDの操作ウィンドウにSD表示がありました。
GraphStudioで確認したところ解像度が 720x480 にダウンされていました。
(少なくとも MainConcept MPEG Push Demultiplexer フィルタまでは 720x480 の表記あり)
Yokodori.dll を解除すると 1440x1080 になっています。

>>119
HKEY_CLASSES_ROOT\CLSID\{FA10746C-9B63-4b6c-BC49-FC300EA5F256}
(既定) : C:\Windows\system32\evr.dll
ThreadingModel : Both

になっていました。
このレジストリキーも TrustedInstaller が所有者になっています。




138:525
10/12/18 20:42:20 TJ4ouctn.net
>>122
後半部分

> HKEY_CLASSES_ROOT\CLSID\{FA10746C-9B63-4b6c-BC49-FC300EA5F256}
> (既定) : C:\Windows\system32\evr.dll
> ThreadingModel : Both
> になっていました。
> このレジストリキーも TrustedInstaller が所有者になっています。

この C:\Windows\system32\evr.dll の部分を手作業で Yokodori.dll
のパス名に変えることは出来ますか?

手作業で変えても、Yokodori-Register.bat がやっていることと同じ
なので、もし変えることが出来たら、EVR も横取りできるはずです。

139:525
10/12/18 20:44:42 TJ4ouctn.net
>>122
前半部分については、COPP認証のインターフェースが今の
My - Sample Video Renderer には欠落しているからかも知れません。
他にも欠落があるかも知れませんが、全て補ってやれば、恐らく
元の解像度のまま横取りできるはずです。

140:73
10/12/18 20:46:04 kExfKTrw.net
>>123
ちょうど同じことを考えていて、 所有権と権限を自分自身のに書き換えて再度
Yokodori-Register.bat を実行したところWMP11で切り抜かれて表示されました。

141:525
10/12/18 20:50:11 TJ4ouctn.net
>>124 の続き:

というのは、今の My - Sample Video Renderer は、あくまでも
横取りが出来るかどうかをテストするために用意したためです。
Vista以降では、>>92 氏が指摘されたリンク先にある、
「IAMCertifiedOutputProtection Interface」
が必要なはずなので、それが無い場合、COPP認証が出来なかったと
判断されて、SKNET の視聴ソフトの場合は、解像度を減らすように
なっているのではないかと思います。

実はこのインターフェースは、いくらでも○○できてしまうと思うんです。
大きな声では言えませんが、皆さんにとっては朗報な事です。

142:525
10/12/18 20:51:39 TJ4ouctn.net
>>125
やはりそうでしたか!!

結局、Vista以降でも、試す限り全ての場合に置いて横取りは出来て
しまうと言う結果ですね!!

143:525
10/12/18 20:57:34 TJ4ouctn.net
大事な確認になるのですが、

>>117
>先ほど切り抜きに失敗したMonsterTVHDですが、
>再起動をかけたところうまく切り抜かれて表示されるようになりました。

とのことですが、「再起動」とは、何の再起動のことでしょう?
SKNETの視聴ソフトの事でしょうか?

つまり、Yokodori-Register.bat を実行した後、視聴ソフトを再起動
すると上手く行くようになったと言うことですか?

144:73
10/12/18 20:59:49 kExfKTrw.net
>>128
Windowsの再起動です


145:525
10/12/18 21:01:58 TJ4ouctn.net
>>129
なるほど。

それは興味深い現象ですね。

ちょっと不思議です。

146:525
10/12/19 01:07:24 I5GLiRQc.net
今後の方針ですが、これで、受信されたMPEG2コンテンツを展開して、
ベタの画像データの連続として入力できるようになるのは確実です。
現状の Yokodori.dll では、特にVMR 7/9やEVRを模倣してはないため
解像度が低くなっているようですが、模倣するのは理論上は難しくあ
りません。模倣に必要なコーディング量も、理論上はかなり少ないと
考えられます。ただ、仕様が複雑なため、実験検証が必要となるので
しばらく時間が必要です。

実は、少し懸念事項があります。それは、今のようにVideo Renderer
として入り込んでしまう場合、必ず、暗号解読器やMPEG2デコーダ
が間に挟まるので、複数番組の同時録画を行う場合は、CPUパワーを
多く消費する可能性があることです。デバイスによっては、メーカー
が「同時録画」は可能でも、「同時視聴」はサポートしていない場合
がありますが、それは、このためかも知れないのです。

従って、出来る限り、暗号解読器やMPEG2デコーダが挟まる前の
生のデータを記録した方がよいと考えられます。

そこで、協力して頂きたいのは:

1. 録画しているときの DirectShow グラフの様子
2. 録画されたファイルを再生しているときの DirectShow グラフの様子

をそれぞれ、DirectShowSpy と GraphStudio を使って調査し、
その結果をAlt+PrtScrキーで画像キャプチャしてアップロードする
事です。

お手数書けますが、有志の方のご協力をお待ちしております。
OS名と、チューナー/キャプチャ・デバイスの型名を明記して報告
して頂ければ幸いです。

147:525
10/12/19 02:29:57 I5GLiRQc.net
>>131
>1. 録画しているときの DirectShow グラフの様子

これについては、視聴せずに録画だけしている状態(いわゆる裏録画)
の時の様子を見てみたいです。

148:525
10/12/19 03:15:19 I5GLiRQc.net
自分の考えだと、I/O DATAの場合の
「InterVideo BDA Demultiplexer」、SKNETの場合の
「MC Demux」は、恐らく共通規格です。

なぜなら、「MPEG-2 Demultiplexer」は、MSが規定している
フィルタなので、既に平文化されたMPEG2コンテンツを入力している
のではないかと思われるからです。仕様上の入力は、
「transport stream」ですので、いわゆる「MPEG2-TS」でしょう。

仮に、もし入力の段階で平文化されてないとしても、そこから
結合されているI/O DATAの場合の「InterVideo Video Decorder」
SKNETの場合の「MainConcept MPEG-2 Video Decorder」
は、どちらも他社製の汎用の MPEG2 デコーダーだから、
この入力は既に平文化されたMPEG2 データであると
考えられます。

なので、ここのデータを横取りすればよいのではないかと
思われます。その際、デコーダーを動かすと重くなってしまうので
動かしているふりをして実際は動かさないという手を使います。

ただ、「Demultiplexer」の出力は確実に平文化済みのはずですので、
入力だけを暗号化していたとしても保護としての意味はありません。
なので、入力の段階でやはり既に平文化されているのではないかと
思われます。

149:525
10/12/19 03:56:54 I5GLiRQc.net
>>133
誤字訂正:

誤:
>なぜなら、「MPEG-2 Demultiplexer」は、MSが規定している
>フィルタなので、既に平文化されたMPEG2コンテンツを入力している
>のではないかと思われるからです。

正:
なぜなら、「MPEG-2 Demultiplexer」は、MSが規定しているフィルタな
ので、どのベンダでもDemultiplexerと言えば、共通しようだと思われる
からです。なので、既に平文化されたMPEG2コンテンツを入力している
のではないかと思われます。


P.S. MPEG2仕様自体が中に暗号化コンテンツを入れ込めるようになっている
のであれば、この限りではないかも知れません。

150:525
10/12/19 04:35:40 I5GLiRQc.net
【調査結果】

ISDBにおけるMULTI-2暗号の詳細について記されている、
 ARIB STD-B25 「デジタル放送におけるアクセス制御方式」
を読んでみた。すると、

第一部(受信時の制御方式(限定受信方式))に、

3.1.5 スクランブルを施す階層
トランスポートストリーム

3.1.6 スクランブルの範囲
スクランブルの範囲は、TS パケット(伝送制御信号及び関連情報を送るためのものを除く。)のペイロード部とする。

3.1.7 スクランブルの単位
スクランブルはTS パケット単位で施すものとする。

3.1.8 同一鍵の使用時間
1ECM あたり最短1 秒程度

とあった。

第二部(再生時の制御方式(限定再生方式))の
2.3.1.5 - 2.3.1.8
にも同様の記述を見つけた。


これで、知りたかった、MULTI-2暗号がどこに施されるかについて、
 「TSパケットのペイロード部」
である事が分かった。

151:525
10/12/19 04:37:01 I5GLiRQc.net
書き忘れたが、「MPEG2 SYSTEM」というドキュメントに、
TSパケットやペイロード部について記述があったと思う。

152:525
10/12/19 05:19:33 I5GLiRQc.net
MPEG2データ全体を外から暗号化するのではなく、MPEG2データに含まれ
ている個々のパケットの内、伝送制御信号及び関連情報を送るためのも
のを除いたデータ本体(ペイロード部)がMULTI2暗号化されているのです
が、だとしても、例えば、I/O データのフィルタ・グラフをみてみると、
VMR-9に至るまでの経路では、

ISDB-T/S Tuner ---> InterVideo BDA Demultiplexer
---> InterVideo


153:Video Decoder ---> VMR-9 となっており、もし、最初のTunerの出力が暗号化されたままだと すると、InterVideoの2つのフィルタの内、どちらかは暗号化 解除の力を持っていることになります。 どんな暗号がかけられているかについては、MULTI2暗号かまたは、 メーカー独自暗号ということになります。ここで、MULTI2暗号が かけられていたとすると、Tunerの出口がMULTI2暗号がかかった MPEG2-TSということになってしまいますから、ここで横取りすれば TS抜きの完成となります。 逆に、メーカー独自の暗号がかかっているとすると、まず第一に、 MULTI2暗号は、Tuner内部で既に解除済みで、あって、それを さらにメーカー独自の暗号をかけてTunerの出力に出している ということになります。それはそれでごたいそうにそこまでやって 遅くなるだけで何をしているんだという気になります。 第二に、メーカー独自の暗号を、InterVideo製の2つのフィルタの 内のどちらかが解く能力を持っていると言うことになります。 これはこれで少し不思議になります。



154:525
10/12/19 05:30:27 I5GLiRQc.net
InterVideoのフィルタ自体は、平文化コードを持っておらず、
好きな平文化コードを外から与えられるような仕組みになっていたと
します。これならば、実際に行われている可能性は高まりそうです
が、逆に、そのような Interface は、MSDNを読む限り、MSは定義し
ていないように思えるので、共通規格として不自然だなとは
思えます。

自分としては、前者のようにTunerの出口がMULTI2暗号がかかった
MPEG2-TSデータなのではないかという希望的観測を持っています。

後もう一つのヒントは、視聴だけでなく、録画をしている場合、
Tuner Filterのすぐ後にCapture Filterがあって、それが
InterVideo BDA Demultiplexer に繋がれ、そのPassThrogh出力が
Ulead Full TS To Partial TS へ、さらにその出力が、
InterVideo Stream Writer へ繋がっています。

PassThorugh は、「そのまま出す」という意味ですが、
最後のファイルは暗号化されているわけです。
ではどんな暗号かと言うことになります。
このファイルがMULTI2暗号なら、Capture Filterの出力はMULTI2暗号
だということになるでしょう。もし、メーカー独自であるという事
であれば、Capture Filterの出力がメーカー独自暗号だと言うこと
になると思います。

ただし、最後の、Ulead や、InterVideo のフィルタが暗号化を
行っていないとすればですが。InterVideoのは、Stream Writerで
すから、MPEG2のパケットのペイロード部だけを暗号化はして
はいなさそうです。Ulead の方は、TSを認識しているようです
から、どうか分かりません。ただ、意味から考えると、
暗号化はしてなさそうです。


155:525
10/12/19 05:32:08 I5GLiRQc.net
と言うことは、I/Oデータの場合、録画後のファイルの暗号形式
が分かれば、Capture Filterの出力の暗号形式が分かる、という
事になりそうです。


なので、I/O データのチューナー/キャプチャ・デバイスを
持っている方は、録画データの暗号形式を調査して貰うか、
録画データをどこかにアップロードして貰えると助かります。

156:525
10/12/19 05:34:37 I5GLiRQc.net
まあ、いずれにせよ、平文化コンテンツは、Demultiplexerの
出力の内のいくつかからは出ているようですので、高速な
横取り自体は恐らく実現可能です。それらをもう一度Multiplexer
すれば、平文のMPEG2-TSに戻るはずですから。

157:525
10/12/19 07:44:28 I5GLiRQc.net
I/Oデータの場合、視聴だけするときは、TunerからDemultiplexerに直結
されているのに、録画するときだけ間にCapture Filterが入っており、
ファイルを書くための InterVideo Stream Writer へは、Demultiplexer
の Pass Through 出力との間に、Ulead Full TS to Partial TS が挟まって
います。
これと、MPEG2-TSでは中に好きなパケットをパケットID(PID)によって
区別して入れることが出来ることを考えると、ひょっとすると次のような
事が考えられます。Tunerの出力は平文コンテンツであるが、Capture
Filterは、独自暗号化済みコンテンツを独自のPIDを付けたパケットと
して流れの中に挿入している。そして、Video Decorder は、独自のPID
が付いたパケットは無視するので影響がない。
そして、Ulead Full TS to Partial TS は、むしろ、独自PIDのパケット
だけを拾い集めて出力ピンに送る。すると、InterVideo Stream Writer
へは、暗号化コンテンツだけが入力される。

こんなシナリ�


158:Iになっているのかも知れません。 この仕組みだと、独自暗号化法を知っているのは、Capture Filterのみで I/Oデータ製なので納得がいきます。 だとすると、Demultiplexerの入力は、独自PIDではないところの、 分かっているPIDのパケットだけを取り出せば、平文のMPEG2-TSに なっている、と言うことになります。



159:名無しさん@編集中
10/12/19 10:30:54 zJobZX4K.net
生暖かく見守るスレとは言いながら、
老婆心ながらHDMIキャプチャより重いことしてどうするのという疑問が。

160:名無しさん@編集中
10/12/19 10:42:41 nHeGmdLZ.net
別途機材がいらないから利点はあるのでは。
成功すればの話だけど。

161:名無しさん@編集中
10/12/19 10:47:28 zJobZX4K.net
レコーダ込みで4万いかないでしょ。
「労力考えると」って思うんだわ。
あと仮に画が上手くとれたとして音声同期とかで
喧々諤々するんだわ

162:名無しさん@編集中
10/12/19 10:58:50 nHeGmdLZ.net
確かに抜くまでの労力は必要だけど、一度抜き方が確立すれば
それ以降の労力はHDMIキャプチャと同等もしくはむしろ少ないと思うけど。

それに家電レコーダーで満足しているような人間からみれば
HDMIキャプチャにせよPT1/PT2等の導入にせよ、なんでPC使ってそんな
面倒な事をやってるんだ?と感じると思うよ。

でも趣味なんてものはその過程すらも楽しむべきものであって、
自分と違う"趣味"の人間がその過程に四苦八苦しているからといって
そこに意味を問うなんてのはナンセンスでしょう。


163:名無しさん@編集中
10/12/19 11:14:34 zJobZX4K.net
協力者さん達がその過程を楽しめてたらいいんですけどね。
「ノートPCで...」とか淡い期待を抱いてる人達だと
処理落ちが目に見えてるんでかわいそうだなと。

164:525
10/12/19 11:20:04 I5GLiRQc.net
えーと、処理落ちと言いましても、確かに今のように、
Video Renderer の位置に入り込んで、その入力を横取りする場合、
既にデコードされた後ですから、mpeg2で保存するためには再エン
コードが必要になり非常に重くなると考えられます。

しかし、それは今は最も簡単な実験を行っただけであって、
これからは、デコード前の生の mpeg2 データを横取りする
事を考えています。それは実際可能だと思っているんです。

それでも重いとお考えでしょうか?

165:名無しさん@編集中
10/12/19 11:23:02 nHeGmdLZ.net
ID:zJobZX4Kはものすごいマイナス思考の人なんだね。
俺から見るとID:I5GLiRQc(525)というのは恐ろしくプラス思考の人間で、
見事なまでに対照的で面白いな。

166:525
10/12/19 11:27:15 I5GLiRQc.net
>>144
>あと仮に画が上手くとれたとして音声同期とかで
>喧々諤々するんだわ

えーと、平文の mpeg2 形式の画像と音声データが得られる予定なので
DirectShow の Multiplexer に繋いでやれば大して難しくないのでは?
自分は詳しくないので、mpeg2などの仕様の理解に時間がかかりそうですが。

167:525
10/12/19 11:29:24 I5GLiRQc.net
「せんせんきょうきょう」だと思ってましたら・・・

168:525
10/12/19 11:39:17 I5GLiRQc.net
>>148
自分は結構、悲観主義的だと思ってましたが、言われてみれば
生まれ持っては楽観主義的かも知れません。

上手く行くことしか考えてないみたいな所はありますし。(^-^;)

169:525
10/12/19 12:30:20 I5GLiRQc.net
協力者、有志の方へお願い:

>>131 >>132 >>139

↑の番号の記事に依頼内容が書かれていますのでよろしくお願いします。

170:名無しさん@編集中
10/12/19 13:42:27 Xq3z5hCg.net
>>152
Windows 7 上の GV-MVP/VS でやってみました。

視聴しつつ録画中のグラフ URLリンク(gyazo.com)
いわゆる裏録画中のグラフ URLリンク(gyazo.com)
再生中のグラフ URLリンク(gyazo.com)
録画ファイル URLリンク(u9.getuploader.com)


171:8/10%E5%B9%B412%E6%9C%8819%E6%97%A513%E6%99%8234%E5%88%86-BS%EF%BC%8DTBS-%E3%83%88%E3%82%AF%E3%83%88%E3%82%AF%E8%B2%B7%E7%89%A9%E4%BE%BF.zip (適当なショッピングチャンネルの3秒程度の映像です) ご参考になれば幸いです。



172:73
10/12/19 15:27:51 oPyqKs6q.net
>>152
Vista SP2 の U3
URLリンク(u9.getuploader.com)


173:525
10/12/20 02:18:06 3cZBQO4v.net
>>153 >>154
むちゃくちゃ助かります。

本当に感謝してます。有り難うございました。

174:名無しさん@編集中
10/12/22 09:16:26 qT3vUUjC.net
続きはマダ?


175:名無しさん@編集中
10/12/23 01:50:37 QRN7UzRr.net
ダメって事が分かったのかね?

176:名無しさん@編集中
10/12/23 03:39:58 sjMxPRuM.net
>>84 に525氏は

> 買うとしたら、ロープロファイルの W録出来る物を買って、
> 家電レコーダーのような薄型筐体で録画専用の自作PCの中に入れよ
> うと思ってるんです。なので、候補は Pixela の 1万6,000円位する
> 物になります。PT2だとロープロファイルでないので、家電のような
> 筐体には入らず、最小でもキューブ型になるので躊躇してます。

と書いているので、525的にはロープロ・W録対応のPX-W3PEを買って終わってたりして。



177:名無しさん@編集中
10/12/23 03:43:45 QRN7UzRr.net
それは有り得るな。
しかしそうすると協力させられた人間はいいツラの皮だなw

178:525
10/12/23 04:01:12 Kz1GXlU1.net
まだまだやりますよ。

179:525
10/12/23 04:02:05 Kz1GXlU1.net
>>157
いえ、今のところ、出来るという確信が深まっています。

180:名無しさん@編集中
10/12/23 04:42:58 r0PPAGTx.net
協力者を逃さないで頑張りたいなら
マメに進捗でも書いておいた方がいいんじゃないか?
それにより、誰かが新しい発見とかする可能性だってあるしね

181:525
10/12/23 05:07:28 Kz1GXlU1.net
>>162
余り詳細を書きすぎると、何かのOSやメーカー側で対策を取られても
皆さんのためにならないので、難しい所なんです。

182:名無しさん@編集中
10/12/23 12:12:51 sjMxPRuM.net
PX-W3PEが525氏の要求を満たしてしまうので心配でしたが続いているようで何より。
ハードウェアエンコーダ(トランスコーダ)付きチューナーから
H264で抜けたら最高なので期待しております。

183:525
10/12/23 14:41:50 Kz1GXlU1.net
>>164
PX-W3Eには、B-CASカードも付いてないですが、PIX-DT096-PE0には、
付いてますよね。なので、BS/CS110などを見ない人にとっては、
後者で出来るに越したことはないです。それに、
チューナーの感度が良いとも限りませんし、USB1.1病のような物がないと
も限らないので、発売されたばかりの今の段階では、PX-W3Eを買ってしま
うのは人柱です。

前者を使う場合、B-CASカードをどこから入手するかですね。

184:525
10/12/23 15:14:03 Kz1GXlU1.net
それから、今のままだと、TS抜きしたい場合に、
デバイスの選択肢が狭くなりすぎるという問題もありますね。

185:名無しさん@編集中
10/12/23 22:36:12 r0PPAGTx.net
>>525
そうは言うが、BS/CS無しでいいなら
バッファローのDT-H70系統で、パッチ一つで難しい設定も
リーダとかも何もいらずに地デジを録画で抜けるよ
今時、BS/CS無しの需要なんてあまりなさそうだしね

186:名無しさん@編集中
10/12/24 03:08:17 SvhafnKa.net
>>167
ググってみたけどDT-H70系統でTS抜きが出来る等という情報はどこにも見当たらないのだが。

187:名無しさん@編集中
10/12/24 07:10:26 eDZgp4M2.net
>>168



188:2chのスレをスルーしたんだな。



189:525
10/12/24 10:00:59 ocJmgmT9.net
>>167
Buffalo の DT-H70 系統には、ロープロファイルでW録出来る物がないのでは?

190:名無しさん@編集中
10/12/24 13:37:55 ZtEmC6r2.net
>>169
↓どっちにもそんな話一言も出てねえじゃん。
スレリンク(avi板)
スレリンク(avi板)
どちらも今年立って、過去スレがあるでもなし。

191:名無しさん@編集中
10/12/24 14:03:36 eDZgp4M2.net
>>171
検索ワードは、BUFFALO 

192:名無しさん@編集中
10/12/24 14:45:32 ZtEmC6r2.net
>>172
レスありがとう。見つけられた。

しかしこれ興味深い方法ではあるが、Readmeを読む限りでは録画時にリアルタイムで"抜く"んじゃなくて、
すでに記録された録画データを再度再生時にディスクランブルするみたいなので、その時に再度番組の
放映時間の長さと同じだけの実時間を必要とするのでは?だとすると決して"手軽"とは言えないと思う。
(ディスクランブルするとき最初から最後まで再生しないで飛ばして再生しても一応生成できるものの、
シークとかできなくなるらしい。)

もっとも525氏が考えてる方法も、同様の方法なのかもしれんが。

193:525
10/12/24 19:11:40 6rwOzehQ.net
>>173
>もっとも525氏が考えてる方法も、同様の方法なのかもしれんが。

必ずしも同じ方法になるとは限りません。
理論上は、DirectShowグラフのどこからでも抜けるので、
色々可能です。

また、もし、いつでもディスクランブルできるのであれば、ディスクラン
ブルが必要なのは視聴するときだけなので、実時間と同じだけの時間が
必要であっても全く問題ないはず。

コピーするときは、スクランブルされた状態のままコピーすれば良い
ですから、ディスクランブルは必要ないはずです。

194:525
10/12/25 01:10:07 spILQLTo.net
>>173
最初から最後までディスクランブルしないと「シークが出来なくなる」
という現象があったとしても、メーカー正規の再生アプリケーション
ではシークできているのだとすれば、何らかの方法はあるはずです。

その方法をちゃんと真似することが出来れば、必要な箇所だけディス
クランブルしてもシークできるようになるでしょう。

195:名無しさん@編集中
10/12/25 05:55:23 4eBYrceN.net
>>173
書いてあるのはそうだが
実際には、パッチファイル置き換えて予約録画で
録画したものが抜ける
起動した時に最初に映したものが抜けるという感じ
録画しないでも、抜きたい番組を放送状態で起動すれば抜ける

196:名無しさん@編集中
10/12/31 09:45:48 xP8xx86Z.net
なんだよ、もう終わりかよ。

197:名無しさん@編集中
10/12/31 11:59:00 XDwpD5X/.net
スレリンク(tech板:805番)

198:名無しさん@編集中
10/12/31 13:32:13 K9Kc0Fqd.net
HDMIキャプチャ以下の「最も簡単な実験」とやらに
やけにご執心ですな

199: 【小吉】 【1082円】
11/01/01 16:53:04 cgWj+ZVO.net
このスレの運勢は↑

200:名無しさん@編集中
11/01/08 13:45:57 lwbvpLV5.net
で、どうなったの?

201:525
11/01/08 23:46:21 9FB3a/6q.net
他のことで忙しくて手が出ません。

202:名無しさん@編集中
11/01/10 12:59:22 bT+R/TvN.net
こんなことやってるうちに、またbuffaloでも抜けるチューナー出たぞw

203:名無しさん@編集中
11/01/22 20:53:27 xyo54hgy.net
自分は525ではないけど、手持ちの2つのチューナーを使ってDirectShowで何が抜けるか実験してみたよ

1.某社の3波チューナー
暗号化されたTSパケットが出てきた、復号されたTSパケットは見つけられない、残念

2.↑とは別の会社の地デジチューナー
復号されたフルセグTSパケットがDemuxに流れ込んでいた!
そこでファイル出力した物はMPC-HCやPowerDVDでそのまま再生できた
同じ会社の別機種でも同様に抜く事が出来ると思う

204:名無しさん@編集中
11/01/23 11:33:04 yA8efFj9.net
まぁ、抜けても2chで公開とかはやめてな。
すぐに規制されちゃうから。

205:525
11/01/24 09:12:01 TEUMTPIh.net
>>184
素晴らしいです。

「1」についてですが、暗号化されたパケットと、復号化されたパケット
が同一ストリームの中に混在して送られている可能性もあると私は考えてい
ます。

その後、Writer Filter に分配する時は、暗号化されたパケットのみを
流し、Video Renderer Fileter に分配する時は、復号化されたパケット
のみを流す仕組みを取っているのではないかと推測しています。

206:名無しさん@編集中
11/01/26 08:47:21 WTnznTLy.net
試した奴はOSくらい書けよな


207:名無しさん@編集中
11/01/26 23:42:50 DyJCro/i.net
age

208:名無しさん@編集中
11/01/27 13:24:41 sEHc2jrt.net
Human68kです

209:名無しさん@編集中
11/02/07 18:55:40 LCKyuN6m.net
結局、実用となるものは何もできないまま終わり?

210:名無しさん@編集中
11/02/07 21:42:46 2/e0VbqN.net
それにしてもココの主はえらく熱しやすく冷めやすいヤツだったなw

211:名無しさん@編集中
11/02/08 00:26:03 5XOP1mUD.net
「問題はまだ解決していませんが、私は技術的な不安は感じていません。大丈夫だと思っています。」


212:名無しさん@編集中
11/02/08 09:42:23 u9QjKMtx.net
冷めたっていうよりもともと平文で流されてるSD以上のものは何一つ対処できなくて終わりってことでしょ

213:名無しさん@編集中
11/02/08 17:55:58 0oWIQlOq.net
本人その気はなくとも
結果は善意の詐欺師だからね

214:名無しさん@編集中
11/02/08 18:36:01 XFgCiCbE.net
>>194
お前何か損したのか?
被害届け出せよw

215:名無しさん@編集中
11/02/08 18:50:23 zgOcThXS.net
実験つきあわされた人なんじゃね?

216:名無しさん@編集中
11/02/16 08:53:17 XJv5c8jT.net
まあ厨房の思い付きで破れるほど大人の世界は甘くないってことだわな。


217:名無しさん@編集中
11/02/16 15:35:28 aFcZdBZ/.net
キリッ

218:名無しさん@編集中
11/02/24 16:15:05.16 iNoxeoMA.net
終了?

219:525
11/02/26 00:35:54.93 m1J1ppLy.net
>>199
やれば出来ると思うんですが、今、物凄く忙しく、手が出せない状態です。

220:名無しさん@編集中
11/02/26 09:38:45.45 i29yMRNy.net
>>200
期待して待ってます

221:名無しさん@編集中
11/02/26 10:36:36.00 vTQhiAwp.net
そして3年が過ぎた…

222:名無しさん@編集中
11/02/26 11:09:25.51 ZrHiKW9e.net
2014年核戦争が起こった・・

223:名無しさん@編集中
11/02/26 11:14:49.83 l4zfcff2.net
「やれば出来ると思う」と言ったやつで、本当にやり遂げたやつを俺は見たことが無い

224:名無しさん@編集中
11/02/26 13:07:38.32 GucVFPnY.net
自分で機材(キャプチャデバイス)を買ってまでやろうとしなかった時点で、
出来ない(本気でやる気が無い)事は明白だったけどな

225:名無しさん@編集中
11/02/26 18:52:02.73 jueIljFu.net
本当なんで5000円ぽっちの金が出せないんだか・・・。

226:名無しさん@編集中
11/03/02 05:08:13.92 HQpn/iK/.net
やる気無いからに決まってるw

227:名無しさん@編集中
11/03/02 09:56:06.08 lrrj4ae4.net
自信が無いからだろ……
一応頑張ったみたいなんだから虐めるなよw

228:525
11/03/03 02:20:45.22 6+nazLUh.net
いえ、余り言いたくはありませんが、結構自信はあるんです。
しかし、今現在、他のことがとても大事な時期にあり、こっちにかかっている
余裕がありません。時間がたてば、TS抜きできるボードにも新しい物が
仲間入りしたり、TS抜きできないボードも価格低下やチューナー数などが
増える可能性があります。

今は、PCをいじっている暇もありません。�


229:サれを考えると時間的余裕が 出来るまでは、キャプチャボードを買うのをお預けしようと思っています。



230:名無しさん@編集中
11/03/03 03:30:01.07 OPw9tz/l.net
物凄い漏貧臭がするスレはここですか?


231:名無しさん@編集中
11/03/03 04:33:01.53 lSOt1uwk.net
世間知らず臭と貧乏臭から、まだ学生なんじゃないかって気がする
今頃試験期間だろうし

232: 忍法帖【Lv=11,xxxPT】
11/03/03 08:54:07.88 jNBUSINw.net
それなりに礼儀正しいのだけが救いだなw

233:名無しさん@編集中
11/03/03 12:07:43.11 Oun9KxdV.net
誰かが似た様なのを作ったら俺が育てたとドヤ顔をするのは確定的だなw

234:名無しさん@編集中
11/03/31 11:31:46.55 fbXqKxLH.net
test

235:名無しさん@編集中
11/04/01 00:30:51.53 V1WkM+Qk.net
まだ~?

236:525
11/04/15 04:41:46.51 i+NoOhjc.net
まだです。

>>212 地下アイドル(AKB48)板でもその名前は見た。

237:名無しさん@編集中
11/05/02 19:28:21.16 C2HcVttG.net
ho

238:名無しさん@編集中
11/05/25 23:40:43.29 YOV1ZQE+.net
age

239:名無しさん@編集中
11/06/20 17:55:27.53 8CZSm3ij.net
結局どうなったんだよ

240:名無しさん@編集中
11/06/20 18:11:29.77 oVms7HoV.net
>>219
頓挫したんだろ

241:名無しさん@編集中
11/11/08 18:53:13.41 cBmZmnDl.net
まじかよ

242:名無しさん@編集中
12/03/19 04:25:55.83 f/BB/mQ8.net
> 204 名前:名無しさん@編集中 投稿日:2011/02/26(土) 11:14:49.83 l4zfcff2
>「やれば出来ると思う」と言ったやつで、本当にやり遂げたやつを俺は見たことが無い

おまえの言う通りだったわ。

243:名無しさん@編集中
12/03/19 19:44:29.30 kJJGuXyP.net
じえんおつ

244:名無しさん@編集中
12/03/26 13:36:53.87 8cxLNMeD.net
ここで書き込む内容とスジ違いだったらすいません。
DirectShowを使って、IPropertyBagからFriendlyNameでデバイス名を取得したいのですが
デバイス名が長いと名称が途中までしか取得できないみたいで難儀しております。
代替の方法や解決策等、ご存知の方いましたら。。

245:名無しさん@編集中
12/05/30 19:21:21.78 mU4ynH+9.net
すみません、教えてほしいのですがストリーミングのURLを開きたいときに使うのは
source filterでしょうか?RTPのプロトコルからストリーミングのデータを取りたいのですが

よろしくお願いします。

246:電脳プリオン!ninja 【21.7m】
14/05/07 00:35:00.94 S8+rR1EO.net
なぜ解除する?

247:名無しさん@編集中
14/11/17 23:33:33.22 a9IWuZZR.net
GraphEditってどのバージョンのSDKに入ってるんだろ
もうめんどくさいから単体で配れよってレベル・・・

248:名無しさん@編集中
14/11/18 00:02:22.69 QCWTc4lw.net
>>227
URLリンク(code.google.com)

249:名無しさん@編集中
14/11/18 00:16:29.35 wxQdtsPZ.net
>>228
よさそう
ありがとう
grapheedit pulsもみつけたんだがボコボコ落ちるからなあ

250:名無しさん@編集中
14/11/28 12:20:00.81 A+QGr+Cp.net
DirectShowのFile WriterのURL側はどう使えばいいんだろ?
読み込み側は簡単だったんだが・・・

251:名無しさん@編集中
15/03/28 17:38:39.66 4c0wYCAq.net
複数の動画ファイルを扱うソフトを作ってるんですが、avi,flvは問題なく
mpg,mp4を読み込もうとすると数秒フリーズした後読み込まれる。
一度どれかのmpgファイルを読み込むとその後ソフトを終了しない限りは
すぐに読み込まれる。似たような症状で何かよくある原因みたいなものは
ありませんか?知恵をお貸しいただきたく・・・

252:名無しさん@編集中
15/03/29 08:20:14.96 X4Nmp7eT.net
このスレと何の関係があるの?

253:名無しさん@編集中
15/03/29 12:12:28.81 Ap5VirkM.net
directshowのスレがここしかない・・・

254:231
15/03/29 19:48:43.13 Ap5VirkM.net
自己解決しますた

255:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch