Sovrascrittura di un sistema C dopo exec? [chiuso]

0

Quindi ho usato wrap per scavalcare la chiamata malloc nel mio programma, non pensavo che se eseguissi un altro avrebbe funzionato, e non lo fece. Immagino che questo sia perché non era collegato al mio programma. Come potrei sovrascrivere una chiamata C in un altro programma? Esempio:

void* __wrap_malloc(size_t size) {
    void* mal = __real_malloc(size);
    printf("malloced %i @ %i\n", size, mal);
    return mal;
}
int main(int argc, char *argv[]) {
    malloc(1024);
    execl("/bin/bash", "/bin/bash", (char *) NULL);
    return 0;
}
    
posta JavaProphet 16.11.2015 - 05:07
fonte

1 risposta

0

Definisci una variabile di ambiente LD_PRELOAD per puntare a una libreria condivisa che sostituisce le funzioni richieste.

Vedi link

    
risposta data 16.11.2015 - 05:23
fonte

Leggi altre domande sui tag