------------------------------------------------------------------------------
drmdbgはwmp用デバッガです。
カーネルにメモリパッチができない為 NT,2000,XP用です。9x系は使えません。
(NT未確認)
------------------------------------------------------------------------------
[wmp]
exe=WMPがある所(wmplayer.exeもいる)
ieCache=IEの大元のキャッシュフォルダ先(最後\付けない)
無い時は無視します
stop=ブレークポイントで停止 0=しない(終了時停止する) 1=する
drmclien=ブレークポイント 0=しない 1=する
blackbox=
indivbox=
drmv2clt=
wmvcore=
[*.dll] 内容を変えることで多数のDLLに対応できます。(ブレーク対応DLLはiniにあるのだけ)
crcxxは0-0x400のcrc32(表示します)
adrxxはベースから引いたアドレス
regxxはレジスタ(push xx)
addxxはregxx レジスタのアドレスに追加する数値(0場合いらない)
(今現在入れてるのは2000で確認したwmp9のDLL)
*数値は全部16進
*crcxxにないのは自分で調べる必要あり
*DLLは同じVerでもWindows Updataと拾ってきて入れたのは違うみたい
その他エンコーダ等入れると違うみたい
*crc表示がうざい時はcrcxxを書いてあとは適当にすればok(regxxが一致しないように)
------------------------------------------------------------------------------
表示例
-----drm1-----
drmdbg Ver 0.31 by taku
CreateProcess: C:\Program Files\Windows Media Player\wmplayer.exe
010010C0 プログラム エントリー ポイント
IsDebuggerPresent: memwriteret=1 callret=0
mms://wms4.navi.flets/gsd-area1/sd_12_w_1000.wmv
crc: AC782817 c:\winnt\system32\drmclien.dll
setbp 091B527C 50
crc: 2850B98C c:\winnt\system32\drmv2clt.dll
setbp 09252BCC 50
crc: 0A3A07B3 c:\documents and settings\all users\drm\indivbox.key
setbp 02E17C56 56
eax 01B268A5
pPvoLdjownRBq4QIWzgts4UWVvM=
[mms://wms4.navi.flets/gsd-area1/sd_12_w_1000.wmv]
CloseProces
Enter key run
-----drm1-----
-----drm2-----
drmdbg Ver 0.31 by taku
CreateProcess: C:\Program Files\Windows Media Player\wmplayer.exe
010010C0 プログラム エントリー ポイント
IsDebuggerPresent: memwriteret=1 callret=0
mms://stream3.highq.flets/hellopro/pv/p022/puchi_albu51_1.wmv
crc: 2850B98C c:\winnt\system32\drmv2clt.dll
setbp 09252BCC 50
crc: AC782817 c:\winnt\system32\drmclien.dll
setbp 091B527C 50
crc: 0A3A07B3 c:\documents and settings\all users\drm\indivbox.key
setbp 02EF7C56 56
esi 01B75F10
C:\Documents and Settings\*\Local Settings\Temporary Internet Files\Content.IE5\CLIRSPAB\puchi_albu51_1[1].dat
cXooHU11fUqOqh5cCZ9zag==
3oPOB7roTQUU5DcJx9MTFna+cOM=
[mms://stream3.highq.flets/hellopro/pv/p022/puchi_albu51_1.wmv]
CloseProces
Enter key run
-----drm2-----
*IsDebuggerPresentはmemwriteret=1 callret=0にならないと正常再生できません
*Enter key runの所で一時止まります
*ブレークポイントは1回止まると次は止まりません
(DLLがアンロードして再ロードすれば止まります)
*KIDはwmvから拾うかdrm2wmvから拾って下さい
------------------------------------------------------------------------------
ID/PAS確認について
ID/PAS確認があるDRMはまず普通に承認させて下さい。
承認後再生せずdrmdbgで再生すればok。
なお、html起動標準がもじらしか試してません。IEの場合できないかも。
*indivbox.keyによっては独自の窓がでる
------------------------------------------------------------------------------
blackbox.dllについて
blackboxは部分暗号化されています。該当を実行する前に復号するみたい。
なのでDLLロード時にブレーク設定ができません。
ブレークポイントが変わるのを調べてからブレーク設定をするので
ミスる時がありますが何回かやればok。
------------------------------------------------------------------------------
indivbox.keyについて
C:\Documents and Settings\All Users\DRM\(標準)
内のファイルを消せばblackbox.dllに戻ります。
*indivbox.keyは拾う度に違う物に変わるような気がする
------------------------------------------------------------------------------
drmclien.dllについて
drm1の時Decryptで変換処理するのでここからpushする所を探し出して下さい。
win2000+wmp9の場合 add xxx,6d push xxx があたり。この後のcallでrc4keyの処理。
------------------------------------------------------------------------------
drmv2clt.dllについて
drmv2cltはblackbox.dllやindivbox.keyのラッパーなので
C00D2723を探してblackbox.dllやindivbox.keyをcallしている所を探し出して下さい。
------------------------------------------------------------------------------
Win XPについて
indivbox.keyにブレークポイントすると強制終了する場合
drmv2clt.dllの方をやってみる。
------------------------------------------------------------------------------
IEのキャッシュについて
リアルタイムで見る時IEのキャッシュフォルダに
一時保存(ライセンスによっては残る)するので探し出してkidを見つけます。
*DRM1はたぶんキャッシュしない模様なのでkidが取得できない。
*ローカルファイルは今の所表示しません
------------------------------------------------------------------------------