Modifier un processus en mémoire

Soyez le premier à donner votre avis sur cette source.

Snippet vu 8 178 fois - Téléchargée 20 fois

Contenu du snippet

Ce code permet d'accéder à un processus actif et de modifier son contenu grace aux APIs ReadProcessMemory et WriteProcessMemory.
Have Fun
lilxam

Source / Exemple :


#include <iostream>
#include <windows.h>

#pragma comment(lib, "ws2_32.lib")
using namespace std;

int main()
{
    cout<<"\nReadProcessMemory\n\n\n";
    
    STARTUPINFO StartupInfo; //Structure STARTUPINFO
    memset(&StartupInfo, 0, sizeof(StartupInfo)); //On complète StartupInfo de 0
    
    PROCESS_INFORMATION ProcessInfo; //Structure PROCESS_INFORMATION
    memset(&ProcessInfo, 0, sizeof(ProcessInfo));
    
    char memread[100];
    char *cmdline;
    
    int offset = 0x400000; //On prend un offset de départ
    
    cmdline = GetCommandLine();    
    cout<<"Command Line : \n"<<cmdline<<"\n\n\n"; //Pour comprendre vous même l'utilitée de GetCommandLine()
    
    CreateProcess("programme.exe", cmdline, NULL, NULL, FALSE, NORMAL_PRIORITY_CLASS, NULL, NULL, &StartupInfo, &ProcessInfo); //On démarre le processus, notre programme
    cout<<"\n\nMemory Read : \n";
    while(ReadProcessMemory(ProcessInfo.hProcess, (LPVOID) offset, memread, 1, NULL)) //On lit son conten
    {
    
        printf("%d", memread[0]);
        offset ++; //On incrémente l'offset
        if(memread[0] == 0x0) //On remplace les 0 par des 1, aucune utilitée, c'est juste pour l'exemple
        {
                      WriteProcessMemory(ProcessInfo.hProcess, (LPVOID) offset, "0x1", 1, NULL);

        }
    }
    
    CloseHandle(ProcessInfo.hProcess);
    CloseHandle(ProcessInfo.hThread);
    
    system("pause");
    return 0;
}

A voir également

Ajouter un commentaire Commentaires
Messages postés
311
Date d'inscription
dimanche 23 février 2003
Statut
Membre
Dernière intervention
1 mai 2009

max12

pour ca il y a deja un logiciel qui existe. "TSearch"

Tu peut recherché et modifier tout valeur dans un processus en cours d'utilisation.
Messages postés
2
Date d'inscription
vendredi 30 septembre 2005
Statut
Membre
Dernière intervention
14 août 2007

Alors pour cette source bravo, ca m'aide beaucoup ! sinon j'ai essayé avec un programme de modifié les 0 avec les 1 et avec un if, j'ais vus qu'il n'y arrive pas c'est ce que me renvoie la fonction et pour etre sur je re "read" ca ne change rien...
Merci :)
Messages postés
3
Date d'inscription
jeudi 25 janvier 2007
Statut
Membre
Dernière intervention
30 avril 2007

salut y a t il quelqu'1 qui peut m'aider à realiser mon mini projet: Serveur FTP
Messages postés
1491
Date d'inscription
dimanche 19 novembre 2000
Statut
Modérateur
Dernière intervention
7 juillet 2014

Sa peut être pratique pour cheater dans les jeux :P
Messages postés
416
Date d'inscription
vendredi 31 janvier 2003
Statut
Membre
Dernière intervention
19 décembre 2013
2
Salut
wsock32 Winsock
ws2_32 Winsock 2
Afficher les 9 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.