xANTRHACKx
Membre
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]