我想连接到CreateProcess的每个调用(以及其他一些相关的API),不管是什么过程。现代机器人可以在不列举所有过程和执行注入的情况下完成这一任务吗?
我读过几篇关于API挂钩的文章,特别是关于Detours的文章,re:
API与微软公司挂钩(InfoSec研究所)
我对这些文章有两个问题:
我知道这可以通过一个驱动程序来完成,但是Detours被认为是一个强大的工具,并且目前仍然被支持,所以我想知道如何使用Detours来完成它。
到目前为止,我所读到的文献都是针对使用Detours的特定程序,虽然它已经给出了如何枚举每个进程和执行DLL注入,然后尝试使用Detours的想法,但这似乎是一种非常不可靠的方法。
发布于 2017-09-26 06:34:09
不是
如果没有每一个过程注入,就不能在全球范围内使用弯道.
但是,当您希望在系统运行后设置初始挂钩时,只需要手动枚举进程一次。一个选项(如果您很小心的话)是使用注册表设置将您的DLL加载到新进程中(至少是使用user32.dll的进程,并且不选择不让AppInit_DLLs运行,并提供该甚至在系统上启用。开始)。
否则,另一种方法是编写一个内核驱动程序,该驱动程序实现通过进程创建回调注册的PsSetCreateProcessNotifyRoutine()。该回调将在每次创建或销毁进程时调用。
https://stackoverflow.com/questions/46418449
复制相似问题