加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

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

发布时间:2020-12-13 21:05:47 所属栏目:Windows 来源:网络整理
导读:我是微软绕行的新人。我已经安装它来跟踪一个进程所做的系统调用。我运行以下从网络获得的命令 syelogd.exe /q C:UsersxxxDesktoplog.txt withdll.exe /d:traceapi.dll C:Program FilesGoogleGoogle Talkgoogletalk.exe 我得到日志文件。问题是我不
我是微软绕行的新人。我已经安装它来跟踪一个进程所做的系统调用。我运行以下从网络获得的命令
syelogd.exe /q C:UsersxxxDesktoplog.txt 
withdll.exe /d:traceapi.dll C:Program FilesGoogleGoogle Talkgoogletalk.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并异步处理已处理的参数。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读