2010-01-01 13 views
23

Ho pensato che un processo non può leggere la memoria di un altro processo. Ma sono scioccato nel vedere un'applicazione denominata "WinHex" che ha "Ram Editor" ed è in grado di accedere all'intera memoria. di tutti i processi.Come è possibile accedere alla memoria di altri processi?

Com'è possibile? Ed è anche in grado di modificare la memoria di altri processi. Non diventa malizioso?

+5

Se hai i privilegi giusti puoi leggere e scrivere qualsiasi cosa. –

+3

Puoi fare la stessa cosa con quasi tutti i debugger ... di nuovo, sempre che tu abbia i diritti richiesti. – itowlson

+0

Vedere http://www.codeproject.com/KB/threads/MDumpAll.aspx –

risposta

0

Se si esegue come amministratore, è possibile ottenere i privilegi per leggere tutta la memoria; sembra che WinHex stia facendo questo per tuo conto.

Hai provato questo su un account più limitato?

1

Bene, questa è una delle cose che un processo con i privilegi di destra, concessi dal sistema operativo, in grado di fare. I processi non possono accedere alla memoria di altri processi in linea di principio. In pratica, il sistema operativo sottostante di solito offre questo meccanismo ai processi privilegiati.

21

In tutti i casi, lo strumento utilizza ReadProcessMemory o qualche variante, che richiede l'accesso PROCESS_VM_READ.

Per quanto riguarda il commento "malevolo", ricordare che l'utente (o il processo che richiama questa API, che probabilmente richiede autorizzazioni a livello di amministratore) ha già il controllo totale sulla macchina. Il gioco di sicurezza è già perso a questo punto.

+9

OMG !! Non l'ho mai saputo. Dovrei immediatamente cambiare il mio a un livello inferiore di previlage. Immagino che questo sia il motivo per cui hanno aggiunto le opzioni di conferma utente in Vista & Windows 7. – Alice

2

L'accesso alla memoria di altri processi è un gioco da ragazzi.
È anche possibile utilizzare Windows Driver Kit per accedere e modificare tutto.

Partenza per esempio rootkits vedere come fragile è il sistema operativo quando non limitare i privilegi di programmi.

+0

'ReadProcessMemory o qualche variante, che richiede l'accesso PROCESS_VM_READ'.1. Sarà incluso in Windows Driver Kit? 2. Questi programmi verranno eseguiti in modalità kernel per l'acquisizione dell'intera memoria? – Alice

+0

@Alice, WDK è un'API aggiuntiva. Con esso hai accesso agli oggetti/modalità del kernel. Se vuoi veramente capire e immergerti nel funzionamento interno del sistema operativo, ti consiglio 3 libri che ho: http://www.amazon.com/Microsoft-Windows-Internals-4th-Server/dp/B002DMJTXM/ref=sr_1_2? ie = UTF8 & s = books & qid = 1262422127 & sr = 1-2 http://www.amazon.com/Reversing-Secrets-Engineering-Eldad-Eilam/dp/0764574817/ref=sr_1_1?ie=UTF8&s=books&qid=1262422077&sr=8-1 http://www.amazon.com/Rootkits-Subverting-Windows-Greg-Hoglund/dp/0321294319/ref=sr_1_1?ie=UTF8&s=books&qid=1262422162&sr=1-1 –

Problemi correlati