Costituito dai seguenti componenti principali:

  1. Eseguibile del processo: questa regione contiene l’eseguibile associato al file applicazione. Quando si fa doppio clic su un programma sul disco, viene creato un processo, e l’eseguibile associato al programma viene caricato nel processo memoria.
  2. Librerie collegate dinamiche (DLL): quando viene creato un processo, tutti i suoi associati Le DLL vengono caricate nella memoria del processo. Questa regione rappresenta tutte le DLL associato a un processo.
  3. Variabili di ambiente del processo: questa regione di memoria memorizza i file variabili d’ambiente, come directory temporanee, home directory, Directory AppData e così via.
  4. Heap del processo: questa regione specifica l’heap del processo. Ogni processo ha un singolo file heap e può creare heap aggiuntivi come richiesto. Questa regione specifica il input dinamico che il processo riceve.
  5. Stack thread: questa regione rappresenta l’intervallo dedicato della memoria di processo assegnato a ogni thread, chiamato il suo stack di runtime. Ogni thread ha il proprio stack, ed è qui che possono farlo gli argomenti delle funzioni, le variabili locali e gli indirizzi di ritorno
  6. Process Environment Block (PEB): questa regione rappresenta la struttura PEB, che contiene informazioni su dove viene caricato l’eseguibile, il suo percorso completo il disco e dove trovare le DLL in memoria. È possibile esaminare il contenuto di una memoria di processo utilizzando Process Hacker (https: / /processhacker. sourceforge. io /). Per farlo, avvia Process Hacker, fai clic con il pulsante destro del mouse su il processo desiderato, selezionare Proprietà e scegliere la scheda Memoria