Comprendo che /proc
filesystem riflette l'output di vari processi. Sfortunatamente, ho un proprietario (romdump
) binario che si aspetta che la tabella di montaggio appaia come /proc/mtd
, mentre il mio dispositivo Android sembra emetterlo come /proc/mounts
.
Ho provato a creare un collegamento simbolico, ma chiaramente funziona solo per file o directory effettivi. Come posso ingannare questo binario per leggere l'output da /proc/mounts
invece di /proc/mtd
?
Risposta accettata:
Il modo più semplice per farlo sarebbe cambiare il binario:
sed s-/proc/mtd-/tmp/mntx- < romdump > romdump.new
ln -s /proc/mounts /tmp/mntx
./romdump.new
Il trucco qui, dal momento che stai modificando un binario, è assicurarti che la stringa originale /proc/mtd
ha la stessa lunghezza della nuova stringa /tmp/mntx
, in modo da non modificare le dimensioni o la posizione di nulla nel file binario.
Questo non è infallibile:non funzionerà se il binario costruisce il nome del percorso in pezzi anziché utilizzare una stringa fissa. Ma è probabile che faccia il trucco.