1. Analyse des faits
Peu de personnes connaissent l'une des particularités de la bibliothèque GNU libc qui consiste à être exécutable. En effet, il est possible de l'exécuter tel que nous le ferions avec un binaire standard. Anciennement localisé dans le répertoire /lib, elle est désormais placée dans un sous-répertoire /lib/i386-linux-gnu comme l'indique l'inspection avec ldd d'un binaire :
$ ldd /bin/grep
libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb76a8000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb74ff000)
/lib/ld-linux.so.2 (0xb76e2000)
$ ls -alH /lib/i386-linux-gnu/libc.so.6
-rwxr-xr-x 1 root root 1730024 janv. 28 13:30 libc.so.6
$ file /lib/i386-linux-gnu/libc-2.15.so
/lib/i386-linux-gnu/libc-2.15.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), BuildID[sha1]=0x006e0da0b3591a57f8cc9013d07dd253b8e81f2d, for GNU/Linux 2.6.24, stripped
On peu aussi observer un point d'entrée localisé à l'adresse 0x19630 mais...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première