一个控制台程序,只想试试hook的过程:

#include"stdafx.h"LRESULTCALLBACKKeyboardProc(intcode,WPARAMwParam,LPARAMlParam){retu... #include "stdafx.h"
LRESULT CALLBACK KeyboardProc( int code,
WPARAM wParam,
LPARAM lParam )
{
return 1;
}
int _tmain(int argc, _TCHAR* argv[])
{
HHOOK h= SetWindowsHookEx(WH_KEYBOARD,KeyboardProc,0,GetCurrentThreadId());
if(h)
{
cout<<"succeed hook"<<endl;
}
getchar();
return 0;
}
为什么在控制台中还能输入按键呢?
展开
 我来答
静电计
2012-08-26
知道答主
回答量:49
采纳率:0%
帮助的人:30.3万
展开全部
hook技术很难勾住控制台程序,当然,如果有办法把握时机向控制台程序INJECT动态库,也是可以hook住控制台程序的。一般而言,使用了user32.dll的程序(GUI程序)是比较容易hook的。
根据《windows核心编程》中所说的,可以尝试使用CAPIHooker和CreateRemoteThread来对控制台程序进行远程注入,这样便有机会挂住控制台程序。这可能是一种方法。当然也可能有其它的方法。
总而言之,使用控制台程序不容易hook。
帅幻迩3N
2012-08-26 · TA获得超过682个赞
知道小有建树答主
回答量:486
采纳率:100%
帮助的人:300万
展开全部
getchar函数就是等待标志输入设备的输入
与之类似的函数还有getch,getche,getc等都是等待输入函数
控制台中当然是可以输入按键
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式