Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Pomoc] Czytanie wartości z pamięci.


Oxy

Rekomendowane odpowiedzi

Pasjonat
Opublikowano

Siemanko, próbuje pisać małego bocika na zmodyfikowanego Tibijskiego klienta.

 

Próbuje zrobić sprawdzanie many, jeśli większa niż 20 to castuje "utevo lux"

 

I tu mam problem.

 

Wyciągnąłem pointera dot. many razem z offsetem, i za każdym razem, program wskazuje mi, że jego wartość to 0.

 

Kod:

$openmem = _MemoryOpen($PID) 
$baseADDR = _MemoryGetBaseAddress($openmem, 1) 
$finalADDR = "0x" & Hex($baseADDR + $StaticOffset)


While 1
   Sleep(10)
$Value = _MemoryRead($finalADDR, $openmem)
   msgbox(0,"info",$Value)


   WEnd


 _MemoryClose($PID)

Co może być źle ? Pomocy !

:)
Opublikowano
$finalADDR = "0x" & Hex($baseADDR + $StaticOffset)
$Value = _MemoryRead($finalADDR, $openmem)

Ja bym coś takiego zamienił po prostu na:

$Value = _MemoryRead($baseADDR + $StaticOffset, $openmem)

, gdzie $StaticOffset jest już w hexie (0x12345)

 

 

#edit

 

Albo jeszcze inaczej, tylko musiałbyś ogarnąć Cheat Engine'a:

$hPointer = 0x12345678
$hOffset = 0x123

$hBaseAddress = _MemoryGetBaseAddress($openmem, 1)
$hBasePointer = _MemoryRead($hBaseAddress + $hPointer, $openmem)
$value = _MemoryRead($hBasePointer + $hOffset, $openmem)

Z tego co pamiętam, jakoś tak to leciało..

Istniał sobie jakiś pointer na jakąś wartość, który zmieniał się za każdym razem, w tym przypadku to ($hBaseAddress + $hPointer)

Problem ten rozwiązywał statyczny offset, który wskazywał na szukaną wartość, w tym przypadku to ($hBasePointer + $hOffset)

No i taki pointer wraz ze statycznym offsetem zawsze wskazuje na szukaną wartość.

Pasjonat
Opublikowano

Chodzi o to, że znalazłem pointera, który wskazuje na ilość many ( za każdym razem jak uruchomie Tibianica ( ten modyfikowany klient ) to jest stały, i to jest git )

 

http://prntscr.com/2dljdv
http://prntscr.com/2dljp0

 

Problem polega na tym, że nie ważne jak go odczytam, czy z pointerem, czy bez jego wartość jest zawsze 0, natomiast jeśli wpiszę sam adres many ( ten który zmienia się z każdym uruchomieniem ) to działa dobrze i wyświetla aktualną ilość many.

Co mam więc zrobić, żeby odczytywał mi poprawną wartość tego pointera ?

Tak jak pisałem, próbowałem już wszystkich opcji - sam pointer, pointer + offset, baseadress + pointer, baseadress + pointer + offset i nic.

:)

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...