Jump to content

System Hook


Mikas
 Share

Recommended Posts

Gostava que alguem me pudesse ajudar nesta questao de system hook...

Eu quero capturar mensagens de outras janelas do sistema que nao a minha, como por exemplo WM_CLOSE, WM_SHOW, por ai.

Neste momento tenho isto:

var 
  JHook: THandle;

function JournalProc(Code, wParam: Integer; var EventStrut: TEventMsg): Integer; stdcall;
begin
  Result := CallNextHookEx(JHook, Code, wParam, LongInt(@EventStrut));
  if Code < 0 then
    Exit;
  if Code = HC_SYSMODALON then
    Exit;
  if Code = HC_ACTION then
  begin
    // aqui faço if EventStrut.message = a mensagem que quero processar then qualquer coisa   
  end;
end;

procedure FormCreate(Sender: TObject);
begin
  JHook := SetWindowsHookEx(WH_JOURNALRECORD, @JournalProc, hInstance, 0);
end;

Ate aqui tudo bem, o problema e que isto so me capta mensagens do rato e do teclado, penso que o problema esta no primeiro parametro da funcao SetWindowsHookEx, mas quando expirimento outros parametros fico com o sistema todo agarrado...

Sera que alguem me podia dar uma dica???? Agradecia...

Link to comment
Share on other sites

Podes sempre consultar o MSDN:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/hooks/hookreference/hookfunctions/setwindowshookex.asp

Como dica, se queres "apanhar" mensagens de teclado, rato, mensagens de janelas, etc,

vais ter que implementar um hook por tipo.

Link to comment
Share on other sites

Ate aqui tudo bem, o problema e que isto so me capta mensagens do rato e do teclado, penso que o problema esta no primeiro parametro da funcao SetWindowsHookEx, mas quando expirimento outros parametros fico com o sistema todo agarrado...

Eu ja fui ao msdn ja fui ao bdn etc... o problema e k kuando uso outro tipo o sistema simplesmente para e tenho de reiniciar o explorer...

Link to comment
Share on other sites

Há vários tópicos neste fórum sobre o tema:

Teoria sobre Win Hook e como explorar a técnica em C++ e C# .NET

http://www.portugal-a-programar.pt/forums/topic/0-find-topic/?do=findComment&comment=383528

madCodeHook - everything you need to hook code (mostly APIs)  (UMA API DE ALTO NIVEL QUE RESOLVE OS PRINCIPAIS PROBLEMAS DO WINHOOK, COMO VERSÕES E TAl... há uma versão gratuita que apenas te obriga a "acompanhar o teu projecto com uma DLL."

http://www.portugal-a-programar.pt/forums/topic/0-find-topic/?do=findComment&comment=35528

http://madshi.net/madCodeHookDescription.htm

Centenas de Video Tutorial sobre cracking  (chama a atenção para este, pois é sobre HOOK) [Echo Mirage (Generic Network Proxy using DLL Injection and Function Hooking) Video Tutorial]

http://www.portugal-a-programar.pt/forums/topic/0-find-topic/?do=findComment&comment=305882

espero ter ajudado

teckV - h2k11

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.