当我尝试调试 Windows Media Player 并播放电影时,会显示此错误消息:
不允许在使用 DRM 内容时在调试器下运行此进程。
但有了drmdbg
它可以调试wmplayer
和播放电影。
有没有办法克服这个问题?
当我尝试调试 Windows Media Player 并播放电影时,会显示此错误消息:
不允许在使用 DRM 内容时在调试器下运行此进程。
但有了drmdbg
它可以调试wmplayer
和播放电影。
有没有办法克服这个问题?
另一个(不容易)选项可能是使用修补版本的 Wine(因为它支持运行 Windows Media Player)并连接到它提供的 GDB 远程调试器。虽然听起来很奇怪,但我这样做是为了调试,例如,Themida 打包的可执行文件。
你可以从这里下载 Wine 1.2 的补丁(如果我没记错的话):
http://sourceforge.net/projects/zerowine/files/Zerowine%202.0/zerowine.patch/download
DRMDBG是一个类似于OllyDbg的调试器,但它似乎是针对单个可执行文件的。
Call stack of thread 00000E2C
Address Stack Procedure / arguments Called from Frame
01CC9FAC 7C8192E2 ? ntdll.ZwCreateProcessEx KERNEL32.7C8192DC
01CCA9FC 7C802362 ? KERNEL32.CreateProcessInternalW KERNEL32.7C80235D
01CCAA34 0047DD6E ? <JMP.&kernel32.CreateProcessW> drmdbg.0047DD69 01CCAA30
01CCAA38 0016CF84 ModuleFileName = "C:\Program Files\Windows Media Player\wmplayer.exe"
01CCAA3C 00000000 CommandLine = NULL
01CCAA40 00000000 pProcessSecurity = NULL
01CCAA44 00000000 pThreadSecurity = NULL
01CCAA48 00000000 InheritHandles = FALSE
01CCAA4C 00000003 CreationFlags = DEBUG_PROCESS|DEBUG_ONLY_THIS_PROCESS
01CCAA50 00000000 pEnvironment = NULL
01CCAA54 00000000 CurrentDir = NULL
01CCAA58 0048A388 pStartupInfo = drmdbg.0048A388
01CCAA5C 0048A3CC pProcessInfo = drmdbg.0048A3CC
01CCAA68 0047E9E3 drmdbg.0047DD0C drmdbg.0047E9DE 01CCAA64
01CCFF68 0047F10B ? drmdbg.0047E954 drmdbg.0047F106 01CCFF64
01CCFF74 00422149 drmdbg.0047F0F0 drmdbg.00422146 01CCFF70
您可以以非侵入性的方式使用WinDbg。在 ollydbg 中使用隐形插件可以让您附加到 wmplayer.exe。您需要识别反调试例程并绕过它们。