Dichiarazione di non responsabilità: sto facendo questa domanda esclusivamente a scopo didattico.
 Sto cercando di concatenare alcune chiamate di funzione usando la programmazione orientata al rendimento, sfruttando un binario vulnerabile che usa   strcpy()   . Una di queste chiamate di funzione dovrebbe essere una chiamata a   system()    (per eseguire qualche comando di shell). Sfortunatamente, l'indirizzo di   system()    contiene un byte   NULL    che guiderà per   strcpy()    per interrompere la copia del payload una volta osservato questo byte. 
La mia domanda quindi è: qual è l'approccio migliore per risolvere questo problema?
 Ho già controllato la libc per funzioni simili a   system()   , ma non ho trovato nulla. Un'altra mia idea sarebbe quella di chiamare   fork()   ,   exec()    e   wait()    successivamente. Ciò tuttavia aumenterebbe la complessità del payload.