Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Работа с Hook`ами в Виндовозе (https://forum.antichat.xyz/showthread.php?t=59556)

KSoniX 22.01.2008 16:47

Работа с Hook`ами в Виндовозе
 
правда ли что с хуками можно работать только через Dll ?

groundhog 22.01.2008 16:50

Интересно, а как твой код может ещё документированными способами оказаться в адресном пространстве другого процесса?

Delimiter 22.01.2008 17:06

инжектами(документировано Google)!

KEZ 22.01.2008 17:10

> инжектами!

Дай ссылку на msdn, где документирован такой способ.

> правда ли что с хуками можно работать только через Dll ?

нет конечно. хуков вообще нет, это страшилка от микрософта

KSoniX 22.01.2008 17:14

я проста хотел создать хуки в своем адресном пространстве ?

я объявил callback функцию для хука в своем адресном пространстве но она не срабатывает почему?

Delimiter 22.01.2008 17:24

Чего ты хочешь обьясни подробнее..... код в студию!!!!
Какое событие посылаешь.....(надеюсь не нажатия клавы :) Убьют нафик, при наличии темы клавиатурных шпийоноф)?
Как ловишь....?
Действительно ли своему Handle....(надеюсь что не Global :) )?

groundhog 22.01.2008 17:25

Думаешь она будет "срабатывать" (походу оно механическое) от того что ты её просто объявил?

spider-intruder 22.01.2008 17:43

http://sources.ru/msdn/library/setwindowshookex.shtml

lpfn
указатель на функцию ловушки. Если параметр dwThreadId равен нулю или содержит идентификатор потока, созданного в другом процессе, то параметр lpfn должен указывать на процедуру ловушки в динамически закгружаемой библиотеке (DLL). Либо lpfn может указывать на функцию ловушки в текущем процессе.

KSoniX 22.01.2008 17:53

#include <windows.h>
#include <stdio.h>
#include <string.h>
HWND selfhandle;
HHOOK shook=0;
LRESULT CALLBACK CBTProc(int iCode,WPARAM wParam,LPARAM lParam)
{
if (iCode==HCBT_MINMAX)//(!strcmp(cap,"Half-Life"))
{
MessageBoxA(0,(LPCSTR)"You can`t use this Program.",(LPCSTR)"Message from Administrator!",0);// соб шения не выходит если даже использо ваю другие функцию
/* . . .*/
}

return (CallNextHookEx(shook,iCode,wParam,lParam));
}

int main ()
{
selfhandle=GetForegroundWindow();
shook=SetWindowsHookExA(WH_CBT,(HOOKPROC)CBTProc,( HINSTANCE)selfhandle,0);
//. . .
UnhookWindowsHookEx(shook);
return 0;
}
што делаю нетак

Jes 22.01.2008 18:21

хуки разными бывают !?

https://forum.antichat.ru/showpost.p...9&postcount=12
без dll ...


Время: 01:56