• STATISTIQUES
  • Il y a eu un total de 3 membres et 6609 visiteurs sur le site dans les dernières 24h pour un total de 6 612 personnes!


    1 membre s'est inscrit dans les dernières 24h!


    Membres: 2 609
    Discussions: 3 580
    Messages: 32 820
    Tutoriels: 78
    Téléchargements: 38
    Sites dans l'annuaire: 58


  • ANNUAIRE
  • [EN] Lost-chall
    Site de challenge présenté sous la forme de différente saison. Pour passer une saison vous devez avoir accumulÃ...
    Challenges
    [EN] wechall
    Pour les gens n'étant pas familiers avec les sites de challenges, un site de challenges est un site propos...
    Hacking
    [FR] WeChall
    Audio: 3, Coding: 11, Cracking: 9, Crypto: 18, Encoding: 11, Exploit: 44, Forensics: 1, Fun: 6, HTTP: 6, Image: 8, Java:...
    Challenges
    [FR] µContest
    µContest est un site de challenges de programmation, c'est à dire qu'il propose des épreu...
    Hacking
    [EN] Hack This Site
    Hack This Site est considéré comme un réel terrain d'entraînement légal pour le...
    Hacking
    [EN] Hack this site
    Basic: 11, Realistic: 17, Application: 18, Programming: 12, Extbasic: 14, Javascript: 7, Stego: 17
    Challenges
    [FR] Asp-php
    Tutoriaux sur ASP, PHP, ASP.net, XML, SQL, Javascript, HTML, VML - Scripts et ressources pour webmasters - Forums d&#...
    Programmation

  • DONATION
  • Si vous avez trouvé ce site internet utile, nous vous invitons à nous faire un don du montant de votre choix via Paypal. Ce don servira à financer notre hébergement.

    MERCI!

    €



Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Process windows
26-10-2016, 16h16 (Modification du message : 26-10-2016, 16h21 par supersnail.)
Message : #1
skii Hors ligne
Newbie
*



Messages : 19
Sujets : 4
Points: 3
Inscription : Sep 2012
Process windows
Bonjour,

J'ai une petite question à vous posez, j'ai fais une méthode qui me permet d'afficher tout les pid de mes processus, mais aussi le nom de mes pid. Voilà mon code

Code C :

int ordinateur::enumThread(){
    DWORD id[1024], nb;
    int i;
    if ( !EnumProcesses( id, sizeof(id), &nb ) ){
        return 0;
    }
    for(i=1;i<(nb / sizeof(DWORD));i++){
        char nom[PATH_MAX] = "<Impossible>";
        HANDLE process = OpenProcess( PROCESS_QUERY_INFORMATION | PROCESS_VM_READ,FALSE, id[i] );
        if(NULL != process){
            HMODULE hMod;
            DWORD cbNeeded;

            if ( EnumProcessModules( process, &hMod, sizeof(hMod),
                 &cbNeeded) )
            {
                GetModuleBaseName( process, hMod, nom,
                                   sizeof(nom)/sizeof(char) );
            }
        }
        cout << nom << " pid : " << id[i] << endl;
        CloseHandle( process );
    }

}
 


Le souci, c'est que j'ai bien le pid de tout les programmes, mais je n'ai pas le nom de ces pid, j'en est quelques un, comme le nom de mon projet, spootify et autre, mais je n'ai pas chrome, svhost et plein d'autre processus qui tournent. Est-ce une question de droit ? sachant qu'avec PROCESS_ALL_ACCESS, j'ai le même souci.

Merci d'avance pour l'aide !
+1 (0) -1 (0) Répondre
26-10-2016, 16h21
Message : #2
supersnail Hors ligne
Éleveur d'ornithorynques
*******



Messages : 1,610
Sujets : 72
Points: 466
Inscription : Jan 2012
RE: Process windows
Bonjour,

Peut-être qu'un GetLastError pourrait nous donner une indication sur ce qui cloche (via un code d'erreur cryptique :p). Accessoirement GetModuleBaseName va taper dans le PEB du process cible à coup de ReadProcessMemory, du coup en plus des problèmes de droit d'accès à la mémoire, tu peux éventuellement avoir des problèmes avec du 32/64 bits.

Néanmoins, je suppose que https://msdn.microsoft.com/fr-fr/library...s.85).aspx pourrait également t'intéresser Wink
Mon blog

Code :
push esp ; dec eax ; inc ebp ; and [edi+0x41],al ; dec ebp ; inc ebp

