拦截com dllhost.exe调用
Intercept COM dllhost.exe invocation
我正在尝试用intel pin来启动com dll。不幸的是,英特尔引脚设计用于仪器独立过程,而不是dll。
所以我的问题是 - 是否可以影响com使用的命令行来启动InProc Server主机(dllhost.exe),以便我可以用Dllhost.exe作为参数调用PIN.EXE.EXE?还是dllhost.exe的调用将硬编码用于窗口,这意味着我的想法是徒劳的?
dllhost.exe是DLL替代物的示例,它允许您在单独的可执行文件中实例化DLL COM服务器。您可以指定使用DLLSurrogateExecutable注册表密钥使用的任意可执行文件,您可以实现自己的DLL替代可执行代码,该代码直接使用PIN。
当然,一个单独的问题是如何创建COM对象。仅当类别指定可以使用dll surmogate 和的appid注册的dll替代物,com对象的创建者指定clsctx_local_server到cocreateAteinstance等。如果是这种情况,您可能需要修改呼叫者以更改上下文。
为了确定您可以使用诸如Oleview之类的工具下的班级注册的Appid,但是从注册表编辑器那里不难做到。如果您获得CLSID GUID,请在HKEY_CLASSES_ROOTCLSIDGUID
下进行搜索。在那里,您可能会找到一个苹果值。这是指向HKEY_CLASSES_ROOTAppIDGUID2
的GUID,其中包含它是否注册为DLL替代物以及您可以放置DLLSurrogateExecutable键。
相关文章:
- 如何从Windows控制台调用.exe(C++)以在不同的目录(或任何目录)中创建文件夹?
- 如何调用 ntoskrnl.exe srand 函数?
- 如何链接 DLL 以供 LoadLibrary() 使用(在 Windows 上的 C++ 中)并从调用 exe 导入变
- C++ |DLL / EXE - 如何从导出的类调用另一个类方法?
- 从 C# Windows 应用程序调用 C dll 会导致 svchost.exe 崩溃
- cmake:生成批处理文件调用cl.exe
- 拦截com dllhost.exe调用
- CreateProcess正在调用cmd.exe,包括没有显示(闪烁)窗口的参数
- Windows中的exe在调用getWindowsDirectory时附加wstring时正在崩溃
- 记录使用 createprocess 函数调用的 exe 的错误
- EXE 是否可以调用启动它的 DLL
- C++ exe 中的修补调用
- 如何在 Linux/Mac 上调用特定的 EXE 函数
- 调用外部函数(从一个exe到另一个exe)
- cl.exe在通过MSBuild调用时无限期挂起
- 通过 *.dll 文件调用 *.exe 文件并提交参数
- 如何对表中的插入事件调用 exe
- VS2012,使用系统函数调用exe,这会导致崩溃
- 如何使用命令参数从<自定义操作 /> 调用.exe文件
- 让dll通过发送一个指针来调用.exe函数