begin process at 2012 05 29 20:50:05
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

Shell

 > 

Problème avec WriteProcessMemory() ....


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème avec WriteProcessMemory() ....

dimanche 20 août 2006 à 20:56:00 | Problème avec WriteProcessMemory() ....

MorbhAck

Hello World !

J'ai un ptit problème avec la fonction WriteProcessMemory().
mon code est le suivant :

    HWND Wnd;                          // Hwnd de notre fenêtre
    LPDWORD PID;                        // Id du processus
    DWORD Proc;                       // Id du thread
    HANDLE Hproc;                       // Handle du processus
    DWORD Addr = 0x0000000 ;    // Addresse mémoire trouvée
    DWORD MWritte;
    BYTE PATCH[] = "\x90\x90\x90\x90"; // Notre patch (des NOP)

    Wnd = FindWindow(NULL,"mon prog");
    if(Wnd){
        Proc= GetWindowThreadProcessId(Wnd,(LPDWORD) &PID);
        if(Proc){
            Hproc= OpenProcess(PROCESS_ALL_ACCESS,NULL,(DWORD)PID);
            if(Hproc){
                if(WriteProcessMemory (Hproc, (LPVOID)Addr, PATCH, 3, &MWritte)){
                    MessageBox(hWindow,"Ecriture effectué !", "Succes", MB_OK|MB_ICONINFORMATION);
                }
            }
            else MessageBox(hWindow,"Ouverture du processus IMPOSSIBLE !", "Error", MB_OK|MB_ICONERROR);
        }
        else MessageBox(hWindow,"Process ID non trouvé !", "Error", MB_OK|MB_ICONERROR);
    }
    else MessageBox(hWindow,"NameWindow nom trouvé", "Error", MB_OK|MB_ICONERROR);


PUIS LA QUAND JE LANCE MON PROG IL SE PASSE RIEN DU TOUT
JE COMPRENDS PAS POURQUOI ! IL SE PASSE RIEN MAIS ALORS
RIEN DU TOUT !

Je ne vois pas ou est le problème ??!!
Aidez moi s'il vous plait !
dimanche 20 août 2006 à 21:16:17 | Re : Problème avec WriteProcessMemory() ....

wxccxw

Membre Club
Réponse acceptée !
addr 0x00000000 n'existe pas ^^^^ et tu sure des Nop, comprend tu l'asm et aussi

          if(WriteProcessMemory (Hproc, (LPVOID)Addr, PATCH, 3, &MWritte)){
                    MessageBox(hWindow,"Ecriture effectué !", "Succes", MB_OK|MB_ICONINFORMATION);

est inutile car MWritte contien le nom de Bits ecrite si sa marche
donc if(MWritte!=4) est plus correct.

sinon le system de recuperer le handle par le nom de la fenetre est perimee, utilise le nom de l'exe, tu fais un Enum Process jusqu'a ce que sa soit egale a mon prog.exe.

deplus BYTE Patch devrait mieux etre BYTE Patch[4] = .....


dimanche 20 août 2006 à 21:18:08 | Re : Problème avec WriteProcessMemory() ....

wxccxw

Membre Club
aussi, juste un truc ^^ ta pas de procedure main();


dimanche 20 août 2006 à 21:36:35 | Re : Problème avec WriteProcessMemory() ....

SAKingdom

Membre Club
GetWindowThreadProcessId(Wnd,(LPDWORD) &PID);

GetWindowThreadProcessId demande simple DWORD en second paramètre pour stocker le PID c'est juste qu'il lui faut sont adresse. Donc il faut faire comme suit:

DWORD PID;
GetWindowThreadProcessId(Wnd, &PID);

C++ (@++)
___________________________________________
Les plus grands esprits trouvent toujours une solution
Forum de débats sur la programmation

dimanche 20 août 2006 à 21:39:12 | Re : Problème avec WriteProcessMemory() ....

SAKingdom

Membre Club
En réalité, ce qu'il faut en second paramètre de GetWindowThreadProcessId c'est une adresse. Faire &PID va donner l'adresse de PID et donc, la fonction stockera la valeur à la location du second paramètre.

C++ (@++)
___________________________________________
Les plus grands esprits trouvent toujours une solution
Forum de débats sur la programmation

dimanche 20 août 2006 à 21:52:45 | Re : Problème avec WriteProcessMemory() ....

MorbhAck

>>wxccxw
Oui je suis sur de vouloir Nopper, je comprend un tout ptit peu lassambleur

BYTE Patch[4] <- erreur de compilation

Puis je vais essayer de tester le
if(MWritte!=4)
dimanche 20 août 2006 à 21:54:53 | Re : Problème avec WriteProcessMemory() ....

MorbhAck

Ah oui sa marche !
MERCI ! MERCI !


lundi 21 août 2006 à 00:40:22 | Re : Problème avec WriteProcessMemory() ....
lundi 21 août 2006 à 00:41:32 | Re : Problème avec WriteProcessMemory() ....

wxccxw

Membre Club
fait les separer par des virgules

BYTE Nop4Bytes[4] = {0x90,0x90,0x90,0x90);






Cette discussion est classée dans : problème, dword, mb, writeprocessmemory, wnd


Répondre à ce message

Sujets en rapport avec ce message

Problème de cast [ par ksandy ] Bonjour, J'ai une interface graphique de communication série. Pour cela j'ai besoin de renseigner la vitesse de communication (Baud Rate). Mon port s' Problème de Thread [ par F0ra ] bonjourje réalise une application en openGl, et j'ai besoin d'un Threadpourquoi mon Thread ne s'exécute pas ?merci beaucoup@+ #include "main.h"DWORD W Changer son adresse IP (sans redémarrer et sous XP/Seven) [ par ledaziarn ] Bonjour a tous, Mon problème parait simple mais je n’aie pas trouvé de réponse, en tout cas pas qui répondent a ma problématique Pour simplifier l problème avec pow [ par patatracq1 ] [color=red]Patrick DUBOIS[/color][color=orange][/color] bonjour à tous , voici mon problème , j'ai utilisé pow pour calculer la puissance d'un nombr DnsQuery, hook et detours [ par wxccxw ] Bonjour, j'ai ecrit une dll que j'injecte dans IE ou firefox pour savoir l'host qu'il demande a charger afin de filtrer. voici donc le code [code=cp problème sur une création de classe [ par simonpelloquin ] Bonjour, Je bloque sur un problème de définition de classe et ça commence à me prendre la tête. Est-ce que vous pourriez m'indiquer ce qui ne vas pas Problème de connexion ODBC sous Windows 7 [ par nico_44 ] Bonjour à toutes et à tous, Je developpe en VC++ 2005 une application qui se connecte via ODBC à une base Access 2003. Quel que soit l'OS, en local problème de flow shop par la méthode tabou [ par soumayadghim ] je suis besoins d'un code en c qui peut m'approcher le problème de flow shop d'ordonnancement Taches-Machines en utilisant la méthode Tabou.si quelqu'


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,463 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales