Inicio > Procesamiento y búsqueda de texto > strings

strings: Extraer cadenas de archivos binarios

El comando strings es una herramienta para extraer cadenas de texto legibles por humanos de archivos binarios (ejecutables, bibliotecas, etc.). Es útil para depurar programas, analizar malware o verificar rápidamente el contenido de archivos desconocidos.

Descripción general

Los archivos binarios están compuestos por código de 0 y 1 que la computadora ejecuta directamente, y al abrirlos con un editor de texto normal, aparecen como caracteres corruptos. El comando `strings` busca y extrae cadenas de texto de cuatro o más caracteres imprimibles consecutivos dentro de estos archivos binarios. Esto permite identificar información útil como mensajes de error, rutas de archivos, URL o valores de configuración incluidos en el archivo binario.

Características principales

Las características principales del comando strings son las siguientes:

  • Extrae cadenas legibles por humanos de archivos binarios.
  • Por defecto, busca cadenas de 4 o más caracteres imprimibles consecutivos.
  • Soporta varias codificaciones de caracteres (ASCII, UTF-16, etc.).
  • Es útil para identificar nombres de bibliotecas o información de configuración utilizada por los programas.

Campos de aplicación de strings

strings se puede utilizar en una variedad de campos más allá de la simple verificación de archivos.

  • Análisis de malware: Extrae información como direcciones de servidores C&C, nombres de archivos y llamadas a la API de binarios de malware.
  • Depuración: Encuentra mensajes de error o cadenas de depuración incrustadas en archivos ejecutables para resolver problemas.
  • Análisis de archivos desconocidos: Cuando la extensión de un archivo es incierta, se puede usar strings para verificar el texto interno y estimar la naturaleza del archivo.

Opciones principales

Hemos agrupado las principales opciones del comando strings según su propósito.

1) Opciones de extracción

2) Ayuda

Comando generado:

Combina los comandos.

Descripción:

`strings` Ejecutando el comando.

Combina las opciones anteriores para ejecutar virtualmente los comandos junto con la IA.

Ejemplos de uso

Familiarícese con las funciones del comando strings a través de varios ejemplos de uso.

Extracción de cadenas básicas de un archivo binario

strings /usr/bin/top

Extrae cadenas con la configuración predeterminada (4 o más caracteres) del archivo binario `/usr/bin/top`.

Extraer solo cadenas más largas

strings -n 8 /usr/bin/top

Utiliza la opción `-n` para extraer solo cadenas de 8 o más caracteres.

Mostrar cadenas y desplazamiento hexadecimal juntos

strings -t x /usr/bin/top

La opción `-t x` muestra el desplazamiento hexadecimal de inicio de cada cadena dentro del archivo. Útil para el análisis binario.

Uso con la tubería (|)

strings /usr/bin/top | grep error

Extrae y verifica solo las cadenas que contienen 'error' del archivo `/usr/bin/top`.

Extracción de cadenas con codificación UTF-16

strings -e l /path/to/binary

Utiliza la opción `-e` para extraer cadenas con codificación UTF-16. `l` significa little-endian, `b` significa big-endian.

Instalación

strings forma parte del paquete `binutils`, que se incluye por defecto en la mayoría de las distribuciones de Linux. No se requiere una instalación separada.

Debian/Ubuntu

sudo apt update
sudo apt install -y binutils

RHEL/CentOS/Fedora

sudo dnf install -y binutils

Consejos y precauciones

Aquí hay algunos puntos a tener en cuenta al usar el comando strings.

Consejos

  • `strings` proporciona información mucho más limpia y útil que ejecutar `cat` en archivos binarios. `cat` puede mostrar contenido binario directamente, lo que podría dañar el terminal.
  • Las cadenas extraídas pueden contener saltos de línea o espacios, por lo que conectarlas con `grep`, `awk`, etc., para un procesamiento adicional, puede hacerlas más útiles.

comandos relacionados

Son comandos que son funcionalmente similares o que se usan juntos con frecuencia.


Comandos de la misma categoría