impone che tutti i processi utente siano precostituiti

2

Sto implementando uno strumento basato su ptrace per registrare l'uso delle chiamate di sistema. È molto più semplice di strace, ma lo sto facendo per imparare come funzionano questi strumenti. Mi piacerebbe tracciare tutti i processi utente da quando sono stati creati. Può essere raggiunto con ptrace?

    
posta Lehrling 01.04.2013 - 00:43
fonte

1 risposta

0

Nuovi processi vengono creati con chiamate di sistema, ovvero fork() , vfork() e clone() . In questi giorni, le funzioni C corrispondenti a queste chiamate sono implementate con una chiamata sottostante a clone() (la chiamata di sistema effettiva, vista dal kernel), ma le altre due chiamate di sistema sono ancora lì e potrebbero essere invocate da qualsiasi processo con un semplice pezzo di assemblaggio.

Per tracciare tutti i processi utente, devi solo usare ptrace() e intercettare queste chiamate, in modo da poterti collegare ai nuovi processi immediatamente dopo la loro creazione. Ecco come funziona strace .

    
risposta data 01.04.2013 - 15:19
fonte

Leggi altre domande sui tag