El Formato del Archivo Portable Ejecutable (PE) de Arriba a abajo

Páginas: 32 (7968 palabras) Publicado: 21 de junio de 2014
El Formato del Archivo
Portable Ejecutable (PE) de
Arriba a abajo
Titulo Original :
[ The Portable Executable File Format from Top to Bottom ]

Randy Kath
Microsoft Developer Network Technology Group
Created: June 12, 1993

Traducido por / Translated by
e-mail
web site
Creado el

: Henry Juarez Vargas
: hjuarezv@hotmail.com
: http://www.zoftcoder.com
: 02 de Febrero del 2002 2

Estructura de los archivos PE
El formato de los archivos PE esta organizado como un flujo lineal de datos. Empieza con una cabecera MSDOS, un programa stub del modo-real, y una firma del archivo PE. Inmediatamente sigue una cabecera de
archivo PE y una cabecera opcional. Mas allá de eso, todas las cabeceras de las secciones aparecen, seguidas
por todos los cuerpos de las secciones.Cerrando fuera del archivo con otras secciones de información
misceláneas, incluyendo información de relocalización, tabla de información de símbolos, numero de líneas de
información, y tabla de cadena de datos. Todo esto lo entenderá mas fácilmente viendo el gráfico, como muestra
en la figura 1.

Figura 1. Estructura de un Portable Ejecutable archivo imagen
Iniciando con la estructura delMS-DOS, cada uno de los componentes en el archivo PE es discutido debajo en
el orden en que estos ocurren en el archivo. Muchas de estas discusiones están basadas en el código ejemplo
que es tomado desde el archivo PEFILE.C, el modulo fuente para PEFILE.DLL. Cada uno de estos ejemplos
toman ventaja de uno de los mas frescos rasgos de Windows NT, archivos mapeados en memoria. Los archivos
mapeadosen memoria permiten el uso de simples punteros de referencia para accesar a los datos contenidos
del archivo. Cada uno de los ejemplos usan mapeos de archivos a memoria para accesar a los datos en los
archivos PE.
Nota: Refiérase a la sección al final de este articulo para una discusión de cómo usar PEFILE.DLL.

3

MS-DOS/Modo-Real Header
Como se mencionó anteriormente, el primercomponente en el archivo PE es el MS-DOS header. El MS-DOS
header no es nuevo para los archivos PE. Este es el mismo MS-DOS header que tienen desde la versión 2 del
MS-DOS. La principal razón para mantener la misma estructura intacta al inicio del archivo PE es para que,
cuando usted desee cargar un archivo creado bajo Windows versión 3.1 o anterior, o MS-DOS versión 2 o
superior, el sistemaoperativo pueda leer el archivo y entienda que este no es compatible. En otras palabras,
cuando usted intente correr un archivo ejecutable Windows NT en MS-DOS versión 6.0, usted obtendrá este
mensaje: “Este programa no puede correr en modo DOS”. Si el MS-DOS header no fuera incluido como la
primera parte de los archivos PE, el sistema operativo habría simplemente fallado al tratar de cargar elarchivo
y cargar algo completamente inútil, como por ejemplo: “El nombre especificado no se reconoce como un
comando interno o externo, programa o archivo por lotes ejecutable”.
El MS-DOS header ocupa los primeros 64 bytes del archivo PE. Una estructura representa su contenido y se
describe abajo:
WINNT.H
typedef struct _IMAGE_DOS_HEADER { // DOS .EXE header
USHORT e_magic;
// Magic numberUSHORT e_cblp;
// Bytes on last page of file
USHORT e_cp;
// Pages in file
USHORT e_crlc;
// Relocations
USHORT e_cparhdr;
// Size of header in paragraphs
USHORT e_minalloc;
// Minimum extra paragraphs needed
USHORT e_maxalloc;
// Maximum extra paragraphs needed
USHORT e_ss;
// Initial (relative) SS value
USHORT e_sp;
// Initial SP value
USHORT e_csum;
// Checksum
USHORT e_ip;// Initial IP value
USHORT e_cs;
// Initial (relative) CS value
USHORT e_lfarlc;
// File address of relocation table
USHORT e_ovno;
// Overlay number
USHORT e_res[4];
// Reserved words
USHORT e_oemid;
// OEM identifier (for e_oeminfo)
USHORT e_oeminfo;
// OEM information; e_oemid specific
USHORT e_res2[10];
// Reserved words
LONG
e_lfanew;
// File address of new exe header
}...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • los de arriba y abajo
  • el zoro de arriba y el zorro de abajo
  • Portable ejecutable Resumen
  • El zorro de arriba y el zorro de abajo
  • El zorro de arriba de abajo
  • Abajo o arriba de la linea
  • Zorro Arriba Y Zorro Abajo
  • Dos arriba y una abajo

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS