četvrtak, 2. veljače 2012.

Primjena naučenoga u igrama

Slijedi zabavni dio ASM-a, a to je primjena u igrama. Za primjer sam odabrao igru "Company of Heroes Tales of Valor" sa patchem 2.602

Važno je napomenuti da *traineri koji su napravljeni za ovaj patch neće raditi na drugim patchevima. Svaki patch donosi neke promjene u samom .exe ili .dll igre što onemogućava memory hakiranje jer se može dogoditi da trainer promjeni memoriju neke adrese koju nije trebao te se u najboljem slučaju ne dogodi ništa, a u ekstremnim slučajevima je moguće i zablokiranje cijelog sustava nakon kojega morate restartirati računalo. Znači koristite trainer samo za onu verziju igre za koju je namjenjen.
*trainer= program koji se direktno ubacuje u proces igre te mijenja vrijednosti na određenoj memorijskoj lokaciji

Za početak pokrenimo COH ToV i uđimo u skrimish ili kampanju, svejedno...
Namjestimo po volji uvjete igre:

Pritiskom na Alt+Tab vratimo se na desktop te otvorimo Ch
eat Engine ili slični program (ja koristim CE 6.1 verziju)
Otvorimo RelicCOH.exe proces pritiskom na open proces dugme (ispod File menu-a). Recimo da želimo imati jako puno manpowera. Trebamo tražiti broj manpowera koji trenutno imamo, pogledati 6. post ako ste zaboravili kako tražiti.
Najlogičnije bi bilo da je manpower cijeli broj pa pokušajmo potražiti. Trenutno imam 249 manpowera i tražim 249 sa 4 byta, dobio sam oko 800 adresa koji sadržavaju broj 249. Da bi smanjili broj adresa uđemo natrag u igru i igramo par sekundi dok se broj manpowera ne poveča. Kad se povečao (meni trenutno na 257) probamo ponovo potražiti, no naičići ćemo na 1 problem. Dobit ćemo 0 adresa sa našim brojem manpowera.


Riješenje je dakako traženje manpowera u float vrsti vrijednosti.
Tražimo vrijednost manpowera ispočetka:

Primjetimo kako ćemo na kraju dobiti 2 adrese koje imaju našu traženu vrijednost, simbolično sam ih nazvao real i fake premda su obje vrijednosti prave. Razlika je u tome da "real" adresa je adresa koja mijenja vrijednost u igri (omogućuje nam mijenjanje vrijednosti) dok "fake" adresa se koristi za neke druge kalkulacije i ako nju promjenimo prava vrijednost manpowera će se vratiti na staro.


Primjenimo naše znanje za ostale 2 vrijednosti Munition i Fuel.


Kada budete tražili AMMO i FUEL dobit ćete puno više od 2 adrese sa zajedničkim vrijednostima. Neka vas to ne omete, riješenje je vrlo lagano, pogledajte adresu od "real" manpower adrese i prave adrese za FUEL i AMMO će se nalaziti malo ispod prave adrese za MAN.

S ovim znanjem još uvijek ne možete napraviti trainera zbog pokazivača koji vam mijenjaju mjesto adrese za MAN, AMMO i FUEL. Čak i kad restartirate skirmish igru s istim početnim uvijetima mijesto adresa sa željenim vrijednostima će se promjeniti. U sljedećem postu (ako ga bude) ćete naučiti kako zauvijek znati na kojem su mijestu u memoriji prave adrese za ono što trebate.

Nema komentara:

Objavi komentar