Tengo un binario ejecutable; Digamos que es a.out
. Puedo ver que el binario contiene cadenas
$ strings a.out
...
/usr/share/foo
....
Necesito cambiar la cadena /usr/share/foo
a /usr/share/bar
. ¿Puedo simplemente reemplazar la cadena con sed
?:
sed -i 's@/usr/share/foo@/usr/share/bar@' a.out
Esto parece algo seguro para hacer. ¿Funcionará esto también cuando las cadenas no tengan la misma longitud?
sed -i 's@longstring@foo@' a.out
? Esto hará que todo el binario sea más pequeño en 7 bytes. ¿Esto no corromperá el binario?