ПредишенСледващото

Днес ние ще говорим за инсталиране hook'ov (капани) в Windows. Хук - е механизъм за прихващане съобщение чрез създаване на специални функции, в горната част на комина система кука функции. Без определяне на тези капани е почти невъзможно да се избегне при писане на различни инструменти, отдалечено управление, шпионски софтуер и други програми в различна степен, отговарящи за контрола върху потребителя, използване на Windows. Има куки са глобални (цялата система) и местни (в поток).

Разположен в система с кука да използвате функцията за SetWindowsHookEx (), със следната заглавие:

HHOOK SetWindowsHookEx (инт idHook, HOOKPROC lpfn, HINSTANCE hMod, DWORD
dwThreadId);

Ако не възприемаме shny C код, за да Delphi заглавна изглежда така:

SetWindowsHookEx (idHook: цяло число; lpfn: TFNHookProc; hmod: HINST; dwThreadId:
DWORD): HHOOK;

SetWindowsHookEx () функция, ако инсталирате hook'a връща дръжката му, в случай на декларации за грешки 0.
Нека разгледаме по-подробно всички входни параметри на тази функция на:

1. idHook - константа, определя вида на инсталирана hook'a. Тя може да бъде една от следните стойности:

WH_CALLWNDPROC - проследяване на съобщения за изпращане във функцията на прозорци се нарича, когато се изпраща съобщение за процедурата за прозорец. Трап се задейства от всяка функция повикване SendMessage.

WH_CALLWNDPROCRET - Контролира съобщенията след като са изпратени за функцията на прозорец.

WH_CBT - Наречен да се справят с най-много съобщения кутии, мишка и клавиатура (създаване прозорци, активиране прозорци, разрушаващи прозорци, размера на прозореца промяна, преди да инсталирате ITP фокус)

WH_DEBUG - наречен преди всички други капани. Това е полезно за отстраняване на грешки hook'ov.

WH_GETMESSAGE - Наречен, когато приложението прочита съобщение опашка.

WH_HARDWARE - Наречен, когато приложението прочита съобщение опашка, инсталирани на компютърна техника.

WH_JOURNALPLAYBACK - Наречен, когато системата чете от съобщението за опашката. Използва се за добавяне на събития опашка система.

WH_JOURNALRECORD - Наречен, когато опашката на системата се иска всеки случай. Тя подала заявление за регистрация на системни събития.

WH_KEYBOARD - Наречен, когато опашката за кандидатстване се чете WM_Keydown или WM_Keyup мнения. Един от най-често срещаните проблеми -).

WH_MOUSE - Наречен, когато опашката за кандидатстване се чете от съобщението на мишката.

WH_MSGFILTER - Наречен, когато съобщението трябва да бъде обработена интерактивен прозореца на приложението, меню, или прозореца на приложението.

WH_SHELL - Наречен, когато създава и унищожава прозорец най-високо ниво, или когато се изисква обвивката на приложение, за да стане активен.

2. lpfn - указател към функция много кука. Нейното заглавие:

функция HOOKFUNCTION (код: цяло число; wparam: WPARAM; lparam: LPARAM): LRESULT
stdcall;

Стойностите на входни параметри зависят от hook'a тип. Ако сложите глобалната куката, тази функция трябва задължително да бъде в DLL.

3. hmod - отнема hInstance на стойност или DLL дескриптора (глобални капани).

4. dwThreadId - идентифицира поток, към който се добавя капана. Глобалната hook'ah този параметър трябва да бъде 0.

За да премахнете инсталираните капана съществува функция UnhookWindowsHookEx (). Като опция, трябва да използвате показалеца (дръжка) на функцията кука (стойността, която връща функцията SetWindowsHookEx ()).

Ами това е всичко, сте запознати с основите. Сега напишете малки комикс програма, предназначена да се закача на съобщения четец на мишката (WH_MOUSE). Направете го така, че при натискане на десния бутон на мишката крие бутон "Start", с кликване върху лявата - има, средно - промени заглавието на активния прозорец. Hook самата функция ще бъде в DLL. Освен това, DLL ще бъде две процедури - sethook () и removehook (), съответно за създаване и премахване на капан.

Това е кодът на DLL:

- lib.dll -

употреби
прозорци, съобщения;
Var
H. THandle;

- lib.dll -

В програмата ще поставят клопка обаждане от DLL процедури sethook изтрити - обажда removehook процедура. Пример инсталация hook'a и отстраняване, както и библиотека DLL изходния код е в затворено файла.

Покажете тази статия на приятел:

  • Преди 23 минути

Зловредният Necurs се научили да правят снимки на екрана и докладват своите проблеми за операторите

В darknet се продава за $ 5000 Malvar, което прави банкомати "изплюе" парите

Trusted Platform Module фирми Infineon Technologies уязвими, както и техните RSA ключове са ненадеждни

Какви производители вече са елиминирани уязвимостта, свързана с WPA2 и атака KRACK

Специалистите на "Доктор Уеб" са се научили на задната врата, написани на Python

Свързани статии

Подкрепете проекта - споделете линка, благодаря!