Annonce

Réduire
Aucune annonce.

Un peu de game hacking ?

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

  • Un peu de game hacking ?

    Alors voilà, j'ai décidé d'apprendre à coder. J'ai créé un petit programme pour un jeu auquel je joue. Pour l'instant il n'influe pas sur le dit jeu. C'est seulement des macros.
    Cela me permet d'apprendre à coder en me fixant des petits défis et puisqu'il m'est utile sur le jeu ça me maintient toujours motivé.
    ​​​​​​
    Je code avec autohotkey. Mon petit programme pour l'instant fait des choses basiques :
    ​​​​​- si j'appuie sur certaines touches il émule la frappe d'autre.
    ​​​​​​- quelques mouvements de souris sous certaines conditions
    ​​​​​​- il vérifie la couleur de certains pixels et agit selon ceux ci.
    - j'ai créé une interface utilisateur pour me permettre de pouvoir changer la valeur de certaines variables sans avoir à modifier le script (plus rapide)

    Mon programme n'est QUE pour moi. Il ne sera jamais mis en ligne et je l'utilise avec moderation pour ne pas ruiner l'expérience des autres joueurs et déséquilibrer le jeu!

    Pour vous c'est sûrement ridicule hahaha pour moi c'est un bon début dans le coding et mes scripts sont de plus en plus complexes.
    Vous devez vous demander ce que je fais sur ce forum ? Pourquoi ne pas aller sur un forum de programmeur ?

    J'ai fini ce que je voulais faire et je n'ai plus de défi possible avec cette méthode. Voulant toujours me perfectionner j'irai bien fouiner dans le code du jeu / scanner la memoire pour améliorer mon programme.
    ​​​​​​
    J'ai quelques notions sur l'utilisation d'éditeur hexadécimale. J'ai commencé sur l'action replay sur la PlayStation 1 puis sur cheat engine.
    Avec cette méthode je pourrais relever de nouveaux défis. Et donc apprendre de nouvelles choses.

    Le problème ? Lanti cheat du jeu... J'en suis au niveau débutant moi, j'apprends seulement à coder et je dois déjà me battre contre un super boss.
    Pour l'instant mon programme n'est pas détecté par cet anti cheat. Je masque mon code... Mais pour mon nouveau projet l'accès à la mémoire est refusé par celui ci et les éditeurs que j'utilise la plupart sont détecté. Je me sens tout seul face à lui et je ne trouve aucun tuto pour m'apprendre comment il fonctionne et comment le duper. J'ai bien quelques pistes qui pourraient vous parler mais à mon niveau c'est trop difficile de les mettre en application avec mes connaissances actuelles. Pour vous ce défi doit être relevable.

    Sur les fofos de programmeur ça grince vite des dents quand il faut duper un logiciel... Ici normalement vous devriez comprendre ma démarche.

    J'aimerais donc savoir si quelqu'un sur ce forum pourrait m'aider à comprendre ce boss et comment le faire tomber....

    Merci à ceux qui auront pris le temps de me lire. Et double merci à celui où ceux qui voudront bien m'enseigner ces techniques.

  • #2
    Salut et bienvenue,

    Difficile de savoir exactement comment t'aider car tu parles de généralités et non d'un exemple précis (même si tu penses à l'évidence à un problème concret).

    Alors, je vais te répondre d'un point de vue général. Si tu veux lutter contre un programme, il te faut comprendre comment il marche. Il va donc falloir que tu étudies le format PE des fichiers exécutables Windows (je suppose que c'est sous Windows ?) et forcément l'assembleur. Un débogueur est quasiment indispensable (il en existe plusieurs) mais là aussi il a de bonnes chances d'être détecté.

    D'autres langages, notamment un langage scripté, peuvent être utiles voire très utiles mais cela dépend du problème à traiter.

    Je ne te cache pas que vu que c'est un jeu, vu qu'il dispose de contre-mesures, cela ne va pas être simple.Mais si tu t'acharnes, tu dois pouvoir y arriver.

    Commentaire


    • #3
      Bonjour et bienvenue !

      J'y connais a priori rien, mais ton truc est intéressant. C'est quel jeu et tu souhaiterais lui faire faire quoi à ton cheater ?


      Commentaire


      • #4
        Coucou,

        Merci pour vos réponses et votre réactivité.

        J'ai effectivement fait exprès d'être vague.
        Premièrement car j'attendais de voir les réactions à mon post, qui traduisent l'ouverture d'esprit de cette communauté. Je dois dire que je suis agréablement surpris.
        Deuxièmement je ne pense pas citer directement le jeu ou lanti cheat. Vu les droits sur la propriété intellectuelle etc...

        Icarus :effectivement c'est sous windows.

        Ce que je sais de lanti cheat (désolé pour les anglicismes mais mes infos viennent principalement de sources anglaises) :
        C'est un anti cheat qui opère en kernel mode (ring 0). Il est juste la pour nous empêcher d'interagir avec les processus et la mémoire du jeu.

        Ma première proposition de résolution de problème : (c'est ce que moi je comprends de l'anglais et d'après mes connaissances très limitées sur ce sujet, peut être que je comprends de travers)
        L'une des possibilités serait de créer son propre kernel mode driver.
        Un pilote destiné à masquer les débogueurs de certains processus...
        Utiliser un débogueur en kernel mode, pourrait être détecté par exemple en vérifiant l'indicateur KernelDebuggerEnabled de SYSTEM_KERNEL_DEBUGGER_INFORMATION d'où l'intérêt de masquer l'utilisation de ce debogueur...
        Maintenant tu en sais plus sur la stratégie que j'aimerai appliquée. La penses tu irréalisable ? Sais tu le faire ? Penses tu pouvoir m'apprendre à le faire ?
        Sinon je peux chercher d'autre moyens.

        acloseone : Je ne souhaite pas divulguer le nom du jeu pour la raison citée plus haut : legalité. Après si vraiment tu veux savoir on peut s'arranger. Pour l'instant mon cheat (a base de script dautomatisation) lance des parties (solo) et fait quelques actions. En multi, il me sert juste à faire des combinaisons de touches ou des clics rapides. Faisable manuellement mais à cette vitesse il faudrait que je sois à 100% de concentration tout le temps. Il me donne donc un avantage mais léger car les très bons joueurs font ce que mon script fait mais manuellement.

        Je pense que je pourrais faire avec cette méthode (mais très difficilement) un triggerbot (tir automatiquement si ma souris passe sur un joueur ce qui réduit le temps de reactivité) ou un aimbot (si un joueur apparaît la souris bouge toute seule jusqu'à la tête du joueur et tir). Seulement ça serait laborieux....
        Si j'ai accès à la mémoire du jeu je perfectionnerais mes scripts actuels (en terme de rapidité et de sûreté d'exécution).
        Puis pour le fun d'apprendre j'essayerais de coder un aimbot / triggerbot et ce qui m'intéresse le plus en terme d'apprentissage : un ESP (voir la position des autres joueurs à travers les murs en temps reel).
        Par contre je l'utiliserais en faite jamais... Ca va me tuer le fun de jouer, parce que tu ne fais plus rien toi même, ainsi que la satisfaction de progresser normalement et ça ruinerait l'expérience des autres joueurs.
        Mais y arriver serait pour moi une grande victoire, car c'est (pour moi actuellement) complexe à réaliser et je vais devoir apprendre encore pas mal de chose.
        Bypasser lanti cheat serait également une grosse victoire

        Encore merci à vous

        Commentaire


        • #5
          Du code s'exécutant en mode noyau pour un système anti-triche (tu vois, on peut mettre des mots français presque partout) ? J'ignorais que les jeux employaient de telles techniques qui sont du niveau d'un anti-virus. En même temps, cela n'a rien de surprenant, si on veut avoir un jeu peu ou pas pollué par les tricheurs (car beaucoup d'argent est en jeu).

          Je n'ai pas d'expérience dans le codage de pilotes en général (à peine quelques bidouilles sous linux, autrefois). Sans vouloir te décourager, la route risque d'être longue, très longue sachant qu'il te faudra au minimum apprendre en plus le C mais pas que, loin s'en faut... Sous Windows, on peut citer les objets utilisés en mode noyau, les niveaux d'IRQ, les IRQ elles-mêmes, les DPC et j'en oublie. Qui plus est, si le débogage en mode utilisateur ne présente que peu de problème, celui en mode noyau va être délicat : chaque erreur est susceptible de provoquer un redémarrage de la machine.

          Bref, mon conseil serait de commencer à apprendre l'assembleur, le C (ou C++) et, éventuellement, voir ce que tu peux faire en mode utilisateur. Il sera toujours temps de te tourner vers le développement de pilotes si le besoin s'en fait sentir.

          Commentaire


          • #6
            Perso, je pense qu'il y a une différence entre la morale et la moraline. La première, c'est de savoir ce qui est juste ("Jouis et fais jouir, sans faire de mal ni à toi, ni à personne"), et s'y tenir le plus possible, et la seconde, elle consiste à dire aux autres "faites ce que je dis mais pas ce que je fais" car la plupart des moralistes sont avant tout des escrocs de la pensée. Mais bon, je m'égare là.

            Du bout de ma lorgnette : n'y a-t'il pas la possibilité, pour contrer un tel système de protection, d'y ajouter de la robotique ? Si contourner de telles protections en mode noyau s'avère trop difficile, il y a peut-être la possibilité de sortir carrément de l'ordinateur ? Je ne sais pas à quoi ressemble ton jeu, mais n'y a t'il pas des possibilités de coupler une webcam à un programme pour détecter des zones de contraste, voire à ajouter un calculateur des mouvements de la souris pour y faire des rapports ?

            Ca peut sembler tiré par les cheveux, je balance mes premières impressions avec le peu que je lis, mais des fois, ce genre de méthodes, ça marche. Ou des fois, on trouve un moyen moins extrème mais qui s'en dévie. Mais ce n'est peut-être pas ce que tu recherches exactement (si tu recherches absolument une solution 100% logiciel).

            Commentaire


            • #7
              Icarus Effectivement, les anti-cheats actuels s'apparentent à des anti-virus... C'est pourquoi je me suis dis que cette communauté pourrait m'aider

              Il y a des possibilités en mode utilisateur, par exemple : utiliser un debogueur VEH (gestionnaire d'exception vectorisé?). Plus de précision à venir.

              Je suis conscient que je suis à la ramasse C'est vraiment décourageant pour moi de devoir commencer par la fin du chemin (savoir bypasser un AC) pour pouvoir faire le milieu du chemin : apprendre à coder des trucs sympas. C'est pas dans le bon ordre :s

              ////
              Une info récoltée sur l'anti-cheat qui me pose problème :
              "L'anti-virus bloque l'accès usermode à un processus par des moyens conventionnels via ObRegisterCallbacks (https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx)

              Pour contourner cela, vous voulez trouver une des méthodes qui fonctionne dans le mode utilisateur, ou écrire un pilote et le contourner de cette façon, vous pouvez le faire de plusieurs manières, accrocher son pilote, entrer en collision avec ses rappels ou supprimez simplement leurs rappels (https://douggemhax.wordpress.com/2015/05/27/obregistercallbacks-and-countermeasures/)"

              En gros les étapes seraient :
              désactiver les rappels
              chargez votre propre pilote pour qu'il lise \ ecrive et que votre application externe lui parle.
              activer les rappels.
              rejoindre le serveur.
              ////

              Bon, je vais vous citer ma source d'info ça ira plus vite (si ça vous intéresse) et vous y verrez peut être un chemin plus facile pour moi. Car avec mon manque de compétence, j'ai du mal à jauger de la difficulté de chaque option et par conséquent savoir laquelle m'est le plus accessible.

              Ps : j'ai appris les bases du python car le langage de haut niveau me paraissait plus rapide que le C++ de bas niveau. J'ai BESOIN d'avoir des résultats (utiles) pour me motiver assez fréquemment. J'avais peur avec le C++ de devoir apprendre à coder 1 ans avant d'arriver à faire un truc qui me serait utile et de craquer et abandonner avant...
              Le python m'a posé des problèmes avec mes macros (apparemment il était très difficile de faire certaines choses avec ce langage, selon les forumeux) et je me suis rabattu sur l'apprentissage d'autohotkey (langage proche du basic). J'ai passé pas mal d'heures à apprendre / essayer des trucs mais ça fonctionne rapidement, ça m'est utile dans le jeu et c'est donc très motivant.
              Maintenant je me demande si je ne vais pas devoir me mettre au c++ quand même....

              Un très bon site avec une super communauté aussi :
              https://guidedhacking.com/threads/ho...t-bypass.9882/

              acloseone : En fait, ça me parait une super idée pour bypasser l'AC effectivement. Mais si je comprends bien ce que tu veux faire, il serait possible de faire un aimbot/triggerbot avec ça, par contre un esp (sans accéder donc à la mémoire du jeu) reste impossible à faire.

              Je me demande également le délais de réactivité de ce procédé. Sachant que dans les FPS (first person shooter) à mon niveau, les millisecondes ça compte, avoir 1secondes de réaction serait impensable.

              Quand bien même ce serait très réactif, ça me demanderait surement encore plus de compétences. Pour mon début d'apprentissage : apprendre à coder un petit programme qui interfère avec la mémoire c'est déjà ma prochaine étape et tu vois on en est loin niveau compétence Mais l'idée est bonne et je la garde sur le coude pour plus tard, quand je saurai ce que je fais.

              Pour te donner une idée du jeu, voici une vidéo d'un jeu TRES SIMILAIRE ! Peut être est-ce CELUI CI, ou peut être un jeu très très très approchant... Qui sait ?
              https://www.youtube.com/watch?v=zDWm8SEsQ70

              Encore merci pour votre aide !!
              Dernière modification par Red pill, 08 août 2018, 16h30.

              Commentaire


              • #8
                Très intéressant tous tes liens. Cela me donne envie de mettre à l'écriture de pilotes. Après tout, ce doit être moins pénible sur une machine virtuelle.

                Toutefois, j'ai une connaissance superficielle des API en mode noyau et cela me demanderait un travail conséquent ; du genre plusieurs mois. Et puis... Je t'avoue que je n'ai aucune envie de tricher à un jeu. Ce qui se comprend aisément car je ne joue pas ou vraiment peu. En revanche, écrire un rootkit, pourquoi pas ?

                En ce qui te concerne, comme indiqué dans l'un de tes liens, si tu commences avec des jeux protégés par des anti-triches professionnels, tu n'as aucune chance. Il faut commencer par des jeux mal ou pas protégés. Il y a toute une somme de connaissances spécialisées (dont les innombrables API Windows) à acquérir en même temps que le C ou C++ (ce qui, en soi, n'est pas une mince affaire).

                Les gens ici seront là pour t'aider si tu coinces sur un aspect ou un autre de ce à quoi tu t'attaques. N'hésite pas à poster tes questions (précises si possible).

                Commentaire


                • #9
                  Ah oui, la vache... Je ne suis plus les jeux, j'en étais resté aux consoles 16 bits... à peu près ! Je pensais donc plutôt à un truc du genre WOW, pas mieux... Vu la réactivité de ce genre de jeux, je vois pas un système "robotisé" tenir la responsivité... Quand bien même il était possible de trouver des programmes suceptibles d'être configurés pour détecter des contrastes ou des patterns, je vois pas un truc capable d'être aussi précis aussi rapidement avec... du flou. Sur des jeux aussi rapides et complexes, je crois que la piste part en fumée effectivement.

                  Envoyé par Red pill Voir le message
                  Je suis conscient que je suis à la ramasse C'est vraiment décourageant pour moi de devoir commencer par la fin du chemin (savoir bypasser un AC) pour pouvoir faire le milieu du chemin : apprendre à coder des trucs sympas. C'est pas dans le bon ordre :s
                  C'est dans cet ordre que je vois les choses le plus souvent : tu as une idée, tu as envie de voir si tu peux le faire, et à ce moment là, tu mets les mains dans le cambouis pour créer chaque pièce de ton puzzle avant d'arriver à l'assemblage final. Et des fois, tu perds un temps fou... pour rien. La difficulté de cet ordre là, à mon avis, c'est de ne pas avoir conscience de ce qui est possible ou pas AVANT de se confronter réellement aux problèmes concrets de chaque étape, en plus de devoir souvent partir de 0 dans plusieurs domaines pour arriver à faire chaque pièce de son puzzle. La difficulté de l'ordre inverse, c'est de partir de ces compétences pour définir ce qui est faisable ou pas, en ratant des possibilités qui sont en dehors de ce que l'on sait faire. C'est le paradoxe lorsque l'on en sait suffisament, les connaissances déjà acquises exquissent un univers qui nous prive de la surprise ou du culot du débutant total (c'est probablement valable dans tous les domaines. Et par exemple, un enfant pose des questions parfois plus judicieuses et profondes qu'un adulte car il n'a pas encore certains formatages). Le top, c'est probablement de conjuguer les deux optiques, et donc d'échanger en effet sur ces projets.

                  Commentaire


                  • #10
                    Bonjour,

                    Je tiens a te rassurer tout de suite, tu n'es pas seul
                    J'ai moi-meme commence par la, egalement avec AutoHotKey (AHK pour les intimes). Dans un premier temps je faisais simplement du multiboxing sur wow puis j'ai petit a petit derive en explorant les possibilites. Bot wow, Aimbot/ESP Counter Strike Source et Team Fortress 2... Au final je ne jouais plus du tout et je passais mon temps a perfectionner mes bots. Bref, tout ca pour dire que sa reste du hacking et si le cote "recherche et contournement" te plait tu les competences que tu as acquis te servirons meme ailleurs

                    Je pense voir sur quel jeu tu es. Je ne m'y suis jamais attaque mais en executant ton script avec des droits supperieur a l'anti cheat tu devrais pouvoir bypass l'interdiction d'injection. Arrives tu as lire/modifier la memoire avec cheat engine?

                    PS: N'hesite pas a me MP si tu veux en parler

                    Commentaire


                    • #11
                      @Icarus Oui, effectivement je pense que mon projet, pour l'instant, n'est pas réalisable. J'attendais un tuto "accessible" pour moi, m'expliquant comment faire pour bypasser l'anti cheat, mais je pense que je ne suis pas prêt, si même vous ici, bloquez un peu dessus

                      Je vais me rabattre sur les jeux qu'ils ont cité et qui sont mal protégés pour comprendre le fonctionnement des hacks et seulement après, je transférerai mes nouvelles compétences sur mon vrai jeu et je m'attaquerai à l'anti-cheat. Ca sera une source de motivation moindre pour moi, car mes progrès seront inutiles sur mon vrai jeu d'ici là, mais je vais changer ma vision des choses pour que ça me plaise et me "payer" en me disant que je progresse quand même

                      Merci encore pour ton aide.

                      @acloseone Bon bah, je vais déjà tacher de créer des pièces de puzzle qui sont indispensables, il me semble. Je suis actuellement en train d'apprendre le C++. Bon ça reste très similaire au python, alors je ne pars pas de 0. Parallèlement j’approfondis mes connaissances sur cheat engine. Disons que dans ma trousse à outils, quand j'aurai plus d'outils je pourrais au moins tenter des choses... Je te rejoins sur le "formatage" des pensées, là réside toute l'astuce : accumuler des connaissances et des méthodes d'application, tout en oubliant pas de rester créatif en n'hésitant pas à casser les "méthodes" pour voir les choses sous un autre angle et faire de nouvelles choses. Maintenant, comme en musique, pour pouvoir improviser, il faut quand même avoir des bases solides.

                      @bambish Coooool un copain game hackeur

                      Bot wow, Aimbot/ESP Counter Strike Source et Team Fortress 2...
                      C'est alléchant ! J'ai trop envie d'être capable de faire ça ! Je te félicite pour le chemin parcouru !

                      Au final je ne jouais plus du tout et je passais mon temps a perfectionner mes bots.
                      Ahahahaha effectivement, je connais ça. Je passais plus de temps à perfectionner mes Hacks qu'a jouer sur Cabal Online. Et là sur mon jeu actuel, mon bot pour changer de compte automatiquement, lancer des games, faire quelques actions, et les leaves, couper le jeu, rechanger de compte m'a pris pas mal de temps ! Je passais plus de temps à le perfectionner et à chercher l'info qu'il me fallait pour le réaliser, qu'il m'arrivait de ne pas y jouer de la semaine Mais bon, ça prouve qu'on trouve plus de fun dans la programmation !

                      Je pense voir sur quel jeu tu es. Je ne m'y suis jamais attaque mais en executant ton script avec des droits supperieur a l'anti cheat tu devrais pouvoir bypass l'interdiction d'injection. Arrives tu as lire/modifier la memoire avec cheat engine?
                      Heu, non, je n'ai même pas tenté de m'attacher au processus ahahahaha pour moi c'est le bannissement instantané assuré ! Et c'est pas un free-to-play mon jeu, alors l'erreur me coûterait de l'argent

                      Par contre, l'anti-cheat de ce jeu, protège d'autres jeux qui sont en free to play. Alors j'ai download un de ces jeux, (sur un autre pc pour ne pas risquer le HWID ban, parait que c'est une pratique courante de l'anticheat). Et j'ai tenté de m'accrocher au processus du jeu. Message d'erreur, impossible, j'ai fouillé sur le net et j'ai obtenu comme réponse que (bien sûr je m'en doutais) c'est l'anti-cheat qui m'empêche d’accéder à la mémoire du jeu. J'ai tenté une manipulation décrite pour changer la méthode de fonctionnement du débugueur. Fail : dès que je lancais, le jeu se fermait instantanément ! L'anti-cheat devait déjà avoir patché cette méthode.... J'ai tenté un autre programme similaire à cheat-engine, mais moins "célèbre", même sentence... Je pense donc qu'il ne détecte pas une signature de l'application (je pouvais lancer cheat-engine en parallèle du jeu sans qu'il se coupe) mais il détecte un comportement : le fait de tenter de debuguer le processus du jeu. Et comme je ne sais pas comment fonctionne un débugeur, tu te doutes que je ne peux pas spéculer sur la méthode de détection de celui-ci.

                      Je n'ai pas encore essayé le driver qui permettrait de cacher le debugueur à certain processus, qui est donné dans mon lien plus haut. Je n'aime pas trop utilisé des codes trouvés comme ça... Je ne sais jamais ce qu'il y a dedans... Mais ça pourrait être la solution. De base c'est ce que je cherchais ici, je pensais qu'on allait pouvoir m'expliquer comment créer un pilote comme ça, et comme c'est moi qui l'aurait fait, j'aurai pu vérifier et valider chaque partie du code. Mais maintenant je pense que je ne suis pas prêt encore, à le faire.
                      Dernière modification par Red pill, 10 août 2018, 11h33.

                      Commentaire

                      Chargement...
                      X