"VIM est merveilleux" © supersnail
+1 (1) -1 (0) Répondre
26-10-2016, 16h39
Message : #3
skii Hors ligne
Newbie
*



Messages : 19
Sujets : 4
Points: 3
Inscription : Sep 2012
RE: Process windows
En effet, je viens d'utiliser getlasterror(), l'erreur qui reviens est la numéro 5, access denied, mais aussi 6, the handle is invalid et pour finir, j'ai beaucoup d'erreur 299, Only part of a ReadProcessMemory or WriteProcessMemory request was completed.

Je vais regarder les liens que tu m'as donné. Merci pour la réponse.
+1 (0) -1 (0) Répondre
26-10-2016, 16h48
Message : #4
supersnail Hors ligne
Éleveur d'ornithorynques
*******



Messages : 1,610
Sujets : 72
Points: 466
Inscription : Jan 2012
RE: Process windows
Tu peux aussi t'inspirer du code venant de ReactOS (clone de Windows), qui implémente justement un listing des process :]. Par exemple, https://doxygen.reactos.org/db/db8/tlist_8c_source.html Smile
Mon blog

Code :
push esp ; dec eax ; inc ebp ; and [edi+0x41],al ; dec ebp ; inc ebp

"VIM est merveilleux" © supersnail
+1 (0) -1 (0) Répondre
26-10-2016, 17h38 (Modification du message : 26-10-2016, 17h38 par skii.)
Message : #5
skii Hors ligne
Newbie
*



Messages : 19
Sujets : 4
Points: 3
Inscription : Sep 2012
RE: Process windows
En effet, j'ai regardé le code, va falloir que je trie un peux, mais bien embêtant ce qu'il faut faire juste pour récupérer les processus ^^!

Merci.

EDIT: Voilà la solution que j'ai choisi :

Code :
HANDLE WINAPI CreateToolhelp32Snapshot(
        DWORD dwFlags,
        DWORD th32ProcessID
    );
    HANDLE hSnapShot=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);

    BOOL WINAPI Process32Next(
        HANDLE hSnapshot,
        LPPROCESSENTRY32 lppe
    );
    PROCESSENTRY32* processInfo=new PROCESSENTRY32;
    processInfo->dwSize=sizeof(PROCESSENTRY32);
    cout<< "Name : ";
    while(Process32Next(hSnapShot,processInfo)!=FALSE)
    {
        cout<<" Process ID: "<<processInfo->th32ProcessID;
        cout<<endl<<" Name: "<<processInfo->szExeFile;
    }
    CloseHandle(hSnapShot);
+1 (0) -1 (0) Répondre
26-10-2016, 17h45
Message : #6
supersnail Hors ligne
Éleveur d'ornithorynques
*******



Messages : 1,610
Sujets : 72
Points: 466
Inscription : Jan 2012
RE: Process windows
C'est la solution la plus facile, toute la tuyauterie interne est planquée par iphlpapi, mais c'est moins rigolo du coup :]
Mon blog

Code :
push esp ; dec eax ; inc ebp ; and [edi+0x41],al ; dec ebp ; inc ebp

"VIM est merveilleux" © supersnail
+1 (0) -1 (0) Répondre
26-10-2016, 18h43
Message : #7
skii Hors ligne
Newbie
*



Messages : 19
Sujets : 4
Points: 3
Inscription : Sep 2012
RE: Process windows
(26-10-2016, 17h45)supersnail a écrit : C'est la solution la plus facile, toute la tuyauterie interne est planquée par iphlpapi, mais c'est moins rigolo du coup :]

Oui, mais je suis sur un gros projet, et je ne suis pas un expert en C++ :d.
+1 (0) -1 (0) Répondre


Sujets apparemment similaires…
Sujet Auteur Réponses Affichages Dernier message
  [C-HELP] Malware Process Detecting sakiir 9 519 09-11-2013, 10h32
Dernier message: sakiir
  Memory Editing / GameHacking - Windows sakiir 18 768 22-05-2013, 14h31
Dernier message: gruik
  [C] [Win32] Injection de DLL dans un process avant son initialisation supersnail 4 381 26-03-2013, 23h27
Dernier message: fr0g

Atteindre :


Utilisateur(s) parcourant ce sujet : 2 visiteur(s)
N-PN
Accueil | Challenges | Tutoriels | Téléchargements | Forum | Retourner en haut