IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Besoin d'aide pour convertir du code C en C++ (Write Process Memory)


Sujet :

C++

  1. #1
    Futur Membre du Club
    Homme Profil pro
    �tudiant
    Inscrit en
    Novembre 2022
    Messages
    3
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 31
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Novembre 2022
    Messages : 3
    Par d�faut Besoin d'aide pour convertir du code C en C++ (Write Process Memory)
    Bonjour � tous,

    Comme dis dans le titre, j'ai besoin d'aide car j'ai du code en C et j'aurais besoin de le convertir en C++ sauf que �a fais 2 jours que je bloque...

    C'est pour ecrire dans la memoire du pc (write process memory). Je suis m�me pr�t a payer si quelqu'un peux m'aider.

    Je ne sais pas si c'est la bonne section pour demander de l'aide?

    j'aurais besoin de convertir:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    public void WriteArray(int Pointer, string Value)
    {
    m.WriteMemory((Pointer).ToString("x"), "bytes", Value);
    }
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    public bool WriteMemory(string code, string type, string write, string file = "", Encoding stringEncoding = null, bool RemoveWriteProtection = true)
            {
                byte[] array = new byte[4];
                int num = 4;
                UIntPtr code2 = GetCode(code, file);
                if (code2 == UIntPtr.Zero || code2.ToUInt64() < 65536)
                {
                    return false;
                }
     
                if (type.ToLower() == "float")
                {
                    write = Convert.ToString(float.Parse(write, CultureInfo.InvariantCulture));
                    array = BitConverter.GetBytes(Convert.ToSingle(write));
                    num = 4;
                }
                else if (type.ToLower() == "int")
                {
                    array = BitConverter.GetBytes(Convert.ToInt64(write));
                    num = 4;
                }
                else if (type.ToLower() == "byte")
                {
                    array = new byte[1] { Convert.ToByte(write, 16) };
                    num = 1;
                }
                else if (type.ToLower() == "2bytes")
                {
                    array = new byte[2]
                    {
                        (byte)(Convert.ToInt32(write) % 256),
                        (byte)(Convert.ToInt32(write) / 256)
                    };
                    num = 2;
                }
                else if (type.ToLower() == "bytes")
                {
                    if (write.Contains(",") || write.Contains(" "))
                    {
                        string[] array2 = ((!write.Contains(",")) ? write.Split(' ') : write.Split(','));
                        int num2 = array2.Count();
                        array = new byte[num2];
                        for (int i = 0; i < num2; i++)
                        {
                            array[i] = Convert.ToByte(array2[i], 16);
                        }
     
                        num = array2.Count();
                    }
                    else
                    {
                        array = new byte[1] { Convert.ToByte(write, 16) };
                        num = 1;
                    }
                }
                else if (type.ToLower() == "double")
                {
                    array = BitConverter.GetBytes(Convert.ToDouble(write));
                    num = 8;
                }
                else if (type.ToLower() == "long")
                {
                    array = BitConverter.GetBytes(Convert.ToInt64(write));
                    num = 8;
                }
                else if (type.ToLower() == "string")
                {
                    array = ((stringEncoding != null) ? stringEncoding.GetBytes(write) : Encoding.UTF8.GetBytes(write));
                    num = array.Length;
                }
     
                Imps.MemoryProtection oldProtection = (Imps.MemoryProtection)0u;
                bool flag = false;
                if (RemoveWriteProtection)
                {
                    ChangeProtection(code, Imps.MemoryProtection.ExecuteReadWrite, out oldProtection, file);
                }
     
                flag = Imps.WriteProcessMemory(mProc.Handle, code2, array, (UIntPtr)(ulong)num, IntPtr.Zero);
                if (RemoveWriteProtection)
                {
                    ChangeProtection(code, oldProtection, out var _, file);
                }
     
                return flag;
            }

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    WriteArray(obj + 0xc1781, "B1 0" + Convert.ToInt32(nmKill.Text).ToString("X") + " 00 00 00");

    Infos: nmKill.Text = listbox dynamic qui donne les infos des joueurs en jeux

  2. #2
    R�dacteur/Mod�rateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 153
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 38
    Localisation : Canada

    Informations professionnelles :
    Activit� : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 153
    Billets dans le blog
    4
    Par d�faut
    Ce truc n'est pas du C mais du C# et nous ne r�alisons pas les exercices, encore moins contre r�mun�ration.
    Pensez � consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation r�seau ?
    Aucune aide via MP ne sera dispens�e. Merci d'utiliser les forums pr�vus � cet effet.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    �tudiant
    Inscrit en
    Novembre 2022
    Messages
    3
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 31
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Novembre 2022
    Messages : 3
    Par d�faut
    Citation Envoy� par Bousk Voir le message
    Ce truc n'est pas du C mais du C# et nous ne r�alisons pas les exercices, encore moins contre r�mun�ration.

    Oui je me suis tromper c'est du C#. Un exercice?? Ce n'est pas un exercice, simplement un ami a moi qui ma donner du code sauf qu'il est en C# et j'ai besoin de l'avoir en C++..

  4. #4
    Expert confirm�
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    F�vrier 2005
    Messages
    5 503
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 5 503
    Par d�faut
    Le code est "compliqu�" parce que c'est du C# et qu'on utilise une API native donc "export� e C".
    Cela est extr�mement plus simple en C++ car l'utilisation d'une API "export� en C".
    Le code C# utilise une couche d'abstraction que vous nous fournissez pas.
    Mais en C++ vous n'avez pas besoin d'une couche d'abstraction, utilisez directement l'API du syst�me que vous voulez hacker.

    Pour Windows :
    https://learn.microsoft.com/en-us/wi...eprocessmemory
    https://learn.microsoft.com/en-us/wi...ecommendations

  5. #5
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    La grosse majorit� de ce code consiste � parser des donn�es re�ues sous forme de string (probablement dans des textbox de ce qui semble �tre un cheat engine) et le convertir en tableau de bytes.
    Selon tes besoins (non-sp�cifi�s ici), il est possible qu'on puisse s'en passer. Dans tous les cas, il serait mieux d'avoir �a dans une fonction s�par�e de celle qui fait l'appel � WriteProcessMemory() (s�paration de responsabilit�).
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

Discussions similaires

  1. Besoin d'aide pour convertir un code python
    Par Just-Soft dans le forum Langage
    R�ponses: 6
    Dernier message: 09/06/2019, 15h44
  2. [D�butant] Besoin d'aide pour restructurer mon code autour de l'objet Process
    Par BasicZX81 dans le forum VB.NET
    R�ponses: 10
    Dernier message: 01/02/2014, 16h01
  3. [VB.NET] besoin d'aide pour d�chiffrer un code
    Par pcdj dans le forum Windows Forms
    R�ponses: 10
    Dernier message: 27/06/2006, 11h32
  4. Besoin d aide pour comprendre un code
    Par litlebasic dans le forum Delphi
    R�ponses: 4
    Dernier message: 22/06/2006, 13h00
  5. Je besoin d'aide pour terminer mon code
    Par Paulinho dans le forum C++
    R�ponses: 7
    Dernier message: 06/11/2005, 23h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo