[VB.NET] Tuto creer un cheat en vb

    Publicités

Users Who Are Viewing This Thread (Total: 0, Members: 0, Guests: 0)

Mar 30, 2011
1,014
1
944
In Your Ass
Salut

Un post de creation de cheat en vb recup a l'instant sur ov***.ga**
C est simple et s adapte largement au cheat fait ici sur tout les jeux



Plop les gens


Voici un exemple en détail de l utilisation de blackmagic cité quelques post plus bas

Prog fait sur VISUAL STUDIO 2010
Tester sur le serveur Earthquake
Version du client : 4.0.6


Bon l objectif est :

Nom du joueur
Nom de la zone (map)
Nom de la sous-zone(nom du lieu dans la map)

FlyHack (version marche dans les airs)


Bon on commence par le debut

Nouveau projet --- > windows form
Nom du projet Cheat_wow

Sur l interface j ai coller 3 label avec 3 textbox

Pour les label c est plutôt basic :
Nom
Map general
Map local

et pour les textbox et bien elle recevront les infos lié au label

il y a 2 boutons
Actualise et Flyhack

j ai mis le flyhack en cacher au lancement du cheat
c est seulement avec une actualisation valide
que le hack apparait (que wow soit bien la ^^ )

en image ca donne ca :

Ce lien n'est pas visible, veuillez vous connecter pour l'afficher. Je m'inscris!

Bon alors on commence par ajouter les dll
Blackmagic et fasmdll_managed

A droite dans l explorateur de solution click droit sur le projet
et "ajouter une reference"
A repeter pour chaque dll (ici 2)

Donc on commence le code par les "imports"

Code:
Imports Magic 
Imports System.Runtime.InteropServices

l "imports" Magic c est pour les dll
et le System.Runtime.InteropServices c est pour un hotkey de la touche espace


Bon alors le code qui suit n 'est pas forcement le top du top
Je ne connais pas grand chose en structure de prog vb
Donc si il y a des truc qui choque hésitez pas ^^

Code:
Public Class Form1
    Dim MemReader As New BlackMagic

    Dim myName = &H8BF1E0        ' 4.2.0 &H97DA88
    Dim zoneMap = &H99C690 ' 4.2.0 &HA96164
    Dim subZoneMap = &H99C68C ' 4.2.0 &HA96160
    Dim fly1 = &H210558
    Dim fly2 = &H55C666



    Public Declare Function RegisterHotKey Lib "user32" (ByVal hwnd As IntPtr, ByVal id As Integer, ByVal fsModifiers As Integer, ByVal vk As Integer) As Integer

    Public Declare Function UnregisterHotKey Lib "user32" (ByVal hwnd As IntPtr, ByVal id As Integer) As Integer

J instancie le lecteur memoire MemReader comme ca je peu
l utiliser partout dans le code

ensuite mes offset pour la version 4.0.6

et enfin les fonction RegisterHotKey et unRegisterHotKey de la dll user32
que j utilise pour avoir un hotkey qui marche hors de l application

Bon la on double clic sur le bouton actualise pour coder l action
On commence par tester la présence de wow

Code:
       If MemReader.OpenProcessAndThread(SProcess.GetProcessFromProcessName("earthquake")) = False Then
            TextPseudo.Text = "wow pas trouver "
            But_Fly.Hide()
            Exit Sub
        End If
        But_Fly.Show()

Donc j essaye d ouvrire le processus de wow

Si erreur alors je re cache le bouton de flyhack
Et je sort de l action du bouton

Sinon j active le bouton et on passe a la suite

Code:
       Dim Base As UInteger = MemReader.MainModule.BaseAddress

        Dim Name As String = MemReader.ReadASCIIString(CUInt(Base) + myName, 256)

        Dim ZonePtr As UInteger = MemReader.ReadInt(CUInt(Base) + zoneMap)
        Dim Zone As String = MemReader.ReadASCIIString(ZonePtr, 256)

        Dim SubZonePtr As UInteger = MemReader.ReadInt(CUInt(Base) + subZoneMap)
        Dim SubZone As String = MemReader.ReadASCIIString(SubZonePtr, 256)

        TextPseudo.Text = Name
        TextZone.Text = Zone
        TextSubz.Text = SubZone

La on commence par recup l adresse du module wow dans le process ,(base)

Apres c est les lecture des infos du jeu
et enfin on envois ca dans les 3 textbox

ensuite et bien on passe au fly hack

Code:
      Dim Base As UInteger = MemReader.MainModule.BaseAddress
        Dim fly As Byte = MemReader.ReadByte(CUInt(Base) + fly2)

        If fly = &H90 Then

            MemReader.WriteByte(CUInt(Base) + fly1, 117)
            MemReader.WriteUShort(CUInt(Base) + fly2, &H6574)

            But_Fly.Text = "Flyhack OFF"

            Call UnregisterHotKey(Me.Handle, 9)
        Else
            Call RegisterHotKey(Me.Handle, 9, 0, Keys.Space)

            MemReader.WriteByte(CUInt(Base) + fly1, 235)
            MemReader.WriteUShort(CUInt(Base) + fly2, &H9090)

            But_Fly.Text = "Flyhack ON"

        End If

Pour cette version du flyhack il faut inhibé la touche de saut
(espace par defaut)
sinon ca merdouille
Donc il me fallais un hotkey qui marche aussi dans le jeu
pas seulement sur notre prog , d ou l import du debut

donc la quand on appuis sur flyhack je verifie si il est lancer
si c est pas le cas alors :
je bloque la touche espace
je modifie la memoire pour activer le hack
je modifie le label du bouton pour dire que c est en route

sinon
je modifie la memoire pour desactiver le hack
je modifie le label du bouton pour dire que c est arreter
je debloque la touche espace

et pour finir au cas ou on arrete le programe en plein hack
j ai rajouter ca
Code:
   Private Sub Form1_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing

        Call UnregisterHotKey(Me.Handle, 9)


    End Sub

ca desactive le hotkey a la fermeture du prog


Voila c est tout pour aujourd hui
Je precise que ce tuto s adresse aux personnes qui ont deja depasser
le stade du Copier/coller
et qu il y a deux bricolage maison dans ce code
donc evitez le copier coller vous seriez pas capable d expliquer
si on vous pose la question

Merci a Cyrius pour y avoir penser
Merci au auteur de post UTILE