Przydzielanie pamięci dla programu

2015-01-31 15:37
tomek773
0

Witam. Jako, że ostatnio zainteresowałem się technika incjection, to mam parę pytań z podstaw. Przeczytałem parę stron na ten temat i nie mogę zrozumieć paru rzeczy. Najpierw musimy znaleźć adresy poszczególnych interesujących nas zmiennych. Czy przypadkiem nie jest tak, że za każdym razem system operacyjny przydziela nam inne "miejsce" w pamięci? Czy jest jakiś stały adres względem którego można potem dostać się do tych konkretnych zmiennych? Czy jest jakaś uniwersalna metoda za pomocą której możemy te zmienne znaleźć ? To na razie tyle pytań :P Proszę o pomoc i pozdrawiam.

Pozostało 580 znaków

2015-01-31 16:03
1

Za każdym uruchomieniem programu zmienne będą w różnych adresach. Albo nawet i gorzej.

Dawno temu, jak używałem trainera do gier, to działało to tak, że jeżeli wartość np. złota była 1000, to się szukało w pamięci gdzie jest 1000, potem zmieniało złoto na 900, szukało gdzie spośród tych adresów znalezionych wcześniej teraz jest 900 i tak dalej. I miało się adres w pamięci, więc można go było zmanipulować już ręcznie.

Pozostało 580 znaków

2015-01-31 16:10
tomek773
0

No właśnie. Ale w takim razie jak działają te wszystkie trainery? Skąd wiedzą gdzie w pamięci będzie akurat ta liczba złota skoro za każdym razem ląduje w innym miejscu? Chyba jakiś adres musi być stały bo jak inaczej to wszystko działa...

Pozostało 580 znaków

2015-01-31 16:14
2

@tomek773 a pomyślaleś o tym że są pewne "stałe" markery w pamięci? Pewne wartości które zawsze są takie same i znajdują się "obok" tego co cię interesuje? ;)


Masz problem? Pisz na forum, nie do mnie. Nie masz problemów? Kup komputer...

Pozostało 580 znaków

2015-01-31 16:19
2015-01-31 16:25
tomek773
0

Hmm ale dalej nie rozumiem... Skoro są jakieś 'znaczniki' to wciąż; skąd wiemy pod którym znacznikiem znajdą się dane naszego programu. Może polecicie jakąś stronę na której bym mógł poczytać o tej konkretnej rzeczy ?

Nie mogę edytować, a dopiero teraz zobaczyłem post powyżej. Dzięki za link, może mi się coś rozjaśni.

Pozostało 580 znaków

2015-01-31 17:46
0

Może się nie znam ale ja robiłem pobieranie na bieżąco programem pewnym wartości z pewnej gry i adresy które podejrzałem w pamięci Cheat Engine`m się nie zmieniały. Prawdopodobnie były to jakieś statyczne wartości no ale dało radę.

Pozostało 580 znaków

2015-01-31 21:27
0

Zobacz sobie kod trainera w WinAPI do Max Payne na moim blogu. Tam dobrze widač wyszukiwanie jak to tutaj nazwano markera, bo jeden z adresów pointerów o ile dobrze pamiętam do energii ustalony pod Cheat Engine jest zmienny i znajduje się w pewnym stałym przesunięciu od charakterystycznego ciągu bajtów. A pozostałe rzeczy to stałe adresy pointerów ustalonych pod Cheat Engine w standardowy sposób opisany w Google. Kod jest w Delphi, ale wedle mnie nie jest on skomplikowany, więc idzie się połapać.


Pozostało 580 znaków

Liczba odpowiedzi na stronę

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