xANTRHACKx
Membre
- Inscription
- 28 Septembre 2012
- Messages
- 105
- Réactions
- 5
- Points
- 608
Merci pour le calcul client avec sa jm et GOD mod aux autre joueurs
[tabs]
[tab=Les bases]
1. Langages de programmation[/tab]
Il y plusieurs langage de programmation qui permettent de faire des "tools RTE" .
Dans ce tutoriel, on va en voir principalement deux, le C# (C Sharp) et le VB.NET .
Logiciel utilisé le plus souvent pour programmé en C# (C Sharp) :
-Vous devez être inscrit pour voir les liens ! Inscrivez-vous ou connectez-vous ici.
Scan Virus :Vous devez être inscrit pour voir les liens ! Inscrivez-vous ou connectez-vous ici.
Logiciel utilisé le plus souvent pour programmé en VB.NET :
-Vous devez être inscrit pour voir les liens ! Inscrivez-vous ou connectez-vous ici.
Scan Virus :Vous devez être inscrit pour voir les liens ! Inscrivez-vous ou connectez-vous ici.
2. Les offsets
2.1 . Trouvé la différence entre chaque client
Pour trouvé la différence entre chaque client, on va devoir faire un calcule... et on va l'effectué avec la calculatrice en mode programmeur
Puis vous devez réglé la calculatrice comme ceci :
Pour trouvé la différence entre deux client il suffit de faire des maths, et plus précisément une soustraction.
Exemple :
FCA41E = Offset GodMod du client 0
FCA69E = Offset GodMod du client 1
FCA69E - FCA41E = 280
FCA69E + 280 = Offset GodMod du client 2
FCA69E + 280 = FCA91E
2.2 . Les offsets quand on programme son " tools "
Quand vous programmerez vôtre tools, les offsets devront toujours être comme sa :
En C# (C Sharp) :
0x + TON OFFSET
Exemple : 0xFCA41E
En VB.NET :
&H + TON OFFSET
Exemple : &HFCA41E
[tab=Nôtre premier tools en VB.NET]
1. Création du projet et mise en forme + connexion
Requis :
- ps3tmapi_net :Vous devez être inscrit pour voir les liens ! Inscrivez-vous ou connectez-vous ici.(scan virus :Vous devez être inscrit pour voir les liens ! Inscrivez-vous ou connectez-vous ici.// j'ai rien modifier au DLL !)
- PS3Lib :Vous devez être inscrit pour voir les liens ! Inscrivez-vous ou connectez-vous ici.(scan virus :Vous devez être inscrit pour voir les liens ! Inscrivez-vous ou connectez-vous ici.)
On commence tout de suite par crée un nouveau projet :
Ensuite, une fois le projet crée, on va tout de suite importé les DLL requis au bon fonctionnement de notre futur tools :
1) Clique droit sur le nom de vôtre projet dans la liste de droite
2) Aller cliqué sur " Ajouter une référence "
3) Chargé les 2 DLL téléchargé plus haut
Ensuite on va déclaré les DLL dans le futur tools :
CODE :
Code:Imports PS3Lib Imports PS3TMAPI
Maintenant faut ajouté des lignes indispensable en-dessous de " Public Class Form1 " :
CODE :
Code:Private processIDs As UInteger() Private ProcessID As UInteger
Passons au connexion, placé deux bouton sur vôtre form (peut importe comment) :
Cliqué 2 fois sur vôtre bouton "Connect" et inséré lui ce code :
CODE :
Code:PS3TMAPI.InitTargetComms() PS3TMAPI.Connect(0, vbNullString) 'Connecte le tools à PS3
Résultat :
Maintenant au tour du bouton " Attach Process " :
CODE :
Code:Try PS3TMAPI.GetProcessList(0, processIDs) 'Obtient le 1er processus Dim uProcess As ULong = processIDs(0) ProcessID = Convert.ToUInt32(uProcess) PS3TMAPI.ProcessAttach(0, PS3TMAPI.UnitType.PPU, ProcessID) PS3TMAPI.ProcessContinue(0, ProcessID) Dim Info As String = "The Process 0x" & ProcessID.ToString("X8") & " Has Been Attached !" MessageBox.Show(Info, "Process Ready!", MessageBoxButtons.OK, MessageBoxIcon.Asterisk) Catch Ex As Exception MessageBox.Show(Ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.[Error]) End Try
Pour rendre plus propre vôtre code, je vous conseil d'ajouté ceci au dessus du code de vôtre 1er bouton :3. Récupéré le nom des joueurs en partie
CODE :
Code:#Region "Connexion PS3"
Et ceci après vôtre 2ème bouton :
Après on peut refermé la catégorie "Connexion PS3" et sa donne sa :
Les connexions, c'est fait ! Déjà une bonne chose de faite
2. Nôtre première fonction (pour le tutoriel, pour MW3)
On commence par placé nos "objets" , pour ma part je vais mettre une " CheckBox " :
Maintenant on va voir pour crée une fonction qui calcule les offsets pour " la vision " , on va placé cette fonction après la catégorie "Connexion PS3" :
CODE :
Code:Public VisionClient0 As Integer = &H110A293 'Cette offset correspond à la vision du client0 Public Function Vision(ByVal clientNum As Integer) As Integer 'Cette fonction retournera le résultat d'un calcule (clienNUm correspond à un chiffre qui se trouvera dans le calcule) Return VisionClient0 + (clientNum * &H3980) 'Ce calcule se résume à : &H110A293 + (clienNum X &H3980) Ex : &H110A293 + (1 * &H3980) correspond a &H110A293 + &H3980 = &H110DC13 End Function
Ensuite on va dans le code de nôtre CheckBox on y ajouté ceci :
CODE :
Code:If REDBOXc0.Checked = True Then 'Si la CheckBox est coché ALORS Dim redboxclient0 As Byte() = New Byte() {&H55} 'On remplace les bytes actuelle par 55 à l'offset calculé par nôtre fonction (pour la vision) PS3TMAPI.ProcessSetMemory(0, PS3TMAPI.UnitType.PPU, ProcessID, 0, Vision(0), redboxclient0) 'La on a fait appel à la fonction que l'on a crée juste avant. 0 = client0 'Exemple pour le client 1: ' ' Dim redboxclient1 As Byte() = New Byte() {&H55} ' PS3TMAPI.ProcessSetMemory(0, PS3TMAPI.UnitType.PPU, ProcessID, 0, Vision(1), redboxclient1) Else 'SINON Dim redboxclient0 As Byte() = New Byte() {&H0} ' 0 = désactive le RedBox PS3TMAPI.ProcessSetMemory(0, PS3TMAPI.UnitType.PPU, ProcessID, 0, Vision(0), redboxclient0) End If
Voilà, nôtre première fonction est codé !
On ajoute tout de suite un bouton et des 17 textBox sur nôtre form (le 1er en haut c'est le client 0 et le dernier c'est le client 17) :
Maintenant on va crée une fonction qui permet de trouvé les offsets pour les noms des joueurs en partie (je l'ai mise en dessous de l'autre fonction) :
CODE :Code:Public NameClient0 As Integer = &H110D694 Public Function GetClientName(ByVal clientNum As Integer) As Integer Return NameClient0 + (clientNum * &H3980) End Function
Vous devrez déclaré une importation tout en autre de form :
Maintenant passons au code du bouton "Get Client" :
CODE :
Code:' CECI c'est pour le nom du client 0 Dim GetClientNameC0 As Byte() = New Byte(&H25) {} 'Recupere 25 bytes en partant de l'offset (calculé par nôtre fonction) PS3TMAPI.ProcessGetMemory(0, PS3TMAPI.UnitType.PPU, ProcessID, 0, GetClientName(0), GetClientNameC0) C0.Text = Encoding.ASCII.GetString(GetClientNameC0) 'On converti les 25 bytes récupéré en Texte et on l'affiche dans la 1er textBox tout en haut ' CECI c'est pour le nom du client 1 Dim GetClientNameC1 As Byte() = New Byte(&H25) {} 'Recupere 25 bytes en partant de l'offset (calculé par nôtre fonction) PS3TMAPI.ProcessGetMemory(0, PS3TMAPI.UnitType.PPU, ProcessID, 0, GetClientName(1), GetClientNameC1) C1.Text = Encoding.ASCII.GetString(GetClientNameC1) 'On converti les 25 bytes récupéré en Texte et on l'affiche dans la 2eme textBox en partant du haut ' CECI c'est pour le nom du client 2 Dim GetClientNameC2 As Byte() = New Byte(&H25) {} 'Recupere 25 bytes en partant de l'offset (calculé par nôtre fonction) PS3TMAPI.ProcessGetMemory(0, PS3TMAPI.UnitType.PPU, ProcessID, 0, GetClientName(2), GetClientNameC2) C2.Text = Encoding.ASCII.GetString(GetClientNameC2) 'On converti les 25 bytes récupéré en Texte et on l'affiche dans la 3eme textBox en partant du haut ' CECI c'est pour le nom du client 3 Dim GetClientNameC3 As Byte() = New Byte(&H25) {} 'Recupere 25 bytes en partant de l'offset (calculé par nôtre fonction) PS3TMAPI.ProcessGetMemory(0, PS3TMAPI.UnitType.PPU, ProcessID, 0, GetClientName(3), GetClientNameC3) C3.Text = Encoding.ASCII.GetString(GetClientNameC3) 'On converti les 25 bytes récupéré en Texte et on l'affiche dans la 4eme textBox en partant du haut ' CECI c'est pour le nom du client 4 Dim GetClientNameC4 As Byte() = New Byte(&H25) {} 'Recupere 25 bytes en partant de l'offset (calculé par nôtre fonction) PS3TMAPI.ProcessGetMemory(0, PS3TMAPI.UnitType.PPU, ProcessID, 0, GetClientName(4), GetClientNameC4) C4.Text = Encoding.ASCII.GetString(GetClientNameC4) 'On converti les 25 bytes récupéré en Texte et on l'affiche dans la 5eme textBox en partant du haut ' CECI c'est pour le nom du client 5 Dim GetClientNameC5 As Byte() = New Byte(&H25) {} 'Recupere 25 bytes en partant de l'offset (calculé par nôtre fonction) PS3TMAPI.ProcessGetMemory(0, PS3TMAPI.UnitType.PPU, ProcessID, 0, GetClientName(5), GetClientNameC5) C5.Text = Encoding.ASCII.GetString(GetClientNameC5) 'On converti les 25 bytes récupéré en Texte et on l'affiche dans la 4er textBox en partant du haut
Voilà, à vous de continuez jusqu'au client 17
4. Les stats
On va voir pour crée un NumericUpDown qui changera le prestige.
On commence tout de suite par placé nôtre NumericUpDown etc :
Passons au code du NumericUpDown :
Code:If PRESTIGES.Value = 0 Then Dim PRESTIGE0 As Byte() = New Byte() {&H0} PS3TMAPI.ProcessSetMemory(0, PS3TMAPI.UnitType.PPU, ProcessID, 0, &H1C1947C, PRESTIGE0) End If If PRESTIGES.Value = 1 Then Dim PRESTIGE1 As Byte() = New Byte() {&H1} PS3TMAPI.ProcessSetMemory(0, PS3TMAPI.UnitType.PPU, ProcessID, 0, &H1C1947C, PRESTIGE1) End If If PRESTIGES.Value = 2 Then Dim PRESTIGE2 As Byte() = New Byte() {&H2} PS3TMAPI.ProcessSetMemory(0, PS3TMAPI.UnitType.PPU, ProcessID, 0, &H1C1947C, PRESTIGE2) End If If PRESTIGES.Value = 3 Then Dim PRESTIGE3 As Byte() = New Byte() {&H3} PS3TMAPI.ProcessSetMemory(0, PS3TMAPI.UnitType.PPU, ProcessID, 0, &H1C1947C, PRESTIGE3) End If If PRESTIGES.Value = 4 Then Dim PRESTIGE4 As Byte() = New Byte() {&H4} PS3TMAPI.ProcessSetMemory(0, PS3TMAPI.UnitType.PPU, ProcessID, 0, &H1C1947C, PRESTIGE4) End If If PRESTIGES.Value = 5 Then Dim PRESTIGE5 As Byte() = New Byte() {&H5} PS3TMAPI.ProcessSetMemory(0, PS3TMAPI.UnitType.PPU, ProcessID, 0, &H1C1947C, PRESTIGE5) End If If PRESTIGES.Value = 6 Then Dim PRESTIGE6 As Byte() = New Byte() {&H6} PS3TMAPI.ProcessSetMemory(0, PS3TMAPI.UnitType.PPU, ProcessID, 0, &H1C1947C, PRESTIGE6) End If If PRESTIGES.Value = 7 Then Dim PRESTIGE7 As Byte() = New Byte() {&H7} PS3TMAPI.ProcessSetMemory(0, PS3TMAPI.UnitType.PPU, ProcessID, 0, &H1C1947C, PRESTIGE7) End If If PRESTIGES.Value = 8 Then Dim PRESTIGE8 As Byte() = New Byte() {&H8} PS3TMAPI.ProcessSetMemory(0, PS3TMAPI.UnitType.PPU, ProcessID, 0, &H1C1947C, PRESTIGE8) End If If PRESTIGES.Value = 9 Then Dim PRESTIGE9 As Byte() = New Byte() {&H9} PS3TMAPI.ProcessSetMemory(0, PS3TMAPI.UnitType.PPU, ProcessID, 0, &H1C1947C, PRESTIGE9) End If If PRESTIGES.Value = 10 Then Dim PRESTIGE10 As Byte() = New Byte() {&HA} PS3TMAPI.ProcessSetMemory(0, PS3TMAPI.UnitType.PPU, ProcessID, 0, &H1C1947C, PRESTIGE10) End If If PRESTIGES.Value = 11 Then Dim PRESTIGE11 As Byte() = New Byte() {&HB} PS3TMAPI.ProcessSetMemory(0, PS3TMAPI.UnitType.PPU, ProcessID, 0, &H1C1947C, PRESTIGE11) End If If PRESTIGES.Value = 12 Then Dim PRESTIGE12 As Byte() = New Byte() {&HC} PS3TMAPI.ProcessSetMemory(0, PS3TMAPI.UnitType.PPU, ProcessID, 0, &H1C1947C, PRESTIGE12) End If If PRESTIGES.Value = 13 Then Dim PRESTIGE13 As Byte() = New Byte() {&HD} PS3TMAPI.ProcessSetMemory(0, PS3TMAPI.UnitType.PPU, ProcessID, 0, &H1C1947C, PRESTIGE13) End If If PRESTIGES.Value = 14 Then Dim PRESTIGE14 As Byte() = New Byte() {&HE} PS3TMAPI.ProcessSetMemory(0, PS3TMAPI.UnitType.PPU, ProcessID, 0, &H1C1947C, PRESTIGE14) End If If PRESTIGES.Value = 15 Then Dim PRESTIGE15 As Byte() = New Byte() {&HF} PS3TMAPI.ProcessSetMemory(0, PS3TMAPI.UnitType.PPU, ProcessID, 0, &H1C1947C, PRESTIGE15) End If If PRESTIGES.Value = 16 Then Dim PRESTIGE16 As Byte() = New Byte() {&H10} PS3TMAPI.ProcessSetMemory(0, PS3TMAPI.UnitType.PPU, ProcessID, 0, &H1C1947C, PRESTIGE16) End If If PRESTIGES.Value = 17 Then Dim PRESTIGE17 As Byte() = New Byte() {&H11} PS3TMAPI.ProcessSetMemory(0, PS3TMAPI.UnitType.PPU, ProcessID, 0, &H1C1947C, PRESTIGE17) End If If PRESTIGES.Value = 18 Then Dim PRESTIGE18 As Byte() = New Byte() {&H12} PS3TMAPI.ProcessSetMemory(0, PS3TMAPI.UnitType.PPU, ProcessID, 0, &H1C1947C, PRESTIGE18) End If If PRESTIGES.Value = 19 Then Dim PRESTIGE19 As Byte() = New Byte() {&H13} PS3TMAPI.ProcessSetMemory(0, PS3TMAPI.UnitType.PPU, ProcessID, 0, &H1C1947C, PRESTIGE19) End If If PRESTIGES.Value = 20 Then Dim PRESTIGE20 As Byte() = New Byte() {&H14} PS3TMAPI.ProcessSetMemory(0, PS3TMAPI.UnitType.PPU, ProcessID, 0, &H1C1947C, PRESTIGE20) End If
Voilà voilà, sa sera tout je pense .
(Pour le C#, j'essayerai beaucoup plus tard car la j'ai pas assez de temps)
[/tab]
[tab=Credit]
thibault62118 (pour m'avoir apprit pleins de chose)
[/tab]