Hook na funkcje 2355 2

O temacie

Autor Paser

Zaczęty 7.07.2013 roku

Wyświetleń 2355

Odpowiedzi 2

Paser

Paser

Użytkownicy
Crazy Diamond
posty281
Propsy119
ProfesjaNierób
  • Użytkownicy
  • Crazy Diamond

Paser

Hook na funkcje
2013-07-07, 16:52(Ostatnia zmiana: 2013-07-07, 22:05)
Witajcie, mam takie małe pytanie, jak w C++ zrobić hook na daną funkcję z procesu do którego wstrzykuje daną dllkę ?
Chodzi mi dokładnie o funkcje oCGame::Render (0x006C86A0) z g2nk.Wywołuje się ona gdy gra jest renderowana (kilka razy na sekundę bodajże), jest to po prostu swoisty update.
Jak na razie staram się nie używać tej funkcji, a zamiast tego robię to tak:
#include <windows.h>

DWORD WINAPI MAIN();

BOOL WINAPI DllMain(HINSTANCE instance, DWORD reason, LPVOID reserved)
{
switch(reason)
{
case DLL_PROCESS_ATTACH:
CreateThread(NULL,NULL,(LPTHREAD_START_ROUTINE)MAIN,NULL,NULL,NULL);
MessageBoxA(0,"Dll zostało poprawnie załadowane","Komunikat",0);
break;
}
return TRUE;
}

DWORD WINAPI MAIN()
{      
while(1)
{          
if(GetAsyncKeyState(0x33))
{
                        //Kod uzdrowienia
                        MessageBoxA(NULL,"Zostałeś uzdrowiony ","Wiadomość",MB_OK);
}          
}
return 0;
}
Niestety takie wyjście z tej sytuacji daje mi wiele licznych błędów, np dy użyje funkcji uzdrawiania gdy menu jest aktywne to dostaję błąd ponieważ może to zostać użyte tylko podczas renderowania a klawisze są aktywne cały czas.

O to funkcja oCGame::Render w IDA Pro:
.text:006C86A0 ; public: virtual void __thiscall oCGame::Render(void)
Bardzo proszę o waszą pomoc.

EDIT:Rozwiązane
 

Demonical Monk

Demonical Monk

Użytkownicy
posty145
Propsy152
  • Użytkownicy

Demonical Monk

Hook na funkcje
#1 2013-07-08, 11:32(Ostatnia zmiana: 2013-07-08, 11:33)
http://securityxploded.com/dll-injection-and-hooking.php#Hooking

Tylko nie mam pojęcia co Ty chcesz zrobić, obsługa eventów nie leci w Render, jak sama nazwa wskazuje :|
 

Paser

Paser

Użytkownicy
Crazy Diamond
posty281
Propsy119
ProfesjaNierób
  • Użytkownicy
  • Crazy Diamond
Render wykonuje się jak sama nazwa skazuje podczas renderowania, po prostu chciałem mieć update tylko podczas renderowania :)
 


0 użytkowników i 1 Gość przegląda ten wątek.
0 użytkowników
Do góry