Форум о защите от: хакеров, взлом, раскрутка, хакер, вирусы, взлом программы, взлом паролей, взлом вконтакте, взлом icq, раскрутка сайта, взлом скачать, взлом почты, взлом ru, проги взлома, хакер, программа взлома, трояны, программирование

Хакер, взлом, программа, сайт, форум, информатика, железо, разгон, раскрутка, SEO, защита, безопасность, взломать, как взломать, взлом icq, взлом вконтакте, взлом программ, одноклассники, взлом почты, взлом аськи
Текущее время: 27-04, 18:57

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Защита от клавиатурных шпионов
СообщениеДобавлено: 02-03, 18:17 
Не в сети
<b><font color=red>Admin</font></b>
Аватара пользователя

Зарегистрирован: 22-05, 15:38
Сообщения: 1901
Подавляющее большинство клавиатурных шпионов использует
для мониторинга нажатий клавиш hook-процедуру WH_KEYBOARD.
Чтобы клавиатурное сообщение не попало в установленную ловушку,
достаточно перехватить вызов этой hook-процедуры и отменить его.
Это можно сделать, установив свой hook - WH_DEBUG. Процедура
этого hook'а будет получать управление при вызове других
hook-процедур.
Таким образом, мы устанавливаем hook для других hook'ов, получая,
в результате, достаточно мощное средство.

Приступим к написанию. Создайте новый DLL-проект; VCL можно отключить.
Код процедуры в DLL:

extern "C" __export LRESULT CALLBACK
DebugProc(int nCode, WPARAM wParam, LPARAM lParam)
{
if(nCode == HC_ACTION)
{
if(wParam == WH_KEYBOARD)
{
if(MessageBox(NULL, "Do you want to pass keyboard message to WH_KEYBOARD
hook-procedure?",
"Confirmation",
MB_YESNO | MB_ICONQUESTION | MB_DEFBUTTON2 |
MB_TOPMOST | MB_SYSTEMMODAL) == IDNO)
return 1;
}
}

return CallNextHookEx(NULL, nCode, wParam, lParam);
}



Мы проверяем тип вызываемой ловушки на соответствие WH_KEYBOARD,
и, если равенство верное, запрашиваем подтверждение на вызов этой процедуры.
Если в пропуске отказано, возвращаем ненулевое значение.

Код приложение, ответственное за установку и снятие этой ловушки.

// Глобальные переменные:
HMODULE hDLL = NULL;
HHOOK hHook = NULL;

//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
if(hHook != NULL)
{
ShowMessage("The Hook has already been set.");
return;
}

hDLL = LoadLibrary("hook.dll");
if(hDLL == NULL)
{
ShowMessage("Can't load hook.dll. Reason: " + SysErrorMessage(GetLastError()));
return;
}

typedef LRESULT __import (CALLBACK *fnType)(int, WPARAM, LPARAM);
fnType DebugProc = (fnType)GetProcAddress(hDLL, "DebugProc");

if(DebugProc == NULL)
{
FreeLibrary(hDLL);
hDLL = NULL;
ShowMessage("Can't find "DebugProc" in hook.dll.");
return;
}

hHook = SetWindowsHookEx(WH_DEBUG, (HOOKPROC)DebugProc, hDLL, 0);
if(hHook == NULL)
{
FreeLibrary(hDLL);
hDLL = NULL;
ShowMessage("Can't set WH_DEBUG hook. Reason: " + SysErrorMessage(GetLastError()));
return;
}
}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormDestroy(TObject *Sender)
{
if(hDLL)
FreeLibrary(hDLL);
if(hHook)
{
UnhookWindowsHookEx(hHook);
hHook = NULL;
}
}

Не забудьте переименовать DLL (или изменить её имя в коде).


hackzona


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 11-03, 21:35 
Не в сети
Starting AH-user

Зарегистрирован: 25-01, 20:49
Сообщения: 13
спс! :cool:

_________________
Есть колеса - можно угнать
Есть информация - можно узнать


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 27-06, 22:33 
Не в сети
New AH-user

Зарегистрирован: 27-06, 22:30
Сообщения: 5
круто, первый раз слышу про таких шпионов =))


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 10-11, 10:54 
Не в сети
New AH-user

Зарегистрирован: 10-11, 10:47
Сообщения: 4
ничего не понял!но такие проблемы сейчас очень актуальны!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 25-11, 17:40 
Не в сети
<b><font color=red>Admin</font></b>
Аватара пользователя

Зарегистрирован: 22-05, 15:38
Сообщения: 1901
лёва
Ничего удивительного, это не для новичков.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения

Найти:
Перейти:  
cron
Powered by Forumenko © 2006–2014
Русская поддержка phpBB