Problem z THREADSTACK0

Problem z THREADSTACK0
Rifju
  • Rejestracja:ponad 6 lat
  • Ostatnio:ponad 5 lat
  • Postów:6
0

Witam, dzięki cheat engine odnalazłem prawidłowy adres oraz pointery wartości którą chcę odczytywać w mojej aplikacji,
screenshot-20190514202424.png
tylko że zamiast np. "game.exe" + 123 otrzymuję "THREADSTACK0"-00000328
Przeszukałem już cały Internet na temat tego THREADSTACK0 ale nic mi nie pomogło, może ktoś tutaj to ogarnie. Z góry dzięki
Kod mojej aplikacji:

Kopiuj
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Label1.Text = ReadDMAInteger("osu!", &H328, {&HE8, &H2C, &H268, &H20, &H788, &H194}, 6)
    End Sub
edytowany 1x, ostatnio: Rifju
AF
  • Rejestracja:prawie 18 lat
  • Ostatnio:około 2 miesiące
1

Z takim opisem daleko nie zajedziesz. Co to jest ten cheat engine, czego szukasz, co czytasz, skąd czytasz, co dostajesz, co chcesz dostać i dlaczego, co to jest ReadDMAInteger?

WeiXiao
Niby memory manipulation master, a nie wie co to cheat engine? hmm
AF
Jak bawiłem się tym 15 lat temu (w czasach XP), to używałem innych aplikacji, więc wolę zapytać. No i myślałem, że wraz z wprowadzeniem ASLR w Viście wszystkie te sztuczki przestały działać i poszły do lamusa, ale najwyraźniej ludzie ciągle się tym bawią.
WeiXiao
@Afish: no trzeba się trochę pobawić :P
AF
Nawet przypomniałem sobie nazwę narzędzia: Magic Trainer Creator.
Rifju
  • Rejestracja:ponad 6 lat
  • Ostatnio:ponad 5 lat
  • Postów:6
0

Przepraszam, postaram się nico bardziej objaśnić.
Chcę aby moja aplikacja pokazywała pewną wartość z gry (gra to osu!), do tego potrzebny jest adres oraz pointery które znalazłem dzięki cheat engine (program do skanowania pamięci jakiegoś procesu). (screen w 1 poście)
Jedynym mankamentem jest to że otrzymałem niestandardowy adres, chciałem otrzymać "osu!.exe" + jakieścyferki a otrzymałem "THREADSTACK0"-00000328
Po długim szukaniu znalazłem chyba pomocny temat na jakimś rosyjskim forum, jednak autor posługuje się językiem c++, a ja niestety go nie rozumiem, może ktoś to ogarnie, byłbym wdzięczny. A co do ReadDMAInteger to jest to część biblioteki (załącznik) której używam w moim projekcie

AF
  • Rejestracja:prawie 18 lat
  • Ostatnio:około 2 miesiące
1

Najprawdopodobniej szukana wartość jest lokalną wartością na stosie. Musisz wziąć adres stosu wątku 0 (użyj Process Explorera na przykład) i wyliczyć. Poczytaj w dokumentacji tego cheat engine, co to dokładnie oznacza, bo on może dziwnie numerować wątki etc, ja tylko zgaduję na podstawie Twojego opisu.

W ogólności Twoje sztuczki nie zadziałają, poczytaj o ASLR, to sprawia, że adresy za każdym razem mogą być inne.

Edycja: W sumie nie wiem, czy Process Explorer da radę. Możesz użyć WinDBG, ustaw symbole (FIle -> Symbol File Path) na srv*C:\tmp*http://msdl.microsoft.com/download/symbols, zacznij debugować proces, potem zmień wątek na 0 przez ~0s i odpal !teb, to da Ci StackBase.

edytowany 3x, ostatnio: Afish

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.