Windows – Microsoft Detours如何工作,如何使用它来获取堆栈跟踪?

我是微软绕行的新人。我已经安装它来跟踪一个进程所做的系统调用。我运行以下从网络获得的命令
syelogd.exe /q C:\Users\xxx\Desktop\log.txt 
withdll.exe /d:traceapi.dll C:\Program Files\Google\Google Talk\googletalk.exe

我得到日志文件。问题是我不完全明白这里发生了什么。绕道如何工作?它如何跟踪系统调用?
另外我也不知道如何读取log.txt中的输出。这是log.txt中的一行

20101221060413329 2912 50.60: traceapi: 001 GetCurrentThreadId()

最后我想得到进程的堆栈跟踪。我该怎么做?

绕行可让您拦截任何功能。它将jmp放置在您指定的地址中,为您的代码创建蹦床。最后,如果要这样做,你调用旧函数。
要使用曲折,您必须在要拦截的过程中注入代码。

为了简化此过程,您可以使用Deviare API Hook,它可以使用所有的注入工作人员,您可以使用任何支持COM技术的编程语言(包括.NET,Delphi,C,Python等)的截取应用程序。
下载包后,您会发现一些例子。有一个名为DeviareCSharpConsole的控制台,您可以拦截显示完整堆栈跟踪信息的任何进程的任何API。

这是Deviare API Hook的工作方式,但是如果您要创建一个挂钩另一个进程的应用程序,则需要执行以下操作:

应在目标进程中创建一个代理,以拦截所需的API。为了拦截这些API,您可以使用“绕行”,但是必须对该库中未包含的IPC员工进行编码。

如果您需要使用Deviare API Hook在目标进程中编写代码,则可以使用Deviare Custom Hooks.此功能可以拦截API并异步处理已处理的参数。

相关文章

文章浏览阅读2.2k次,点赞6次,收藏20次。在我们平时办公工作...
文章浏览阅读1k次。解决 Windows make command not found 和...
文章浏览阅读3.2k次,点赞2次,收藏6次。2、鼠标依次点击“计...
文章浏览阅读1.3w次。蓝光版属于高清版的一种。BD英文全名是...
文章浏览阅读974次,点赞7次,收藏8次。提供了更强大的功能,...
文章浏览阅读1.4w次,点赞5次,收藏22次。如果使用iterator的...