Duda Formato PE

Iniciado por x64core, 18 Mayo 2012, 05:30 AM

0 Miembros y 1 Visitante están viendo este tema.

x64core

Hola a todos bueno creí en pensar escribir mi tema aquí porque la gente de Ingenieria inversa sabe mucho sobre el formato PE, bueno ya e leido sobre el formato PE y veran e estado viendo mucho EXEs y por ejemplo hice este hola mundo que posteare el Hex y tengo una dudilla sobre algo...
(Perdon por lo publicarlo con geshis es que necesitaba resaltar lo de mi duda)

lo que esta en azul es la Section headers, para que puedan ubicarse más rapido
lo de rojo no entiendo de donde sale... quiero saber de donde sale lo de rojo ? si fuera por el FileAlignment solo fueran 200h bytes aquí en este ejecutable pero
hay más... exactamente son 448 bytes, luego lo demas entiendo todo ( lo de verde es la sección de codigo, y bla bla... no puse todo para no hacer
tanto desorden... :P )

hey gracias por la ayuda :)


000001A2 00 00 00 00 00 00 00 20 00 00 14 00 00 00 00 00 00 00 00 00 00 00 ....... ..............
000001B8 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2E 74 65 78 74 00 .................text.
000001CE 00 00 25 00 00 00 00 10 00 00 00 02 00 00 00 04 00 00 00 00 00 00 ..%...................
000001E4 00 00 00 00 00 00 00 00 20 00 00 60 2E 72 64 61 74 61 00 00 B6 00 ........ ..`.rdata....
000001FA 00 00 00 20 00 00 00 02 00 00 00 06 00 00 00 00 00 00 00 00 00 00 ... ..................
00000210 00 00 00 00 40 00 00 40 2E 64 61 74 61 00 00 00 2C 03 00 00 00 30 ....@..@.data...,....0
00000226 00 00 00 02 00 00 00 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
0000023C 40 00 00 C0
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @.....................
00000252 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
00000268 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
0000027E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
00000294 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
000002AA 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
000002C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
000002D6 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
000002EC 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
00000302 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
00000318 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
0000032E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
00000344 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
0000035A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
00000370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
00000386 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
0000039C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
000003B2 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
000003C8 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
000003DE 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
000003F4 00 00 00 00 00 00 00 00 00 00 00 00
6A 00 FF 15 04 20 40 00 6A 00 ............j.... @.j.
0000040A 68 00 30 40 00 68 00 30 40 00 6A 00 FF 15 0C 20 40 00 6A 00 FF 15 h.0@.h.0@.j.... @.j...
00000420 00 20 40 00 CC 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 . @...................
00000436 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
0000044C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
00000462 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
00000478 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
0000048E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
000004A4 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
000004BA 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
000004D0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
000004E6 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
000004FC 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
00000512 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
00000528 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
0000053E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
00000554 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
0000056A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
00000580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
00000596 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
000005AC 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
000005C2 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
000005D8 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
000005EE 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
6C 20 00 00 ..................l ..
00000604 7A 20 00 00 00 00 00 00 9C 20 00 00 00 00 00 00 08 30 40 00 60 30 z ....... .......0@.`0
0000061A 40 00 58 20 00 00 00 00 00 00 00 00 00 00 8E 20 00 00 00 20 00 00 @.X ........... ... ..
00000630 64 20 00 00 00 00 00 00 00 00 00 00 AA 20 00 00 0C 20 00 00 00 00 d ........... ... ....
00000646 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6C 20 00 00 ..................l ..
0000065C 7A 20 00 00 00 00 00 00 9C 20 00 00 00 00 00 00 19 01 45 78 69 74 z ....... ........Exit
00000672 50 72 6F 63 65 73 73 00 15 02 47 65 74 4D 6F 64 75 6C 65 48 61 6E Process...GetModuleHan
00000688 64 6C 65 41 00 00 4B 45 52 4E 45 4C 33 32 2E 64 6C 6C 00 00 0E 02 dleA..KERNEL32.dll....
0000069E 4D 65 73 73 61 67 65 42 6F 78 41 00 55 53 45 52 33 32 2E 64 6C 6C MessageBoxA.USER32.dll
000006B4 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
000006CA 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
000006E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
000006F6 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
0000070C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
00000722 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
00000738 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
0000074E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
00000764 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................

....

Иōҳ

Confirmando lo que sospechaba con un gran bro The Swash, ese especie de padding de 0s entre la section headers y el comienzo de la primera sección (casi siempre la de código), es generalmente para la Bound Import.

Saludos,
Nox.
Eres adicto a la Ing. Inversa? -> www.noxsoft.net

karmany

Es que lo suyo es analizarlo con un editor o visor de PE. Con el mismo OllyDBG 1.10 se puede hacer perfectamente.

Carga el ejecutable en OllyDBG 1.10 y en la ventana de dump ve a la dirección virtual donde se haya cargado el ejecutable y pulsa botón derecho → Special → PE header

De todos modos si The Swash te ha dicho que es tema de Bound Import, ya te lo puedes creer.

Иōҳ

Cita de: karmany en 18 Mayo 2012, 19:23 PM
De todos modos si The Swash te ha dicho que es tema de Bound Import, ya te lo puedes creer.

Sip, esa era la única lógica que le encontraba, y The Swash lo confirmó :P

Saludos,
Nox.
Eres adicto a la Ing. Inversa? -> www.noxsoft.net

x64core

gracias nox y karmany lo raro es que en el data directory la bound esta a cero... deberia de apuntar a esa direccion supongo...
tambien me di cuenta que sí no uso APIs osea no hay IAT no agrega esos bytes.. solo agrega una "linea" de 16 bytes... como un
separador? :| que curioso... hecho en VC

Иōҳ

Eres adicto a la Ing. Inversa? -> www.noxsoft.net

The Swash

Hola,
Generalmente ese espacio es utilizado por el BOUND_IMPORT_DIRECTORY, pero te preguntarás si mi ejecutable no está hecho en Visual Basic, y generalmente en otros lenguajes no aparece, ¿por qué tanto espacio?.

Y bueno, ese espacio es determinado por el SizeOfHeaders, que puedes reducirlo pero deberás alinear todos las secciones, en conclusión ese espacio sobra de lo que realmente se ocupa en la cabecera del ejecutable.

Un saludo,
The Swash.

apuromafo CLS

en caso que quieras ver tools aqui hay una que te recomiendo:
http://guandedio.no-ip.org/herramientas/descarga/73-sirpe.html

saludos Apuromafo