comment ne viser les bots dans les fps de travail?
J'étais curieux de savoir si quelqu'un a une expérience ou des connaissances à propos de l'objectif de robots en ligne FPS jeux tels que Counter-Strike. Je suis curieux et souhaitez en savoir plus sur la façon dont le curseur sait comment verrouiller sur un joueur adverse. Évidemment, si je voulais tricher, je pouvais aller en télécharger certaines astuces si ce n'est plus un apprentissage chose. Ce que tout est impliqué? Ils accrochent les utilisateurs de la souris/du clavier pour déplacer le curseur à l'emplacement correct? Comment fonctionne le cheat application de savoir exactement où pointer le curseur? Le cheat application doit être en mesure d'accéder à des données dans l'application de jeu, comment est-ce possible?
EDIT: pour les peid réponse, comment font les gens d'obtenir les emplacements de mémoire pour saisir les données? EDIT2: Permet de dire que je trouve certaines valeurs que je veux au lieu 0xbbbbbbbb à l'aide d'un programme de débogage ou d'autres moyens. Comment puis-je maintenant accéder et d'utiliser les données stockées dans l'emplacement à l'intérieur de l'application car je n'ai pas de mémoire, le jeu ne. Ou dois-je maintenant avoir accès à ça depuis que j'ai injecté dans le processus et il suffit de copier la mémoire à cette adresse à l'aide de memcpy ou quelque chose?
Quelqu'un d'autre a quelque chose à ajouter? Essayer d'apprendre le plus possible sur ce que possible!
Vous devez vous connecter pour publier un commentaire.
Quelque part dans le jeu de mémoire est le X,Y et Z de la position de chaque joueur. Le jeu a besoin de connaître cette information de sorte qu'il sait où pour rendre le joueur du modèle et ainsi de suite (bien que vous pouvez limiter le client du jeu peut savoir par seulement envoyer les informations du joueur pour les joueurs en vue).
Un aimbot pouvez numériser connu emplacements de mémoire pour cette information et le lire, lui donnant accès à deux positions, le joueur et les ennemis. En soustrayant les deux positions (comme vecteurs) donne le vecteur entre les deux et c'est simple à partir de là calculer l'angle à partir du lecteur de l'aspect actuel est le vecteur de l'angle du vecteur.
Par l'envoi d'entrée directement dans le jeu (ce qui est trivial) et de réglage fin avec quelques constantes que vous pouvez l'obtenir pour viser automatiquement assez rapidement. La partie la plus difficile du processus est le clouer où les positions sont stockées dans la mémoire et l'ajustement des données dynamiques de la structure de déplacement des joueurs autour de vous (comme frustum culling).
Notez que ces derniers sont plus difficiles à écrire lorsque l'adresse de la randomisation est utilisé, mais pas impossible.
Edit: Si vous vous demandez comment un programme peut accéder à d'autres programmes de la mémoire, typique de la façon de le faire est par Injection de DLL.
Edit: Puisque c'est encore obtenir quelques succès il y a plus de moyens que les aimbots de travail qui sont de plus en plus populaire maintenant, à savoir l'écrasement (ou des correctifs en place) Direct3D ou OpenGL DLL et en examinant les appels de fonctions pour dessiner la géométrie et de l'insertion de votre propre géométrie (pour des choses comme le mur-hacks) ou d'obtenir les positions des modèles pour un aimbot.
ptrace
? Il n'y a pas moyen de demander de noyau d'interdire le débogage d'un processus?Question intéressante - pas exactement votre réponse, mais je me souviens que dans les premiers jours de Counter-Strike, les gens utilisés pour remplacer leur opengl32.dll avec bâclé un qui aurait rendu des polygones transparents, de sorte qu'ils pouvaient voir à travers les murs.
Les hacks amélioré et a obtenu plus ennuyeux, et les gens étaient plus créatifs. Maintenant Valve/Steam semble faire un bon travail de les enlever. Juste un peu d'attention si vous avez l'intention de jouer avec ce genre de choses, la Vapeur ne scan pour les "hacks" et si il y en a, ils vont vous interdire de façon permanente
Beaucoup de "But robots" ne sont pas des robots, mais à tous les déclencher des bots. Ils sont en processus d'arrière-plan que d'attendre jusqu'à ce que votre réticule est en fait sur une cible et le feu automatiquement. Ceci peut être accompli dans un certain nombre de façons différentes, mais beaucoup de jeux à faire, il est facile, en affichant le nom de quelqu'un chaque fois que votre cible passe au-dessus d'eux ou de quelque autre morceau de données dans la mémoire qu'un déclencheur bot peut cerner le point.
De cette façon, vous jouez en agitant la souris à votre cible et dès que vous passez la souris au-dessus d'eux, il va déclencher un tir sans avoir à réellement le feu vous-même.
Ils doivent encore être en mesure de repérer ce genre de chose dans la mémoire, et ont le même genre de questions que plus vrai "Objectif robots" ne.
Une autre méthode qui a été utilisée dans le passé est de désosser le réseau de paquets de mise en forme. Un man-in-the-middle attack sur le flux de paquets (ce qui peut être fait sur le même système que le jeu tourne sur) peut fournir des positions des joueurs et d'autres informations connexes. Forgé les paquets peuvent être envoyés au serveur pour déplacer le joueur, de tirer ou de faire toutes sortes de choses en fonction du jeu.
Découvrez le tutoriel de la série par Fleep ici. Son entièrement commentée en C# code source peut être téléchargé ici.
En un mot:
Trouvez votre joueur x y z les coordonnées du curseur x y coordonnées ainsi que tous les ennemis x y z coordonnées. Calculer la distance entre vous et le plus proche ennemi. Vous êtes maintenant en mesure de calculer la valeur de x y coordonnées du curseur nécessaires pour obtenir l'auto aim.
Sinon, vous pouvez exclure les ennemis qui sont morts (la santé est de 0) dans ce cas, vous avez également besoin de trouver l'ennemi de la santé de l'adresse. Joueur des données généralement proches les uns des autres dans la mémoire.
Encore une fois, consultez le code source pour voir en détail la façon dont tout cela fonctionne.
Edit: je sais ce hors-sujet, désolé, Mais je pensais que ce serait aider la personne.
La chose le piratage de l'industrie n'ai pas essayé, mais j'en ai fait des expériences avec des, est prise détournement. Il peut sembler beaucoup plus que ce qu'il est réellement, mais, fondamentalement, il utilise le WinPCap les conducteurs de raccordement dans le processus de "l'Internet via des connexions TCP (Sockets), sans même se rendre près le processus de" décalages.
Alors vous aurez simplement à apprendre la façon dont les Signaux TCP sont en cours de transfert et de les stocker dans une Table de hachage ou d'un mode Multijoueur (Paquet) de la classe. Puis, après la récupération de l'information et de la superposition de l'information sur la Fenêtre (pas accroché), juste des étiquettes transparentes et 2D cases sur l'écran de la fenêtre de jeu.
J'ai été le tester sur Call of Duty 4 et j'ai obtenu les emplacements des 4 joueurs via TCP, mais aussi comme Ron Warholic a dit: toutes les méthodes de piratage ne fonctionnera pas si un développeur de jeu a écrit un serveur de jeu à la sortie seulement les joueurs lorsque l'utilisateur actuel devrait voir le joueur.
Et après la coupe de la transmission de la localisation du joueur comme pour le X Y Z et le joueur ne seront plus stockées et pas rendus là pour arrêter le wallhack. Et aimbots sera dans une sorte de décrochage de travail, mais pas de manière efficace. De toute façon, si vous êtes à la recherche en faisant un wallhack, ne pas accrocher dans le processus, essayer d'apprendre WinPCap et crochet dans les signaux d'Internet. Comme pour les jeux, ne recherchez pas les processus d'inscription pour les transmissions sur l'Internet. Si vous avez besoin d'un exemple qui utilise cette, aller chercher la Rouille Radar que les sorties de la localisation du joueur, sur une carte, et également des sorties d'autres joueurs autour de vous qui est envoyé par l'intermédiaire de transmissions sur l'Internet TCP et n'est pas accroché au jeu.