Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Znalezienie bazy graczy w Path of Exile
#1
Obecnie próbuję znaleźć bazę graczy i przesunięcia dla rzeczy takich jak zdrowie / mana dla Path of Exile na własną rękę. Użyłem mechanizmu oszustwa, by znaleźć energetyczną osłonę, manę i zdrowie, a potem dowiedziałem się, co do nich pisze i wskoczyłem do niej w IDA. Wszyscy wrócili do jednej funkcji, która jest funkcją, która zrywa się, gdy zmniejsza się twoje zdrowie, tarcza energetyczna lub mana.     Oto, jak to wygląda w IDA.     Ten obraz został przeskalowany. Kliknij ten pasek, aby wyświetlić pełny obraz. Oryginalny obraz ma wymiary 1920x1032.   Przetestowałem to w olly, i kiedy złamiesz na początku funkcji i jeden krok w, wartość tarczy zdrowia / energii zostaje przekazana do eax od wartości na edx + 0x14. Funkcja kończy się na ret 4 i domyślam się, że jest to stdcall i że funkcja przyjmuje pojedynczy argument, ale wciąż nie rozumiem konwencji wywoływania bardzo dobrze. Czy mogę prześledzić to od tyłu w Olly do bazy graczy? Czy to strata czasu i czy jest łatwiejszy sposób na to?   Życie, tarcza energetyczna i mana są zawsze pisane nad odpowiednimi kulami, więc też się nad tym zastanawiałem. Musi istnieć funkcja, która rysuje ten tekst, więc zastanawiałem się, czy to będzie inny sposób, aby to zrobić. Próbowałem szukać Life in Cheat Engine i zawęziłem je do kilku adresów, i próbowałem je wszystkie zmienić. Słowo "Życie" napisane nad kulą ziemską nie zmieniło się, kiedy to zrobiłem. Nie mogłem również znaleźć mojej nazwy gracza, wyszukując ciągi znaków zarówno w Olly, jak iw CE.   Układ globusów w POE:     Ten obraz został przeskalowany. Kliknij ten pasek, aby wyświetlić pełny obraz. Oryginalny obraz ma rozmiar 1922 x 1040.
Reply
#2
nie, to nie jest strata czasu. jeśli wiesz, jak śledzić to ręcznie, jest bardzo szybki. nigdy nie użyjesz ponownie wskaźnika CE (jeśli go używasz) jeśli zrobisz to w analizie statycznej, będzie to trudniejsze niż w debugowaniu na żywo ogólnie rzecz biorąc jest to krok po kroku. wróć raz na raz. więc z twojej obecnej funkcji, jak mówisz, mov eax, [edx + 14] więc idź w górę. jaka jest wartość edx? [esp + 4 + arg_0] = [esp + 8] pójść dalej. jaka jest wartość [esp + 8]? musisz znaleźć dzwoniącego. Z aktualnej funkcji wiadomo, że argumenty przekazywane są nie przez rejestry, ale przez stos. więc możesz się spodziewać czegoś takiego push arg_0 <- który może być podobny do push edx / eax / [ebp + 8] cokolwiek. po prostu idź w górę i w górę zadzwoń 5f0dc0 dopóki nie zobaczysz adresu bazowego. zwykle idzie jak rejestr, adres z debugowaniem na żywo, nie musisz patrzeć na rejestry jeden na raz. po prostu użyj punktu przerwania. olly - przy dostępie, CE - znajdź co dostęp xxx (i havent used ce debugger za chwilę ..) może trochę potrwać na początku, ale gdy już się do tego przyzwyczaisz, stanie się szybki
Reply




Users browsing this thread: 2 Guest(s)