怎么hook控制台程序?

lonelyeagle 2005-03-16 06:25:46
在参考了《windows核心编程》后,我编写了一个hook程序。
用来监控文件的读写,hook了CreateFileA等文件。
但是发现,凡是用控制台程序完成的文件读写操作都hook
不到,用depends查看了控制台程序发现,如果一个程序没有
图形界面的话,用《windows核心编程》提供的hook方法就难以
实现hook,该如何实现对控制台程序的hook,请高手指点。
...全文
430 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
lonelyeagle 2005-03-23
  • 打赏
  • 举报
回复
问题已经解决了,关键是没有找到正确的阻塞位置,后来hook了NtResumeThread后(每个进程创建后都会
调用这个函数),阻塞进程,然后注入动态库,然后在放行进程就ok了。多谢诸位!
magicfound 2005-03-22
  • 打赏
  • 举报
回复
你要达到什么样的效果呢?你可以自己创建控制台进程,pause住,然后再远程注入,再resume。
不过我没试过.
也可以用你的进程调试控制台进程,在注入.这个是彼得克的方法.
lonelyeagle 2005-03-21
  • 打赏
  • 举报
回复
我把《windows 核心编程》中的CAPIHooker和CreateRemoteThread结合起来,把控制台
hook了,但新问题来了,控制台程序如果执行太快,hook就没法了。
比如用一个控制台程序执行了一个文件操作后,马上结束。
有没有高手知道该如何阻塞住控制台程序的执行,等hook完成后,再向下执行?

在此感谢前面诸位的回帖,结贴时一定给分。谢谢。
xwzxwz 2005-03-19
  • 打赏
  • 举报
回复
不可能hook不了阿

在不行就改中断函数
rabo 2005-03-19
  • 打赏
  • 举报
回复
inject the console
sx_enter 2005-03-19
  • 打赏
  • 举报
回复
用远程注入inject dll可以hook
linuxpgy 2005-03-17
  • 打赏
  • 举报
回复
到我的主页下载代码吧
http://myproject.91x.net
<拦截任意程序引起的关机>可以拦截控制台调用的API
zhjie374 2005-03-17
  • 打赏
  • 举报
回复
如果控制台进程创建的时候使用CreateProcess,那么先HOOK这个.
然后注入!

因为书上的方法是在传消息什么的时候注入的,而控制台进程往往没有这么复杂,所以没有机会INJECT.

我猜的
BigFanOfCpp 2005-03-17
  • 打赏
  • 举报
回复
很不幸,HOOK不能钩住控制台进程。
idAnts 2005-03-16
  • 打赏
  • 举报
回复
只有使用USER32.DLL的进程才会被INJECT
这里有陆麟的一篇很好的文章,自己去看吧。
http://lu0s1.3322.org/sys/2k1204.html
adamx 2005-03-16
  • 打赏
  • 举报
回复
gz
Kudeet 2005-03-16
  • 打赏
  • 举报
回复
GZ

参考
http://search.csdn.net/Expert/topic/2488/2488668.xml?temp=.7547571
hyamw 2005-03-16
  • 打赏
  • 举报
回复
没有成功过,据说console的程序都不能hook。只有GUI的可以,也就是使用了user32.dll的

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