• 10 Juillet 2025, 03:28:36


Auteur Sujet: [SA] Life "tool"  (Lu 4991 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne UZI-I

  • BinaryIPL Manager
  • *
  • Grand Banditisme
  • http://www.yoa2n.fr
  • Messages: 825
    • Voir le profil
    • Yoa2n.fr
Re : [SA] Life "tool"
« Réponse #15 le: 27 Mars 2009, 23:32:51 »
Moi j'te conseille le C#...
Ou le C++ .Net mais bon...

Hors ligne [viruz]rider_77

  • *
  • Mafioso
  • C/C++ programming
  • Messages: 2154
    • Voir le profil
Re : [SA] Life "tool"
« Réponse #16 le: 27 Mars 2009, 23:53:51 »
D'accord, jusqu'ici il m'a toujours été payant de te faire confiance. De plus, il est beaucoup mieux d'utiliser soi-même les fonctions, que d'avoir un framework comme Qt qu'il l'a déjà fait pour toi. Finalement, avec Qt, il faut avoir 4-5 DLL qui font environ 500mo au total. Personne voudra télécharger mes créations :P

Donc, je vais m'orienter vers C#. Ce sera un peu plus de boulot, mais ce sera beaucoup mieux.

Petite question, est-ce que je devrais finir d'apprendre le C++ (il me reste à approfondir la surcharge d'opérateurs, à voir l'héritage et à voir les éléments statiques et constants).


EDIT: J'aurais un petit problème, auquel tu, ou bien Syg, pouvez me répondre par msn ou encore sur le topic.
J'ai voulu lire à adresse mémoire du processus de GTA, mais ce fut sans succès.
En gros, je veux lire à l'adresse CPed +0x544 et ensuite écrire à l'adresse mémoire du pointeur sur la vie de CJ le résultat de ma lecture de mémoire précédente.

Voici le lien: http://pastebin.com/m37de93cc
« Modifié: 28 Mars 2009, 04:20:10 par [viruz]rider_77 »

Hors ligne UZI-I

  • BinaryIPL Manager
  • *
  • Grand Banditisme
  • http://www.yoa2n.fr
  • Messages: 825
    • Voir le profil
    • Yoa2n.fr
Re : [SA] Life "tool"
« Réponse #17 le: 28 Mars 2009, 09:34:23 »
Parce que t'as tout faux sur la lecture :P
Tu lis @ ( 0xB6F5F0+0x544 )
Or 0xB6F5F0 n'est pas l'adresse de base de l'objet CPed mais bel et bien l'adresse qui contient l'adresse de la base. (Un pointeur quoi)


=)

Pour le C#, techniquement il est pas plus leger que Qt puisqu'il utilise la framework .NET. Une application dotnet n'est pas une application stand alone et ne s'execute pas toute seule, elle est executer par une machine virtuelle, comme Java par exemple.

Qt c'est un ensemble de lib avec plein de fonction (trop) mais qui reste quand meme interessant si tu veut rester dans du purement C / C++

Quant a ce qu'il te manque comme cours, tu les apprendra en temps voulu, quand tu bloquera dessus. Il est inutile de lire un cours entier, on le retient jamais, il faut y aller progressivement et assimiler chaque choses en son temps.

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : [SA] Life "tool"
« Réponse #18 le: 19 Avril 2009, 16:34:06 »
Salut je me suis aider du code de rider avec les amelioration, seul probleme quand j' appuye sur la tuche la vie augmente bien de 100 mais .... la barre de vie devient toute petite  :lmao


je vous donne le code ne vous occuper pas du keybind avec



#include <stdlib.h>
#include <cstdlib>
#include <iostream>
#include <windows.h>
#include <stdio.h>
#include <conio.h>


