YOUPASS - convertir le crédit téléphonique en monnaie ! : Partenaire RealityGaming.fr

Tutoriel Les bases du memory hacking : contourner la DMA

TRANSFORMEZ VOTRE TÉLÉPHONE EN CONSOLE DE JEU !
Statut
N'est pas ouverte pour d'autres réponses.

-Uzi-

Coder
Premium
Inscrit
31 Octobre 2012
Messages
178
J'aime
79
Points
2 563
Reply from -Uzi- Forums généraux Informatique ⌨️ Windows : Les bases du memory hacking : contourner la DMA #1
Coucou tout le monde :)

Bon, suite a mon tuto sur l'edition de memoire, j'ai reçu des retour de personnes qui aimeraient savoir comment faire pour ne pas avoir a rechercher a chaque fois les adresse quand on relance son jeu.

Il faut savoir que la plupart des jeux utilisent un systeme appelé la DMA (Dynamic Memory Allocation = Memoire Dynamique), en quoi ça consiste ? Des que vous relancez le programme, l'adresse lit par le jeu contenant les données va changer d'emplacement dans la memoire.

1) Comment contourner ca ?

C'est très simple, je vous ai deja parlé des pointeurs ? c'est une des bases importantes du C++ (ou meme d'autre language).
Qu'est ce qu'un pointeur, un pointeur c'est un emplacement de memoire qui redirige vers un autre emplacement de mémoire (comprené le comme ca, c'est plus complexe en fait).

Exemple :

A l'emplacement de memoire 05 j'ai la variable "9" de stocké.
Hé bien il y a un pointeur qui pointe vers cette adresse, et lorsqu'on appel ce pointeur, il nous "redirige" vers la memoire en question .

Si on demandait donc l'affichage memoire de la case du pointeur, il nous sortirais la variable 9.

Pour la DMA, on procede pareil, on va chercher l'adresse de base (qui ne change jamais sauf a certaines updates) en remontant la liste des pointeurs.

On va aussi parler du terme "Offset" , je vous copie la definition Wikipedia, elle est plutot explicite :

"En
Vous devez vous inscrire pour voir les liens !
, l’Offset est un terme
Vous devez vous inscrire pour voir les liens !
qui désigne une
Vous devez vous inscrire pour voir les liens !
de manière relative. C'est une valeur entière représentant le déplacement en
Vous devez vous inscrire pour voir les liens !
nécessaire, par rapport à une adresse de référence, pour atteindre une autre adresse. Autrement dit, l'offset est la distance séparant deux emplacements mémoire."

2) Comment faire ?

Hé bien on va utiliser Cheat Engine, puisque notre ami a une fonction de recherche de ce type intégré, pret ? c'est parti !


Comme expliqué dans le precedent tutorial, on trouve l'adresse correspondant aux munitions :

proxy.php?image=http%3A%2F%2Fimage.noelshack.com%2Ffichiers%2F2012%2F44%2F1351959816-pointer1.png&hash=2fce2294f2c59640a2d3290759d43020


Ensuite on clique droit dessus et on choisit : "Find out what accesses this adress" , CE vous demande d'attacher son debugger au processus, accepter et vous devriez avoir une fenetre ouverte avec des données, tirer quelques balles afin que CE reconnaissent les acces :

proxy.php?image=http%3A%2F%2Fimage.noelshack.com%2Ffichiers%2F2012%2F44%2F1351959823-pointer2.png&hash=9d2c13729f8184ae401a2598682aa98c



Maintenant, on clique droit sur une des 2 valeurs apparues lorsque l'on a tiré, par experience, je vais prendre le code "DEC" qui correspond a "decrementation" (c'est de l'assembleur) mais parfois il vous faudra esseyer a plusieurs reprises sur differents acces et on choisit "more information".

proxy.php?image=http%3A%2F%2Fimage.noelshack.com%2Ffichiers%2F2012%2F44%2F1351959824-pointer3.png&hash=ef637af83749383cbae3fbe8ed1875fd


