Annonce

Réduire
Aucune annonce.

Les bases du Game Hacking : Memory Editing [Difficultée : 1/10]

Réduire
X
 
  • Filtre
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages

  • Tutoriel Les bases du Game Hacking : Memory Editing [Difficultée : 1/10]

    Bonjour a tous !

    Je vous ecrit aujourd'hui un petit tutoriel visant a vous expliquer un peu les bases du Game Hacking, sujet que j’étudie en ce moment même.

    Nous allons voir dans ce premier cours comment fonctionne un jeux, et donc comment le "hacker".

    Requis :

    - Un editeur de memoire (Cheat Engine dans mon cas)
    - Un cerveau (Plus ou moins performant)

    1) Une histoire d'adresse

    Premièrement laissez moi vous poser cette question : Savez vous comment fonctionne un jeu vidéo ?

    Un jeu vidéo, c'est simplement plein de petit bout de code mis bout a bout, pour former un tout intelligent, comme tout autre programme.
    Nous allons donc voir ici comment "influer" sur ce code pour lui faire faire ce que l'on veut (Et oui, voila, on fais deja du hacking, puisqu'on detourne le jeu de son but inital).

    Tout d'abord, avant de sauter dans le vif du sujet, je voudrais que vous compreniez bien comment le jeu fonctionne, comment les données sont stockées dans la memoire, en effet, c'est la base de tout hacking ,savoir comment quelque chose marche afin d'en faire ce que l'on veut.

    C'est un tutoriel pour debutant alors je n'irai pas trop loin dans les notions, nous allons simplement parler des "adresses".

    Imaginons un jeu de tir classique comme Call of Duty, vous avez plusieurs variables qui entrent en jeu , les munitions, les points de vie, le nombre de degat de votre armes,etc...
    Maintenant, il faut savoir que CHAQUE variable est stocké dans la mémoire de votre ordinateur dans une "adresse" , par exemple, sur un jeu, l'adresse qui correspond aux munitions va etre stocké a l'adresse 0x00000001 (Cette adresse est la a titre d'exemple, en effet, l'adresse est souvent perdu au milieu de la mémoire dans un nombre compliqué).

    Donc, vous devinez la suite ? On va pouvoir modifier la variable stocké a cette adresse et donc changé le nombre de munition que l'on aura en jeu.
    Cela vous parait confus ? vous verrez qu’après la partie pratique vous comprendrez bien mieux.



    Commençons de suite, ouvrez Cheat Engine puis votre jeu (Dans mon cas j'utilise AssaultCube, un FPS gratuit )


    Voila ce que vous devriez avoir :




    Commençons par ouvrir notre jeu dans Cheat Engine, pour cela, appuyez sur le petit icône d'ordinateur de cheat engine et choisissez votre processus dans la liste, puis double cliquez dessus pour l'ouvrir)




    Voila, votre jeu est ouvert dans l’éditeur de mémoire, maintenant, on va chercher l'adresse correspondant au nombre de munition dans la mémoire.
    Pour ce faire, on va utilisez les données mises a disposition en jeu, on peut voir que nous avons 20 munitions dans notre arme principale, on va donc partir de la.
    J'entre la valeur exacte "20" et j'appuie sur "first scan"



    Vous pouvez voir que l'on a des centaines d'adresse contenant la valeur "20" qui s'affichent, ça fais un peu beaucoup, on va donc réduire cette valeur en effectuant un "subscan" , pour cela, on modifie la variable en jeu (en tirant une balle par exemple ,on aura plus que 19 balle) puis on entre la nouvelle valeur et on clique sur "next scan"



    Parfait ! nous avons de la chance, il ne reste plus que 2 valeur, on va donc trouver celle des deux qui s'occupe des munitions (generalement, c'est la premiere).
    Pour cela, on double clique une adresse pour la faire passer dans la "table" , on va modifier la valeur afin de voir si c'est la bonne adresse :

    Avant modification :

    Double cliquez sur "value" et changez la valeur a celle qui vous convient le mieux.

    Après modification :


    VICTOIRE ! La valeur a été changée, maintenant vous possédez 100 munitions en jeu au lieu de 20.
    Facile non ? et le plus dingue c'est que ça s'applique pour tous, vous pouvez donc faire de même pour trouvez le nombre de point de vie ou de point d'armure, ou même trouvez la vitesse du joueur (C'est plus compliqué, je l'expliquerai dans une vidéo sur le Reversing).

    Voila, j'ai essayé de varier des tutoriels qu'on trouve habituellement sur Cheat Engine pour vous expliquez comment sont stocké les variables dans la mémoire.


    Je ferai bientôt un tutorial plus avancé ou on parlera de trainer , puis d'injection de DLL (et ou cette fois, on passera au code pur), je vous expliquerai aussi comment trouver les pointeurs multi levels des adresses dynamique.
    I'm not a Black Hat, I have a SnapBack
Chargement...
X