Ni ... puoi e non puoi.
La creazione di un processo avviene tramite la API CreateProcess che si aspetta un riferimento ad un file su disco dove risiede l'immagine dell'eseguibile.
Pero' si può fare (e mi risulta che sia stato fatto) tramite la API nativa ZwCreateProcess che pero' non e' documentata (almeno non completamente) e con un po' di codice "sporco" (nel senso di "non affidabile" ...).
La via migliore e' comunque quella di caricare in memoria una DLL ed eseguire le funzioni contenute eseguendole dinamicamente. Ovviamente, in questo caso, ci sono delle limitazioni.
Ultima modifica effettuata da theprogrammer il 29/04/2009 alle 0:10 |