How To Find Pointer

Come trovare pointer parte 1
creata da : legolas93
“Attenzione , la guida è protetta da diritti creative commons registrati , questa guida non può essere emulata se non sotto mia autorizzazione…inoltre la guida la potrete trovare su Cheating-X dove io personalmente l’ho postata, grazie dell’attenzione e buona continuazione”
1.0 : Il Gioco da Scegliere
molti pensano che il gioco influisce sul creare hack, con questa guida smentirò tutti i vostri credo.Come ben sappiamo molti giochi sono “protetti” da un sistema di protezione chiamato DMA…. ora siccome non ho voglia di rispiegare tutto d’accapo vi consiglierei di controllare questa guida fatta da me. : http://legolas93.altervista.org/blog/?p=38 .Dopo aver appreso le conoscenze varie per poter lavorare sul DMA e sul game code possiamo passare alla ricerca del pointer qualora servisse.
2.0 : I vai attrezzi da utilizzare
per entrare a far parte di questo misterioso mondo vi elenco le cose di cui avrete bisogno.
-uno scanner : Cheat Engine o Tsearch , vi consiglio il 1. QUI
-conoscenze d’asm (assembly) e reversing
-tanta pazienza
-un po di intuito
ovviamente se vi mancano le conoscenze dell’assembly o non sapete utilizzare uno scanner, io vi consiglierei di fermarvi qui e di aspettare qualche mesetto prima di proseguire.
3.0 : Iniziamo la Ricerca
allora io come gioco ho scelto AirRivals QUI , non solo per farvi capire che non sono stato aiuto da gex ma anche perchè vorrei metin2 non fosse l’unico vostro punto di riferimento.
ovviamente la guida funziona per tutti i giochi e per ogni tipo di applicazione con DMA quindi è facoltativo scaricarsi il gioco.
Iniziamo!!!
per prima cosa,[b]assicuratevi che il gioco sia aperto[/b] (ciò mi sembra un po’ scontato ma sono sicuro che molti dei nabbi che leggeranno questa discussione non riusciranno a continuare proprio per questo motivo.).
apriamo il nostro caro amico CheatEngine , rispiego nuovamente i comandi e come utilizzarlo.

ovviamente l’utilizzo lo do per scontato….ho semplicemente detto dove si trovano i bottoni, per qualcuno che magari è stato abituato a usare Tsearch o altri programmi di ricerca.
Andiamo avanti….. Apriamo e selezioniamo il processoAirRivals.atm, iniziamo una nuova scansione….. per fare ciò io ho trovato la velocità del lancio dei missili per fare una sorta di speed atk o meglio una hit atk. Do anche questo per scontato come si trova, anche perchè voglio far sforzare pure voi, ovviamente chi già conosce l’argomento sa come dal pointer ricavarsi l’indirizzo.
Una volta trovato l’address e poi freezzato clicchiamo con il tasto destro e selezioniamo la voce….Find out what writes to this address

si aprirà una finestra vuota, se vi dovesse chiedere qualcosa premete sempre OK, cosa c’è ne facciamo di questa finestra vuota? ottima domanda,Tornata in game e sparate un missile, se state provando un altro gioco, simulate l’azione per il quale avete ricercato l’address, in questo caso spariamo un missile.

sono 2 funzioni ASM, se questa scrittura vi sembrerà arabo o simile vi consiglio di abbandonare qui e di andarvi a studiare l’assembly e qualora pensaste di sapere cosa significassero vi consiglio comunque di andare a studiarvi l’assembly.
4.0 : Lo studio della funzione
dopo aver completato la parte 3.0 passiamo ad analizzarli con più attenzione……
clicchiamo su MORE INFORMATION su una delle 2 funzioni, perchè è indifferente se lo facciamo sulla prima o sulla seconda ? semplicemente perchè queste 2 funzioni sono frutto dello stesso address, ovviamente fanno 2 cose diverse ma per quello che interessa a noi è indifferente.

cosa abbiamo trovato ? mentre gex su metin vi ha fatto notare che al posto di esi c’era ecx non spaventatevi non abbiamo sbagliato, esi ha una funzione analoga a ecx quindi non preoccupatevi….ora voi vi starete chiedendo, ma fin qui ci arrivavo pure io.ma io le spiego lo stesso
00596d1d – d9 5e 28 – fstp dword ptr [esi+28] , 00596d1d non è altro che un address del game code e questo non cambia mai per nessun motivo DMA o non DMA rimane invariato. d9 5e 28 meglio conosciuto come OPCODE non è altro che la traduzione della funzione asm che sta svolgendo. fstp dword ptr [esi+28] fermiamoci ad analizzare la funzione, fstp dword ptr ammenochè voi non vogliate modificare il game code a vostro piacimento vi consiglio di lasciarlo invariato, a noi interessa [esi+28] , esi come spiegato prima è un registro di memoria che non fa altro che cambiare in continuazione , e questo è puro DMA, il valore di esi, a noi lo dava come pointer, perchè ? perchè in quel momento quello era l’address che serviva a completare la funzione e che ci permetterà di trovare il nostro pointer statico.
5.0 : troviamo il pointer
bene , torniamo su CE (cheat engine) , prendiamo l’address del registro esi, selezioniamo NEW SCAN , clicchiamo su HEX inseriamo l’address, su memory scan option selezioniamo ALL, così da estendere la ricerca su tutto. cliccate FIRST SCAN e aspettate.

mi sono accorto che avevo un altro address di esi . ma la cosa è indifferente l’importante è che abbiate capito il meccanismo…. dovrebbe essere spuntato un solo address o comunque o uno o 2 comunque da soli lo capireste comunque quale scegliere.
torniamo giù dove abbiamo lasciato il nostro vecchio address dello spara missili, doppio click sull address, e seguite lo screen.

premere OK e così non avrete più bisogno di ritrovare ogni volta l’address, ora bisogna solo scrivere un programma che legga e scriva sulla memoria, io vi consiglio un compilatore come VB o meglio C++.
nella prossima guida vi spiegerò come fare……
grazie di avermi seguito…. il vostro giuseppe sapienza aka legolas93
Commenti recenti