2012-01-12 17 views
6

So che è possibile intercettare una chiamata di sistema utilizzando ptrace. Ma quello che voglio fare è ignorare una chiamata di sistema. Così è possibile per ptrace intercettare una chiamata di sistema, vedere il suo numero e se il numero è di una chiamata di sistema che deve essere ignorata, lo ptrace interrompe la chiamata di sistema dal procedere o fa ritornare immediatamente la chiamata di sistema.Ignorare una chiamata di sistema

Il punto è che dovremmo avere l'effetto di fare in modo che l'applicazione ignori determinate chiamate di sistema usando ptrace.

risposta

3

Si può provare PTRACE_GETREGS e PTRACE_SETREGS.
Se si modifica eip dopo la chiamata di sistema e eax per rendere valido il valore restituito, la chiamata potrebbe essere saltata.
Ma non l'ho provato, e non sarei sorpreso se non funzionasse.

+0

Cambiare eip dopo la chiamata di sistema! Non è facile amico mio :(! – MetallicPriest

+3

@MettalicPriest: non è facile, ma per cambiare il comportamento del programma precostituito, avrai bisogno di andare in giro con gli interni del suo stato macchina. –

Problemi correlati