Valor CFF explorer?

Iniciado por Danyfirex, 6 Agosto 2012, 18:49 PM

0 Miembros y 3 Visitantes están viendo este tema.

Danyfirex

#10
gracias por la explicación apuromafo practicamente lo que quiero hacer es lo uqe hace la tool de karmany.

pero no entiend eso de la suma

para calcular  el valor 1B0 lo hago a partir de los parametros que me muesta el cffexplorer?

RVA es (offset-PointertoRawdata)+ virtualaddress.

cual es el valor del offset?

es 00001000?

porque ahi en el cffexplorer lo ve en
virtualaddress= 00001000 y en Rae Address=00001000
uno de eso seria el valor del offset para hacer la formula de RVA?




apuromafo CLS

como se hace?, pues por algo crearon el pe header, por eso fly te comento lo que te decian, la tool te ayudara a entenderlo cuando lo nconozcas,

http://foro.elhacker.net/empty-t361927.0.html
http://foro.elhacker.net/empty-t346454.0.html
http://foro.elhacker.net/empty-t352495.0.html
http://foro.elhacker.net/empty-t356332.0.html

un script para offset
http://foro.elhacker.net/empty-t340094.0.html
cff explorer?
http://foro.elhacker.net/empty-t335659.0.html
ollydbg2
http://foro.elhacker.net/empty-t315911.0.html

temas en el foro
http://foro.elhacker.net/analisis_y_diseno_de_malware/taller_en_construccionsecciones_en_archivos_pe-t362515.0.html



pues realmente re-crear herramientas de edición PE, es complejo ,
por otro lado no entiendes la suma porque no conoces el encabezado PE, valor del offset? es 1B0, pero linealmente dicen que el PE es 00 los primeros valores serian el magic (pe header)...luego asi suma y sigue...
hay un puntero donde comienza el pe, y ahi comienza enlistar las secciones,
por otro lado digamos que cff explorer va de mas a menos (magic )...hasta luego ver la cantidad de secciones, luego imagesize y luego confirma cada puntero, ahora porque creo esa opcion cff?,es por si alguien quiere cambiarle el nombre de forma hexadecimal, y no necesariamente mediante tools (desde ahi renombrar y listo)
no es para otra cosa

por otro lado la suma , digamos que el lugar dependerá de que herramienta uses, usando la tool de karmany solo colocas el 1B0 y hex, nada mas confirmas que seria la imagebase+offset

respecto a cff explorer seria 1B0h en el editor hexadecimal, respecto a ollydbg seria  go to 400000 y luego special PE header y luego go to expresion 4001B0
por ejemplo


00400184   00100000     DD 00001000          ;  VirtualAddress = 1000
00400188   00C40600     DD 0006C400          ;  SizeOfRawData = 6C400 (443392.)
0040018C   00040000     DD 00000400          ;  PointerToRawData = 400

sabemos que la imagebase es 400000 si quiero saber el tamaño  en ollydbg veo con alt+m
Citar
Address    Size       Owner      Section    Contains      Type   Access    Initial   Mapped as
00400000   00001000   aleatori              PE header     Imag   R         RWE
00401000   0006D000   aleatori   .text      SFX,code      Imag   R         RWE
0046E000   00001000   aleatori   .data      data          Imag   R         RWE
0046F000   00005000   aleatori   .rdata                   Imag   R         RWE
00474000   00007000   aleatori   .bss                     Imag   R         RWE
0047B000   00001000   aleatori   .idata     imports       Imag   R         RWE
0047C000   00001000   aleatori   /4                       Imag   R         RWE
0047D000   00001000   aleatori   /19                      Imag   R         RWE
0047E000   00004000   aleatori   /35                      Imag   R         RWE
00482000   00001000   aleatori   /47                      Imag   R         RWE
00483000   00001000   aleatori   /61                      Imag   R         RWE
00484000   00001000   aleatori   /73                      Imag   R         RWE
00485000   00001000   aleatori   /86                      Imag   R         RWE
00486000   00002000   aleatori   /97                      Imag   R         RWE
00488000   00001000   aleatori   /108                     Imag   R         RWE


realmente es tema de ir paso a paso viendo herramientas como los que explican en los tutoriales de izelion y luego ir explorando poco a poco a traves de lo antes escrito sobre el formato PE, o encabezado pe y asi suma y sigue

es un largo paso, que muchos crackers normalmente dejan en manos de las herramientas que ya existen :D
saludos Apuromafo

Danyfirex

#12
muchas gracias tus rápidas respuesta.

lo que yo quiero hacer es conocer el offset en mi archivo de la parte de la PE que yo seleccione como lo hace Cffexplorer en este caso mostrándome  1B0. es que estoy haciendo una herramienta, pero quiero obtener el offset en algun exe. a pero no se si lo puedo obtener a partir de los parámetros de la cabecera.



una captura de loo que llevo.

perdon por liarme  y liarte.

hay alguna forma de obtener la ubicación 1B0 a partir de parámetros mostrados en la PE.


gracias por todo el material que me anexas me los voy a leer.

apuromafo CLS

sip, donde leiste el puntero del nombre, pero creeme, no sera nada facil, si no te complementas con la ing inversa sobre todo en el depurado..y comparando los detalles

lo que encuentro complicado es lo que viene...digamos que logras todos los detalles, y todas las secciones, lo que sigue es como el proyecto de sirpe....
http://guandedio.no-ip.org/sirpe.html

saludos Apuromafo

Danyfirex

Cita de: apuromafo en  7 Agosto 2012, 23:59 PM
sip, donde leiste el puntero del nombre, pero creeme, no sera nada facil, si no te complementas con la ing inversa sobre todo en el depurado..y comparando los detalles

lo que encuentro complicado es lo que viene...digamos que logras todos los detalles, y todas las secciones, lo que sigue es como el proyecto de sirpe....
http://guandedio.no-ip.org/sirpe.html

saludos Apuromafo

no entiendo  como obtener el offset de ubicacion de la sección. como lo hace CFF Explorer.

apuromafo CLS

como obtuviste el nombre (.text) y los otros, simplemente es eso, la direccion,

Danyfirex

Cita de: apuromafo en  8 Agosto 2012, 00:22 AM
como obtuviste el nombre (.text) y los otros, simplemente es eso, la direccion,

Trabajo con autoit. lo que hago es crear la estructura.

la relleno. y luego obtengo los datos de la estructura.

pero en ninguna parte veo la forma de obtener el offset.


MCKSys Argentina

La estructura PE es muy simple. En el caso de las secciones, tienes los valores Virtual y los Raw. Los Raw son offsets en el file. Los virtuales son despues de haber mapeado en memoria.

Como te dije antes, el formato PE explica todo...

Saludos!
MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."


Danyfirex

Cita de: MCKSys Argentina en  8 Agosto 2012, 00:56 AM
La estructura PE es muy simple. En el caso de las secciones, tienes los valores Virtual y los Raw. Los Raw son offsets en el file. Los virtuales son despues de haber mapeado en memoria.

Como te dije antes, el formato PE explica todo...

Saludos!

ya me he leído varias veces pero todavía no lo capto.

como otener :S el offset. ese valor 000001B0  no se de donde sale :S

apuromafo CLS

de donde comienza el pe, y comienza la sección .text,  (el puntito ), .text ese es el lugar dentro del PE header... donde comienza esa sección

me extraña como es posible automatizar ver algo sin pasar por el peheader