Console Application 也可以使用API,但很多解决方案都只针对GUI 或者有消息键的进程。许多方法对Console Application都会失效,下面介绍一个方法可以针对所有进程,包括CONSOLE
不使用CreateRemoteThread或Windows STD Hook方法进入目标进程
1.创建暂停的目标进程。
2.修改新建的目标进程入口指令。
2.1方法1,申请一块目标进程的内存块,使用开源的代码长度测试 测试首指令长度,将入口首址改为跳转,将需要的指令写入新的内存块,最后不要忘了把原来入口的首指令放在未尾,再跳转到原入口的下一首指令。
2.2方法2,修改ss,在目标栈中增加指令,使其正确加载及恢复入口。
(方法1比较直观,方法2只要构建合适的数据,实现复杂度可以降低许多)
3.恢复运行目标进程主线程。
截获NTCreateProcess实现上面构思会比想象的更通用。
本文介绍了一种针对所有进程(包括ConsoleApplication)的通用拦截方法,通过创建并暂停目标进程,修改其入口指令,从而实现对进程的拦截。文中详细描述了两种修改入口指令的方法,并指出这种方法相较于传统技术的优势。
20万+

被折叠的 条评论
为什么被折叠?



