Problemas Alineando PE

Iniciado por x64core, 12 Marzo 2012, 23:08 PM

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

x64core

Hola a todos bueno vengo a pedir ayuda porque tengo problemas con realinear la struct PE de un EXE
resulta que quiero cambiar el tamaño de la sección .text como estas son pruebas para mi aprendizaje
e escojido el notepad de win7 la info es esta:


como veis el tamaño es A800 pero antes de modificar la direcciones le agrego los 100h bytes con un editor hex al final de la sección
text bien el EXE queda corrompido es de esperar no :P ahora cambio las direcciones asi:


lo guardo y el ejecutable no vuelve al estado normal aparte que el AV me lo detecta xD
alguien me puede hechar una mano ya me lei unos cuantos tutos de PE quiza estoy olvidando algo :P gracias

Иōҳ

#1
Si dices que estás agregando, eso quiere decir que las secciones que le siguen no estarán en la misma dirección que antes un ejemplo.
Posición Valor


1 = a
2 = b
3 = c
4 = e
5 = g
6 = h


Si deseo AGREGAR..

1 = a
2 = b
3 = c
4 = e
5 = f
6 = g
7 = h

Entonces el valor g ya no está en la dirección 5 si no en la 6 porque agregué un valor, de igual manera, si mi sección text empieza en 1000h, y mi sección .data empieza en 2000h, y yo le agrego 1000h a mi sección .text, ahora mi sección .data empezaría en 3000h

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

x64core

@Nox:
Si Nox eso que creo que te refieres lo tome en cuenta, en la segunda imagen veis que agrege
100h a los punteros raw de las secciones posteriores a text  :P

MCKSys Argentina

Actualiza los Sizes Virtuales tambien...

Como vas a tener problemas con la alineacion de las secciones (granularidad), por las dudas, despues pasale LordPE.

Saludos!
MCKSys Argentina

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


x64core

Ya incremente la size virtual + 100h de text... solo esa habria que modificar no? :P
porque solo a esa le incremento bytes y aun sigue malo el EXE  :-\
como es eso de pasarle el LordPE? :P
intente con RebuilderPE y me lo detecto el AV :P

Иōҳ

Pues viendo la imagen, te faltaría arreglar el Virutal Size de la sección .text, y los Virtual Address de todas las secciones.

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

_Enko

Si es para agregar codigo, es mas facil agregar una sección nueva.
Luego hacer un jmp alli, o bien, cambiar el entry point a la sección nueva y luego cuando haga falta, hacer un jmp al entry point original.

apuromafo CLS

Cita de: _Enko en 13 Marzo 2012, 15:12 PM
Si es para agregar codigo, es mas facil agregar una sección nueva.
Luego hacer un jmp alli, o bien, cambiar el entry point a la sección nueva y luego cuando haga falta, hacer un jmp al entry point original.
esta sugerencia es muy buena, necesitaras algun TOPO/addpebytes/addbytes o similar

hay programas que buscan code cave(espacios en blanco) inclusive de plugins de PEID, o algunos simple patcher pueden funcionar de loader (DUP) y cambiar el codigo solo mientras corre cuando tienes todo cambiado)
saludos Apuromafo

karmany

Para tu caso, ¿por qué no intentas hacerlo directamente con el programa AddPEbytes?
Enlace:
http://foro.elhacker.net/programacion_general/add_pe_bytes_v011-t272401.0.html

Él ya automáticamente te modifica el PE header para que el formato PE no se corrompa.

Иōҳ

Cita de: karmany en 23 Marzo 2012, 19:07 PM
Para tu caso, ¿por qué no intentas hacerlo directamente con el programa AddPEbytes?
Enlace:
http://foro.elhacker.net/programacion_general/add_pe_bytes_v011-t272401.0.html

Él ya automáticamente te modifica el PE header para que el formato PE no se corrompa.

Sip, creo que para tu aprendizaje sería que uses la tool y fijate como te deja el PE y el ejecutable en si, luego fijate como tú lo dejastes y miras las diferencias :).

Una pregunta karmany como es que agregas bytes al ejecutable?, yo estaba mirando la apis, que funcionan luego de mapear el ejecutable:

SetFilePointer
SetEndOfFile

para agregarle, aún no me he puesto a hacer pruebas, pero pregunto por si hay una "mejor" manera.

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