Cheat engine poprawny adres

0

Witam, mam kod w języku vb.net który za pomocą patternu znajduje adres w grze. Jednak nie jest to poprawny adres, jednakże jest on zbliżony (Kod zwraca ten podkreślony na czerwono, a mi zależy na tym podkreślonym na zielono)
Jak mogę uzyskać adres podkreślony na zielono?

Dim stream As ProcessStream = New ProcessStream(Process.GetProcessesByName("osu!").First())
        Dim p As HexPattern = New HexPattern("DB 5D E8 8B 45 E8 A3")
        Dim address As Long = stream.PatternScan(p)
        address += 7
        TextBox1.Text = Hex(address)

Biblioteka której używam: https://www.mediafire.com/file/gfw30vrlqylp9ju/ProcessMemory.dll/file
Jotti: https://virusscan.jotti.org/pl-PL/filescanjob/hrozs1l08q
title

1

Trochę nie znam się ale się wypowiem..
Dostajesz prawidłowy adres tylko że to co widzisz to jest disassembler który wyświetla ci kod źródłowy przedstawiony za pomocą instrukcji w asm.
Do adresu wynikowego musisz dodać długość instrukcji MOV (nie pamiętam - chyba 2 byte) następnie odczytać następne 4 byte jako wartość w hex.
W ten sposób uzyskasz to co chcesz. Warto dodać, że wartość w pamięci może być (albo będzie) zapisana za pomocą endianness (lite/big w skrócie odwrócona kolejność bytów).

A i ten.. pomyśl nad zmianą języka - wyjdzie CI to na dobre.

1 użytkowników online, w tym zalogowanych: 0, gości: 1