Search code examples
c++windowsfiltergraphdirectshow

Spying on the filtergraph of an application that cannot be recompiled


If an application such as TV tuner doesn't add its filtergraph to Running Objects Table and therefore GRAPHEDT.EXE cannot spy on the application's graph, are there any other ways to see the application's filtergraph, short of recompiling the application?


Solution

  • If you regiter DirectShow Spy in your system, it starts publishing filter graphs automatically, so that you can use GraphEdit or GraphStudioNext to connect to remote filter graphs of applications that did not publish graphs in first place.

    A few notes:

    1. you need to COM register the DLL that matches bitness of target application (or register both)
    2. you need to have additionally COM registered proppage.dll from Windows 10 SDK (more on this)
    3. GraphEdit needs to be executed at the same privilege elevation level as the target application

    See also: How can I reverse engineer a DirectShow graph?