Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Jak znaleźć adres zwrotny. określonej funkcji?
#1
Więc mam funkcję, w której wywołuje sprintf i teraz nie wiem jak znaleźć addr sprintf w tej funkcji Przykład: http://www.unknowncheats.me/forum/ca...tml#post804582   Zasadniczo chcę podłączyć sprintf.
Reply
#2
Znajdź, gdzie instrukcja nazywa się inna Przykład: Zacytować: MOV DWORD EAX: [ECX + 0x0000] W tej linii będzie twój "ReturnAddress".
Reply
#3
Kiedy funkcja jest wywoływana, ESP przechowuje adres zwrotny połączenia. Co się dzieje, gdy wykonywana jest instrukcja wywołania, to następny adres polecenia (EIP + polecenie połączenia) jest przesyłany na stos, jak również zmiana EIP na miejsce, w którym zawsze znajdują się punkty wywołania. Również do czasu, gdy funkcja zakończy działanie (tzn. Osiągnie polecenie ret (x)), to samo będzie prawdziwe, z wyjątkiem tego, że komenda ret (x) pobiera wartość przechowywaną przez ESP i umieszcza ją w EIP, po czym zwiększa (wyskakuje) stos 4 (+ opcjonalna wartość parametru). Więc oba te miejsca można łatwo znaleźć adres zwrotny połączenia z funkcji. Jednakże, jeśli znasz funkcję, która wywołuje sprintf, dlaczego nie tylko znaleźć miejsce, w którym wywołuje sprintf w debuggerze / deasemblatorze? Adres zwrotny wywołania sprintf będzie po prostu adresem następnego polecenia. na przykład polecenie przesunięcia ........ rzeczy psuh 1000 wywołaj sprintf 100 x cmp eax, 0; to jest twój adres zwrotny
Reply
#4
Znalazłem func o nazwie everyframe (Yes, Tested.) I wywołanie EnterCriticalSection w grze func Kod: . tekst: xxxxx przesunięcie wypychania CriticalSection; lpCriticalSection. text: xxxxxxxx wywołanie ds: EnterCriticalSection. tekst: xxxxxx mov edx, dword_CC5FF00 i myślę, że adres powrotu jest Kod: . tekst: xxxxxx mov edx, dword_CC5FF00 ale to nie działa, próbowałem podpiąć EnterCriticalSection i używając tego adresu (adres zwrotny), ale bez powodzenia PS: Kiedy podpiąłem samą funkcję, zadziałało, ale zostało wykryte.
Reply
#5
Mój nowy niezarejestrowany hak RenderScene używa "EnterCriticalSection" i działa dobrze bez detekcji ....
Reply
#6
Zacytować: Originally Posted by Lox0n Mój nowy hak niezarejestrowany RenderScene używa "EnterCriticalSection" i działa grzywny whitout wykrywanie .... nikt nie pytał cię o to? EDYCJA: Wiem o (nowy temat, który zamieściłeś), ale chcę po prostu nauczyć się go znaleźć.
Reply
#7
Zacytować: Originally Posted by newtechnology Znalazłem func o nazwie everyframe (Yes, Tested.) I wywołanie EnterCriticalSection w grze func Kod: . tekst: xxxxx przesunięcie wypychania CriticalSection; lpCriticalSection. text: xxxxxxxx wywołanie ds: EnterCriticalSection. tekst: xxxxxx mov edx, dword_CC5FF00 i myślę, że adres powrotu jest Kod: . tekst: xxxxxx mov edx, dword_CC5FF00 ale to nie działa, próbowałem podpiąć EnterCriticalSection i używając tego adresu (adres zwrotny), ale bez powodzenia PS: Kiedy podpiąłem samą funkcję, zadziałało, ale zostało wykryte. Tak, to byłby adres zwrotny. Może być kilka powodów, ale najbardziej oczywiste jest to, że EXE / DLL załadowane do nowego miejsca w pamięci, a teraz zrekompensować jego błąd. Czy używasz xxxxxx jako offsetu lub RVA z xxxxxx + podstawy modułu?
Reply




Users browsing this thread: 1 Guest(s)