• STATISTIQUES
  • Il y a eu un total de 4 membres et 6602 visiteurs sur le site dans les dernières 24h pour un total de 6 606 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
  • [FR] apprendre-a-manipuler
    Site d'apprentissage de la manipulation d'autrui.
    Hacking
    [EN] w3challs
    Ce site propose différents types de défis informatiques: piratage, craquage, cryptographie, stég...
    Hacking
    [EN] Security Traps
    Site de challenge qui prétend être construit non pas dans le but de parfaire vos connaissances, mais plutôt dan...
    Challenges
    [FR] Forum-Webmaster
    Une communauté webmaster pour apporter / recevoir de l'aide en création de site internet. Webmaster...
    Webmaster
    [EN] hax.tor
    50 level de challenges mélangés
    Challenges
    [FR] InfoMirmo
    Apprentissage de l'informatique par l'intermédiaire de challenges de sécurité. Venez app...
    Hacking
    [EN] Astalavista
    JavaScript: 1, Exploit: 2, Crypto: 34, CrackIt: 15, Stegano: 8, Programming: 12, Logic: 36, Special: 6, Science: 4, Info...
    Challenges

  • 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 En 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 En 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 En 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 770 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 : 3 visiteur(s)
N-PN
Accueil | Challenges | Tutoriels | Téléchargements | Forum | Retourner en haut