Le code en rouge est celui qui nous interesse, il n'y a pas d'offset dessus (le petit +XXX a la fin des instructions) donc offset = 0.
On copie aussi la valeur que nous donne cheat engine : "the value... is probably XXXXXX"

Maintenant on retourne dans cheat engine, on coche la case HEX et on fais un nouveau scan avec la valeur qu'on a obtenu plus haut :

proxy.php?image=http%3A%2F%2Fimage.noelshack.com%2Ffichiers%2F2012%2F44%2F1351960413-pointer4.png&hash=4ea6ef1ad107237b065b774da794fe4d



proxy.php?image=http%3A%2F%2Fimage.noelshack.com%2Ffichiers%2F2012%2F44%2F1351960407-pointer5.png&hash=f5415a354751c4c025cc9dd0099c5576


Maintenant, on clique sur "add adress manually" puis on complete avec l'adresse trouvé plus haut, on met en type pointer et en offset "0" puisqu'il n'y a pas d'offset :

proxy.php?image=http%3A%2F%2Fimage.noelshack.com%2Ffichiers%2F2012%2F44%2F1351960421-pointer6.png&hash=3fabc0f6b2e493a4e9ce2d49c9994311



Et voila, on peut voir qu'on a trouvé le pointeur qui accede a la variable, ici, il y a plusieurs pointeurs a trouvé afin d'arrivé a l'adresse "de base" mais je completerai le topic avec une video qui vous expliquera comment faire dans le cas ou on a plusieurs pointeurs :

proxy.php?image=http%3A%2F%2Fimage.noelshack.com%2Ffichiers%2F2012%2F44%2F1351960422-pointer7.png&hash=8a5b67554ef4e9e129e11b9941f28254



J'espere que ca vous aura aidé a comprendre comment marche les pointeurs et l'allocation de memoire, je ferai la vidéo surement demain, bonne journée :)
 

Fred'

HÉLLOO
Premium
Inscrit
30 Mars 2012
Messages
79
J'aime
20
Points
3 668
Reply from Fred' Forums généraux Informatique ⌨️ Windows : Les bases du memory hacking : contourner la DMA #2
Merci pour le tuto ! ::): , Ça va m'aidé
 
Inscrit
24 Septembre 2012
Messages
3 574
J'aime
1 061
Points
5 213
Reply from Sacha' Forums généraux Informatique ⌨️ Windows : Les bases du memory hacking : contourner la DMA #3
Bravo pour ce TuTo ;)
 

Jadεn_ThεBoss

50 Abos pour 1 Starpass
Premium
Inscrit
15 Avril 2012
Messages
1 029
J'aime
220
Points
713
Reply from Jadεn_ThεBoss Forums généraux Informatique ⌨️ Windows : Les bases du memory hacking : contourner la DMA #4
Bravo , mais j'ai une question sa marche pour les jeux du style dofus , habbo ...ect ? :ok:
 

-Uzi-

Coder
Premium
Inscrit
31 Octobre 2012
Messages
178
J'aime
79
Points
2 563
Reply from -Uzi- Forums généraux Informatique ⌨️ Windows : Les bases du memory hacking : contourner la DMA #5
Bravo , mais j'ai une question sa marche pour les jeux du style dofus , habbo ...ect ? :ok:
Non, les données du jeu sont toutes cotés serveur, donc impossible de les modifiers, par contre tu peux changer les stats sur ton client pour faire stylé devant tes potes ^^
 

Jadεn_ThεBoss

50 Abos pour 1 Starpass
Premium
Inscrit
15 Avril 2012
Messages
1 029
J'aime
220
Points
713
Reply from Jadεn_ThεBoss Forums généraux Informatique ⌨️ Windows : Les bases du memory hacking : contourner la DMA #6
Non, les données du jeu sont toutes cotés serveur, donc impossible de les modifiers, par contre tu peux changer les stats sur ton client pour faire stylé devant tes potes ^^
Ah Ok , merci de l'info :ok:
 
Statut
N'est pas ouverte pour d'autres réponses.


Haut