Aperçu
Les fichiers binaires sont composés de code binaire (0 et 1) que l'ordinateur exécute directement. Lorsqu'ils sont ouverts avec un éditeur de texte standard, ils apparaissent comme des caractères corrompus. La commande `strings` recherche et extrait les séquences d'au moins 4 caractères imprimables consécutifs dans ces fichiers binaires, les présentant sous forme de texte. Cela permet d'identifier des informations utiles telles que des messages d'erreur, des chemins de fichiers, des URL ou des valeurs de configuration incluses dans le fichier binaire.
Caractéristiques principales
Voici les principales caractéristiques de la commande strings :
- Extrait les chaînes de caractères lisibles par l'homme des fichiers binaires.
- Recherche par défaut les séquences d'au moins 4 caractères imprimables consécutifs.
- Prend en charge diverses encodages de caractères (ASCII, UTF-16, etc.).
- Utile pour identifier les noms de bibliothèques ou les informations de configuration utilisées par un programme.
Domaines d'application de strings
strings peut être utilisé dans divers domaines, au-delà de la simple vérification de fichiers.
- Analyse de logiciels malveillants: Extrait des informations telles que les adresses de serveurs C&C, les noms de fichiers ou les appels d'API des binaires de malwares.
- Débogage: Trouve les messages d'erreur ou les chaînes de débogage inclus dans les exécutables pour résoudre des problèmes.
- Analyse de fichiers inconnus: Lorsque l'extension d'un fichier est incertaine, strings permet de vérifier son texte interne pour en estimer la nature.
Options principales
Les options principales de la commande strings sont regroupées par objectif.
1) Options d'extraction
2) Aide
Commande générée :
Essayez de combiner les commandes.
Description:
`strings` Exécute la commande.
Essayez d'exécuter virtuellement les commandes avec l'IA en combinant les options ci-dessus.
Exemples d'utilisation
Explorez les différentes utilisations de la commande strings à travers ces exemples.
Extraction de chaînes de caractères de base à partir d'un fichier binaire
strings /usr/bin/top
Extrait les chaînes de caractères (4 caractères ou plus par défaut) du fichier binaire `/usr/bin/top`.
Extraire uniquement les chaînes plus longues
strings -n 8 /usr/bin/top
Utilise l'option `-n` pour extraire uniquement les chaînes de 8 caractères ou plus.
Afficher les chaînes et l'offset hexadécimal
strings -t x /usr/bin/top
L'option `-t x` affiche l'offset hexadécimal de chaque chaîne dans le fichier. Utile pour l'analyse binaire.
Utilisation avec un pipe (|)
strings /usr/bin/top | grep error
Extrait et affiche uniquement les chaînes contenant `error` du fichier `/usr/bin/top`.
Extraction de chaînes encodées en UTF-16
strings -e l /path/to/binary
Utilise l'option `-e` pour extraire les chaînes encodées en UTF-16. `l` signifie little-endian et `b` signifie big-endian.
Installation
strings fait partie du paquet `binutils` et est inclus par défaut dans la plupart des distributions Linux. Aucune installation supplémentaire n'est généralement nécessaire.
Debian/Ubuntu
sudo apt update
sudo apt install -y binutils
RHEL/CentOS/Fedora
sudo dnf install -y binutils
Astuces et précautions
Voici quelques points à noter lors de l'utilisation de la commande strings.
Astuces
- `strings` fournit des informations beaucoup plus claires et utiles que l'exécution de `cat` sur un fichier binaire. `cat` affiche le contenu binaire brut, ce qui peut corrompre votre terminal.
- Les chaînes extraites peuvent contenir des sauts de ligne ou des espaces. Pour une utilisation plus efficace, vous pouvez les traiter davantage en les pipant avec des outils comme `grep` ou `awk`.