Понедельник, 23.10.2017, 23:49 Приветствую вас Гость | Группа "Гости" 


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: Волк-1024, Anton93, xXxSh@dowxXx 
delfcode » Delphi » Вирусология Delphi » Помогите чайнику с кейлогером
Помогите чайнику с кейлогером
KEniДата: Пятница, 30.11.2012, 17:44 | Сообщение # 1
Был не раз
Зарегистрирован: 30.11.2012
Группа: Пользователи
Сообщений: 6
Статус: Offline
Здравствуйте, дорогие форумчане.

Мне понадобился кейлогер именно на delphi.
На паскале писал последний раз лет 6 назад. Расскажите мне как ныне принято писать.
Слышал что хуки уже никто не используют и настоящие тру пишут на api с таймером.

Что требуется: русские\английские буквы, символы, регистр, название окна приложения, работа на Win 7 и Win XP
Из сред разработки есть DElphi EX

БЫстро пробежавшись по поиску нашел пример от NEO


Но в лог мне записывается какая-то бабуйня

Или
 
C@TДата: Пятница, 30.11.2012, 20:11 | Сообщение # 2
Авторитетный
Зарегистрирован: 06.03.2010
Группа: Модераторы
Сообщений: 265
Статус: Offline
этот кейлогер извращение biggrin

P.S не в обиду автору smile
 
Don_DiegoДата: Пятница, 30.11.2012, 22:15 | Сообщение # 3
Продвинутый
Зарегистрирован: 16.04.2012
Группа: Пользователи
Сообщений: 251
Статус: Offline
Ну почему же сращу извращение? Neo был выкладывал исходник подобного кейлогера, но он писал логи нормально.
Только вот есть один небольшой недостаток такого рода кейлогеров. Попади ему на компьютер чуть послабее вашего и он начнет перехватывать клавиши через одну. Тоесть смысл от такого кейлогера потом никакой. Ну не успевает процессор переработать в долю секунды столько информации... Интересней всего подход - это через написание драйвера, но пока этим не занимался.
 
KEniДата: Суббота, 01.12.2012, 00:13 | Сообщение # 4
Был не раз
Зарегистрирован: 30.11.2012
Группа: Пользователи
Сообщений: 6
Статус: Offline
Лог пишется то через букву, то кракозябрами, то съедает последние символы сообщения, хотя компьютер на котором тестировался, весьма мощен.

Quote (C@T)
этот кейлогер извращение


Да, он не совершенен smile Дайте мне исходники других кейлогеров на delphi, я просто выберу подходящий для себя.
 
C@TДата: Суббота, 01.12.2012, 01:07 | Сообщение # 5
Авторитетный
Зарегистрирован: 06.03.2010
Группа: Модераторы
Сообщений: 265
Статус: Offline
перебирать каждый скан код символа в куче ифов, при этом нужно еще учитывать раскладку клавиатуры текущего приложения, нажатый shift и caps , это извращенно smile
P.S а если например нужно сделать поддержку не только английской и русской раскладки, так это вообще километры кода, если идти таким извращенным подходом smile
 
KEniДата: Воскресенье, 02.12.2012, 22:50 | Сообщение # 6
Был не раз
Зарегистрирован: 30.11.2012
Группа: Пользователи
Сообщений: 6
Статус: Offline
Quote (C@T)
перебирать каждый скан код символа в куче ифов, при этом нужно еще учитывать раскладку клавиатуры текущего приложения, нажатый shift и caps , это извращенно


ДА знаю я что это ппц как нерационально! Может у вас есть какой-нибудь другой(рабочий) кейлогер?
 
XSPYДата: Понедельник, 03.12.2012, 00:01 | Сообщение # 7
Продвинутый
Зарегистрирован: 28.01.2010
Группа: Пользователи
Сообщений: 258
Статус: Offline
C@T, а почему собсно извращение? многие тру-коды на ифах пашут и чотко даже пашут)))
Можно засунуть код в один иф,а остальное по отдельным модулям или функам (но это я по аналогии с С++ говорю)
 
C@TДата: Понедельник, 03.12.2012, 01:32 | Сообщение # 8
Авторитетный
Зарегистрирован: 06.03.2010
Группа: Модераторы
Сообщений: 265
Статус: Offline
Quote (XSPY)
многие тру-коды на ифах пашут и чотко даже пашут


тогда я не тру кодер, но я пишу так:



ну и запускаю поток void KeyLog() , накопившиеся логи считываются из KeyBuf в критической секции и обнуляется
скан код клавиши я считываю винАПИ функцией ToAsciiEx , у которой есть даже Unicode аналог, которым можно собирать логи хоть на китайском, правда в данном коде можно поправить цикл с GetKeyState на один вызов GetKeyboardState и получить сразу данные по всем нажатым клавишам на клавиатуре а потом уже пройтись по тем которые нажаты

P.S простите за с++, но думаю WinAPI вызовы будут понятны
P.P.S выложил бы б весь исходник бота, но он на с++, а здесь к сожалению мало кто его знает smile
 
