En Unix , Plan 9 y sistemas operativos similares a Unix , el programa es una utilidad de línea de comandos que se utiliza para eliminar información no esencial de programas binarios ejecutables y archivos de objetos . Esta información, que no es necesaria para la ejecución , normalmente incluye datos de depuración , tablas de símbolos , información de reubicación y otros metadatos . Su propósito principal es reducir el tamaño del archivo del ejecutable binario y potencialmente aumentar el rendimiento. El resultado de este proceso se conoce como binario despojado .
strip
Descripción
stripes una utilidad binaria GNU que se utiliza para eliminar información de un archivo binario o de objeto compilado que no es necesaria para su ejecución . Esta información normalmente incluye información de depuración y tablas de símbolos ; sin embargo, el alcance exacto de los cambios realizados en el binario se deja a discreción del implementador del programa mediante el uso de las opciones de la línea de comandos . [1]
El uso stripde un binario puede mejorar la seguridad al dificultar la ingeniería inversa . La ausencia de símbolos e información de depuración complica el análisis del binario por parte del programa.
El efecto de striptambién se puede lograr directamente utilizando el compilador o enlazador para realizar el mismo proceso. Un compilador es un programa que traduce el código fuente escrito en un lenguaje de programación de alto nivel (como C o C++ ) en código de máquina que el procesador de la computadora puede ejecutar. Un enlazador, por otro lado, toma uno o más archivos de objeto generados por el compilador y los combina en un solo archivo ejecutable , resolviendo cualquier referencia de símbolo entre ellos. [2]
Por ejemplo, en la Colección de compiladores GNU (GCC), esto se hace utilizando la -sopción " ” con gcc. Esto le indica al enlazador que elimine la información de depuración y los símbolos durante el proceso de enlace, lo que da como resultado un ejecutable más pequeño y despojado. [2]
El Proyecto GNU distribuye una implementación de stripcomo parte del paquete GNU Binutils . stripha sido portado a otros sistemas operativos, incluido Microsoft Windows .
Véase también
- Eliminación de código muerto
- Compresión ejecutable
- Lista de comandos de Unix
- Cadenas (Unix)
- Símbolo de depuración
- Tabla de símbolos
Referencias
- ^ "Comando de eliminación de Linux". www.computerhope.com . Consultado el 1 de octubre de 2024 .
- ^ ab "¿Cuál es la diferencia entre el comando "gcc -s" y el comando "strip"?". Desbordamiento de pila . Consultado el 1 de octubre de 2024 .
- "strip", La especificación única de UNIX, versión 2, The Open Group, 1997
Enlaces externos
- – Referencia de shell y utilidades, la especificación única de UNIX , versión 4 de The Open Group
- – Manual del programador de Plan 9 , volumen 1