【发布时间】:2013-11-02 14:57:48
【问题描述】:
今天我正在构建简单的键盘记录应用程序(不不不 - 不是你想的......)。我正在使用 GetAsyncKeyState(我知道我应该使用 SetWindowsHookEx,但是没有很多好的教程 - 而且我在 WinApi 中很烂),并且在自动启动时启动我的程序有问题。我将它添加到正确的注册表中,一切正常(程序在启动时启动),但 GetAsyncKeyState 无法读取任何密钥(如果我手动启动它就可以工作)。缩短代码:
HWND Stealth;
if(!AllocConsole()){
Sleep(1000*5);
}
while((Stealth = FindWindowA("ConsoleWindowClass", NULL))==NULL){
Sleep(1000*5);
}
//ShowWindow(Stealth,0);
char i;
while (keylogger->working){
for(i = 8; i <= 190; i++){
if (GetAsyncKeyState(i) == -32767){
cout << i << endl; // No output here
}}}
为什么会存在这种行为,如何避免?是否与在 windows 启动的早期阶段分配控制台有关?
【问题讨论】:
-
您没有告诉我们您是如何启动您的
恶意软件程序的 -
从 Windows 资源管理器中正常双击。
-
我很困惑。首先你说你正在使用自动启动。现在你说你从资源管理器开始。是哪个?
-
我了解到您在问我如何以正常方式启动它 - 但如果它用于自动启动,我只需重新启动计算机 - 就像我认为我应该测试它在自动启动中的工作方式:)跨度>
-
我不知道你在说什么
标签: winapi registry windows-7-x64