Add feature to globally hook processes to inject indirectly.

* This allows you to hook into processes that are difficult to launch
  directly with the existing functionality in RenderDoc.
* This is rather risky, as it modifies the AppInit_DLLs registry key to
  inject a small shim dll that checks for the desired process and injects
  the full renderdoc.dll. If that registry key got left, or if there was
  some incompatibility with the shim dll, you could have problems. It
  should only ever be used as a last resort if there's no other way to
  capture.
This commit is contained in:
baldurk
2014-10-05 13:57:11 +01:00
parent a6d68e5598
commit 9460fbd970
29 changed files with 1292 additions and 110 deletions
+7 -1
View File
@@ -40,6 +40,12 @@ uint32_t Process::CreateAndInjectIntoProcess(const wchar_t *app, const wchar_t *
return 0;
}
void Process::StartGlobalHook(const wchar_t *pathmatch, const wchar_t *logfile, const CaptureOptions *opts)
{
RDCUNIMPLEMENTED();
return 0;
}
void *Process::GetFunctionAddress(const char *module, const char *function)
{
RDCUNIMPLEMENTED();
@@ -49,4 +55,4 @@ void *Process::GetFunctionAddress(const char *module, const char *function)
uint32_t Process::GetCurrentPID()
{
return (uint32_t)getpid();
}
}