Marra_KeshДата: Понедельник, 03.12.2012, 11:26 | Сообщение # 9
Постоянный
Зарегистрирован: 19.12.2009
Группа: Модераторы
Сообщений: 182
Статус: Offline
Quote (C@T)
P.P.S выложил бы б весь исходник бота, но он на с++, а здесь к сожалению мало кто его знает

Будь добр C@T, выложи в раздел "Остальные языки" для общего развития будет очень полезным.
Или в "Приватный форум" cool
 
KEniДата: Понедельник, 03.12.2012, 12:05 | Сообщение # 10
Был не раз
Зарегистрирован: 30.11.2012
Группа: Пользователи
Сообщений: 6
Статус: Offline
C@T, Выкладывай уже сюда весь исходник, мы и в C++ немного могём. НА что твой бот логи шлет, почта или ftp?
 
C@TДата: Понедельник, 03.12.2012, 15:15 | Сообщение # 11
Авторитетный
Зарегистрирован: 06.03.2010
Группа: Модераторы
Сообщений: 265
Статус: Offline
на веб(http) все шлется, как время появится выложу в приват раздел smile
 
NeoДата: Понедельник, 03.12.2012, 18:32 | Сообщение # 12
Модератор
Зарегистрирован: 04.05.2010
Группа: Модераторы
Сообщений: 316
Статус: Offline
Есть идея реализовать кейлоггер перехватом SendMessage,кто за? biggrin biggrin biggrin
 
Don_DiegoДата: Понедельник, 03.12.2012, 18:50 | Сообщение # 13
Продвинутый
Зарегистрирован: 16.04.2012
Группа: Пользователи
Сообщений: 251
Статус: Offline
Neo, подробней пожалуйста. И что-то мне твой смех не нравится, подвох явно какой-то smile
 
dolphinДата: Понедельник, 03.12.2012, 20:28 | Сообщение # 14
Администратор
Сообщений: 902
Статус: Offline
Для KEni,
http://delfcode.ru/search/?q=keyloger
http://delfcode.ru/search/?q=кейлогер
 
NeoДата: Понедельник, 03.12.2012, 21:39 | Сообщение # 15
Модератор
Зарегистрирован: 04.05.2010
Группа: Модераторы
Сообщений: 316
Статус: Offline
Don_Diego, Короче,когда происходит какое-то событие,например нажали на кнопку на клавиатуре,то генерируется сообщение Tmsg.
Сообщение - это структура данных,имеющая в себе: lparama,Wparam,координаты мыши даже и данные.(Нужно уточнить).SendMessage - функция,которая отсылает эту структуру в обработчик,например,оконной процедуре.Если перехватить эту функцию,то можно в чистом виде "слизывать" данные.
Вот это чисто теоретически)))Нужно попробовать на практике.
 
Don_DiegoДата: Понедельник, 03.12.2012, 22:04 | Сообщение # 16
Продвинутый
Зарегистрирован: 16.04.2012
Группа: Пользователи
Сообщений: 251
Статус: Offline
Neo, про функцию SendMessage я конечно знаю, но почему-то всегда думал ею можно только имитировать нажатия клавиш. Я конечно структуру драйвера клавиатуры не знаю, поэтому надеюсь ты знаешь что делаешь smile
 
KEniДата: Понедельник, 03.12.2012, 22:55 | Сообщение # 17
Был не раз
Зарегистрирован: 30.11.2012
Группа: Пользователи
Сообщений: 6
Статус: Offline


Я просмотрел весь поиск перед тем как создать тему.
К сожалению, все ссылки на APIшные кейлогеры биты, а на VCL у меня и так есть, только VCL-кейлогер на вражеском компьютере как-то не комильфо smile
Если вам не сложно, можете запостить здесь или в личку на APi-кейлогер, на свой например, если не жалко.
 
C@TДата: Вторник, 04.12.2012, 00:45 | Сообщение # 18
Авторитетный
Зарегистрирован: 06.03.2010
Группа: Модераторы
Сообщений: 265
Статус: Offline
проблемма лишь в том что SendMessage прийдется хукать во всех процессах, а это трудоемко и багануто, вообще можно не извращатся и вызвать SetWindowsHookEx , эта функция вообще и предназначается в винде для того что бы делать перехват сообщений окон, а не для того что бы дллки инжектить, как сейчас все ее обычно используют smile

function KeybordSysMsgProc(code:integer;Wparam:word;Lparam:longint):longint;stdcall;
begin
....
end;

KeyHook:=SetWindowsHookEx(WH_KEYBOARD,@KeybordSysMsgProc,HInstance,0);

кидаем это в длл, и поехали smile
 
KEniДата: Пятница, 14.12.2012, 11:33 | Сообщение # 19
Был не раз
Зарегистрирован: 30.11.2012
Группа: Пользователи
Сообщений: 6
Статус: Offline
bump чтоли
 
delfcode » Delphi » Вирусология Delphi » Помогите чайнику с кейлогером
Страница 1 из 11
Поиск:

delfcode.ru © 2008 - 2017 Хостинг от uCoz