using namespace std;
void SetHealth(float fHealth, DWORD ProcessId);
int main(int argc, char *argv[])
{
    const SHORT Mask = 32768;
int bContinue = 1;
   
HWND hWnd;
DWORD ProcessId;


   /* On recherche l'ID du process */

while(bContinue)
{
if (GetKeyState(0x31) & Mask)
{
Sleep(100);
keybd_event(0x54,0,0,0);
keybd_event(0x54,0,KEYEVENTF_KEYUP,0);
keybd_event(0x6F,0,0,0);
keybd_event(0x6F,0,KEYEVENTF_KEYUP,0);
keybd_event(0x54,0,0,0);
keybd_event(0x54,0,KEYEVENTF_KEYUP,0);
keybd_event(0x41,0,0,0);
keybd_event(0x41,0,KEYEVENTF_KEYUP,0);
keybd_event(0x5A,0,0,0);
keybd_event(0x5A,0,KEYEVENTF_KEYUP,0);
keybd_event(0x45,0,0,0);
keybd_event(0x45,0,KEYEVENTF_KEYUP,0);
keybd_event(0x52,0,0,0);
keybd_event(0x52,0,KEYEVENTF_KEYUP,0);
keybd_event(0x0D,0,0,0);
keybd_event(0x0D,0,KEYEVENTF_KEYUP,0);
cout<<"Commande /tazer vient d' etre binder"<<endl;
}
if (GetKeyState(0x73) & Mask)
{
hWnd = FindWindow (NULL, "GTA: San Andreas");
Sleep(100);
if (hWnd == NULL)
   {
  printf ("Erreur, jeu non lance\n");
   }
   else{
GetWindowThreadProcessId (hWnd, &ProcessId);
SetHealth(100, ProcessId);
   }
}
}

     return 0;
}
void SetHealth(float fHealth, DWORD ProcessId)
{
HANDLE hProcess;
DWORD BytesWritten = 0, OldProtect =0;
   
printf ("ProcessId = %d", ProcessId);
      hProcess = OpenProcess (PROCESS_VM_WRITE+PROCESS_VM_OPERATION, FALSE, ProcessId);
   if (hProcess == INVALID_HANDLE_VALUE)
   {
      printf ("Erreur d'ouverture du process : %d\n", GetLastError ());
      return;
   }

   if (VirtualProtectEx (hProcess, (VOID *)0xB793E0, 4, PAGE_READWRITE, &OldProtect) == 0)
   {
      printf ("Erreur protection memoire : %d\n", GetLastError ());
      CloseHandle (hProcess);
      return;
   }


   if (WriteProcessMemory (hProcess, (VOID *)0xB793E0, &fHealth, 4, &BytesWritten) ==0)
   {
      printf ("Erreur d'écriture : %d\n", GetLastError ());
   }

   CloseHandle (hProcess);
}



EDIT: ajout du screen
Aussi on ne peut augmenter la vie qu' une fois



Probleme resolu merci UZI-I
« Modifié: 19 Avril 2009, 19:51:34 par sasuke78200 »



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne [viruz]rider_77

  • *
  • Mafioso
  • C/C++ programming
  • Messages: 2154
    • Voir le profil
Re : [SA] Life "tool"
« Réponse #19 le: 19 Avril 2009, 22:53:21 »
Petit UP pour dire que le trainer ne verra jamais le jour en version GUI (fenêtre).
C'était seulement quelques apprentissages :D

Je suis content que mon code aille servi à quelqu'un :D

++
Rider_77

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : [SA] Life "tool"
« Réponse #20 le: 20 Avril 2009, 13:49:43 »
lol moi aussi ca m' as servit pour m' enrichir, je l utilise pas comme vrai trainer lol, l' erreur etait juste que je m' etait tromper d' adresse j' ai changer le stats de vie max au lieu de changer le niveau de vie



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne [viruz]rider_77

  • *
  • Mafioso
  • C/C++ programming
  • Messages: 2154
    • Voir le profil
Re : Re : [SA] Life "tool"
« Réponse #21 le: 20 Avril 2009, 23:20:40 »
lol moi aussi ca m' as servit pour m' enrichir, je l utilise pas comme vrai trainer lol, l' erreur etait juste que je m' etait tromper d' adresse j' ai changer le stats de vie max au lieu de changer le niveau de vie
Oui j'ai vu ça :P
J'avais fait la même  :laugh