如何在没有附加模式的情况下调试 Windows Media Player?

逆向工程 调试器 调试
2021-06-19 10:34:48

当我尝试调试 Windows Media Player 并播放电影时,会显示此错误消息:

不允许在使用 DRM 内容时在调试器下运行此进程。

但有了drmdbg它可以调试wmplayer和播放电影。

有没有办法克服这个问题?

2个回答

另一个(不容易)选项可能是使用修补版本的 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。您需要识别反调试例程并绕过它们。