[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [HS] Patche de binaires ?




On 9/19/23 14:40, ptilou wrote:
Slt,

Je me demande si il existe des lectures pour savoir comment manipuler des binaires et puis de les patchers ?

Je sais qu'il y a des personnes qui sont capable de lire le binnaire ( en plus de programmes qui font du reverse et modifie les fichiers encapsules !), et donc j'aimerai apprendre les fondements de la technique a optimiser le binaire, que dois je lire (?) , je n'ai pas vue de question a ce sujet, je l'ai vue en action a la St Olivetti (optimiser le binaire) ...

Je me demande si seulement vous ne savez pas le faire, et que le patche kernel ou autre ce fait par script et comparaison du binaires sortie de compile avec diff ?


Je comprends qu'il s'agit de patcher des executables binaires (au format ELF).

Si le binaire est propriétaire, il y a des cas où c'est illégal. A voir avec son employeur ou avocat et la licence logicielle du binaire.

Si modifier un binaire est légal, c'est en pratique très compliqué. Si on peut lancer le binaire (sous gdb) c'est mieux. Car en pratique un binaire a des dépendances (utiliser /usr/bin/ldd pour les découvrir, voir aussi les greffons chargés par https://man7.org/linux/man-pages/man3/dlopen.3.html ...).

Si on peut arrêter un processus exécutant ce binaire, voir aussi https://man7.org/linux/man-pages/man5/proc.5.html


Un binaire sous Linux peut aussi et légitimement modifier son propre code .... https://asmjit.com/ et https://gcc.gnu.org/onlinedocs/jit/ et https://en.wikipedia.org/wiki/Self-modifying_code etc

(un exemple réaliste est https://sbcl.org/ ou http://refpersys.org/ ....)

Des outils comme https://sourceware.org/binutils/docs/binutils/readelf.html et https://binsec.github.io/ et  https://www.sourceware.org/gdb/ peuvent aider.

Ma préférence est pour le logiciel libre, et dans ce cas là, il est plus simple de recompiler le code source après l'avoir modifié.

-- 
Basile Starynkevitch                  <basile@starynkevitch.net>
(only mine opinions / les opinions sont miennes uniquement)
92340 Bourg-la-Reine, France
web page: starynkevitch.net/Basile/


Reply to: