J'ai un binaire exécutable; appelons ça a.out
. Je peux voir que le binaire contient des chaînes
$ strings a.out
...
/usr/share/foo
....
Je dois changer la chaîne /usr/share/foo
en /usr/share/bar
. Puis-je simplement remplacer la chaîne par sed
?:
sed -i 's@/usr/share/foo@/usr/share/bar@' a.out
Cela ressemble à une chose sûre à faire. Cela fonctionnera-t-il également lorsque les cordes ne sont pas de la même longueur?
sed -i 's@longstring@foo@' a.out
? Cela rendra le binaire entier plus petit de 7 octets, cela ne corrompra-t-il pas le binaire?