Ir al contenido
Menú principal
Menú principal
mover a la barra lateral
ocultar
Navegación
Página principal
Cambios recientes
Página aleatoria
Ayuda sobre MediaWiki
Buscar
Buscar
español
Apariencia
Crear una cuenta
Acceder
Herramientas personales
No has accedido
Discusión
Contribuciones
Crear una cuenta
Acceder
Edición de «
Executable and Linkable Format
»
Página
Discusión
español
Leer
Editar
Editar código
Ver historial
Herramientas
Herramientas
mover a la barra lateral
ocultar
Acciones
Leer
Editar
Editar código
Ver historial
General
Lo que enlaza aquí
Cambios relacionados
Información de la página
Apariencia
mover a la barra lateral
ocultar
Advertencia:
no has iniciado sesión. Tu dirección IP se hará pública si haces cualquier edición. Si
inicias sesión
o
creas una cuenta
, tus ediciones se atribuirán a tu nombre de usuario, además de otros beneficios.
Comprobación antispam. ¡
No
rellenes esto!
{{Infobox file format |nombre = ELF |captura = Elf-layout--en.svg |pie = Capa de un archivo ELF |extensión = <tt>none, .axf, .bin, .o, .so, .elf, .prx, .puff, .ko, .mod</tt> |mime = |desarrollador = [[Unix System Laboratories]] |género = [[Archivo binario|Binario]], [[ejecutable]], [[código objeto|objeto]], [[biblioteca compartida]], [[volcado de memoria]] |número_mágico = 0x7F 'E' 'L' 'F' <!--(firma hexadecimal: 7F 45 4C 46)--> |contenedor_para = |contenido_por = Algunos formatos binarios ejecutables |extendido_de = |extendido_a = |estándar = |abierto = }} En [[informática]], el formato '''Extensible Linkable Format''' ('''ELF''', anteriormente llamado '''Extensible Linking Format'''), es un [[formato de archivo]] estándar común para archivos [[Ejecutable|ejecutables]], [[código objeto]], [[bibliotecas compartidas]] y [[volcados de núcleo]]. Publicado por primera vez en la especificación para la [[Interfaz binaria de aplicaciones]] (ABI) de la versión del sistema operativo [[Unix]] llamada [[System_V#SR4|System V Release 4 (SVR4)]], y más tarde en el Tool Interface Standard, fue rápidamente aceptado entre los diferentes proveedores de sistemas [[Unix]]. En 1999, fue elegido como el formato de archivo binario estándar para Unix y sistemas [[Unix-like]] en procesadores [[x86]] por el proyecto [[86open]]. Por diseño, el formato ELF es flexible, extensible y [[multiplataforma]]. Por ejemplo, admite diferentes [[endianness]] y tamaños de dirección, por lo que no excluye ninguna [[unidad central de procesamiento]] (CPU) o [[arquitectura del conjunto de instrucciones]]. Esto ha permitido que sea adoptado por muchos [[Sistema operativo|sistemas operativos]] diferentes en muchas [[Plataformas digitales|plataformas]] de [[hardware]] diferentes. {{quote box| <syntaxhighlight lang="hexdump" inline> 00000000 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 |.ELF............| </syntaxhighlight> <syntaxhighlight lang="hexdump" inline> 00000010 02 00 3e 00 01 00 00 00 c5 48 40 00 00 00 00 00 |..>......H@.....| </syntaxhighlight> |Ejemplo hex dump de un encabezado de archivo ELF<ref>{{cita web|url=https://pygments.org/docs/lexers/#lexers-for-hexadecimal-dumps |título = Available lexers — Pygments}}</ref> |width = 55% }} == Estructura == Dentro del formato ELF podemos distinguir varias partes.<ref> {{ Cita web |url = https://linux-audit.com/elf-binaries-on-linux-understanding-and-analysis/ |título = The 101 of ELF files on Linux: Understanding and Analysis |fechaacceso = 16 de mayo de 2019 | apellidos = Boelen |nombres = Michael |fecha = 1 de julio de 2018 |sitioweb = Linux Audit |idioma = en |cita = A common misconception is that ELF files are just for binaries or executables. We already have seen they can be used for partial pieces (object code). Another example is shared libraries or even core dumps (those core or a.out files). The ELF specification is also used on Linux for the kernel itself and Linux kernel modules. | formato = html | urlarchivo = https://web.archive.org/web/20190428085237/https://linux-audit.com/elf-binaries-on-linux-understanding-and-analysis/#the-anatomy-of-an-elf-file | fechaarchivo = 28 de abril de 2019}}</ref> En primer lugar la cabecera ELF, que contiene información general sobre el ejecutable. En él se indican las posiciones de las tablas de cabeceras de sección y cabeceras de programa. Cada una de estas cabeceras indican dónde se encuentran los datos de cada una de las secciones. Las cabeceras de programa definen las regiones del ejecutable o [[biblioteca (informática)|bibliotecas]] que es necesario cargar para crear la imagen del proceso e iniciar su ejecución. Las cabeceras de sección contienen información importante para el enlazado y la relocalización. Las secciones tienen nombres que suelen coincidir en todos los sistemas. Ejemplos de secciones son: '''.data''' Contiene datos inicializados del programa. '''.debug''' Contiene información para ayudar a la [[Depuración de programas|depuración]]. '''.ctors''' Contiene punteros a constructores de C++. '''.dtors''' Contiene punteros a destructores de C++. '''.dynamic''' Contiene información relevante para el enlazado dinámico. '''.dynsym''' Contiene la tabla de símbolos para el enlazado dinámico. '''.fini''' Contiene código de finalización del programa. '''.init''' Contiene código de inicialización del programa. '''.shstrtab''' Contiene una tabla de strings con los nombres de las secciones. '''.strtab''' Contiene una tabla de strings normalmente usada para nombrar los elementos de la tabla de símbolos. '''.symtab''' Contiene una tabla de símbolos. '''.text''' Contiene la parte ejecutable de un programa. == Herramientas == *<code>readelf</code> es un programa UNIX que muestra la información sobre un archivo ELF. Está implementado bajo licencia GPL en las [[GNU Binary Utilities]]. == Véase también == * [[Anexo:Comparación de formatos de archivos ejecutables]] * [[DWARF]] – un formato para depurar datos == Referencias == {{Listaref}} == Enlaces externos == * [https://web.archive.org/web/20060912114007/http://pdos.csail.mit.edu/6.828/2005/readings/elf.pdf Especificación ELF Versión 1.2] {{Control de autoridades}} [[Categoría:Formatos de archivos informáticos]] [[Categoría:Formatos de archivos ejecutables]] [[Categoría:Software para Unix]]
Resumen:
Al guardar los cambios aceptas los
términos de uso
y liberas de forma irrevocable tu contribución conforme a los términos de las licencias
licencia CC BY-SA 4.0
y
GFDL
. Aceptas igualmente que un hipervínculo o URL es atribución suficiente conforme a la licencia Creative Commons.
Cancelar
Ayuda de edición
(se abre en una ventana nueva)
Buscar
Buscar
Edición de «
Executable and Linkable Format
»
Añadir idiomas
Añadir tema