elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Ingresar Registrarse
12 Octubre 2008, 08:43  



+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General (Moderadores: Hendrix, E0N)
| | |-+  Practica: Modificando un PE a mano e inyectando codigo
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] 3 4 Ir Abajo Imprimir
Autor Tema: Practica: Modificando un PE a mano e inyectando codigo  (Leído 1733 veces)
®®
Colaborador

Desconectado Desconectado

Mensajes: 5.268


Ver Perfil
Re: Practica: Modificando un PE a mano e inyectando codigo
« Respuesta #15 en: 18 Julio 2007, 23:06 »

hay que seguir unas normas tienes que incrementar el numero de secciones en 1 y realinear el fichero.
En línea
Hendrix
Moderador
*****
Desconectado Desconectado

Mensajes: 2.027


The Lord of his Middle Earth


Ver Perfil WWW
Re: Practica: Modificando un PE a mano e inyectando codigo
« Respuesta #16 en: 18 Julio 2007, 23:42 »

Eso me imagine....lo realinee "manualmente", pero no pude....hay algun texto sobre eso??? :-\ :-\

Gracias Mek.  ;)
En línea

Muchas veces las cosas no se le dan al que las merece más, sino al que sabe pedirlas con insistencia. - Arthur Schopenhauer

®®
Colaborador

Desconectado Desconectado

Mensajes: 5.268


Ver Perfil
Re: Practica: Modificando un PE a mano e inyectando codigo
« Respuesta #17 en: 19 Julio 2007, 00:00 »

si, el formato PE lo especifica todo. asi de cabeza si no recuedo mal tienes la sizeofrawdata tiene que ser divisible por el alginment, es decir tienes que redondear tirando para arriba, se calcula facilmente esto es multiplicar y dividir. el campo sizeofimage tb tienes que retocarlo y original+bytes nuevos y se alinea del mismo modo que el anterior.
En línea
Hendrix
Moderador
*****
Desconectado Desconectado

Mensajes: 2.027


The Lord of his Middle Earth


Ver Perfil WWW
Re: Practica: Modificando un PE a mano e inyectando codigo
« Respuesta #18 en: 19 Julio 2007, 11:50 »

El Aligment es el File Aligment, no???ya que con eso de las divisiones no logro sacar ninguna conclusión.....vi en un post lo siguiente:

Citar
So, we have to act on that section of the file. There are three things
 I've got to describe so you get the point, beeing them fields on the
 Section Table entry we're at ( look above if you don't remember them )

    - VirtualSize is the real size of the section, the number of bytes of
 that section.

    - SizeOfRawData is the same that VirtualSize BUT rounded up to the
 alignment.

    - Alignment ( this is placed in OptionalHeader, not in these fields in
 the specific section entry as it's same for all ) is a size which the file
 size in the PE Header and the SizeOfRawData field have to be divided by.

    For example, let's imagine we have a section which has a VirtualSize
 of 1256h bytes, while the Alignment field in the Optional Header contains
 then number 200h. Then, we can easily know that the field in
 SizeOfRawData HAS to be 1400h. Why ? Because we have to round UP that
 1256h to it's nearest value that is divisible by the Alignment, that is,
 200h.

Y mi sección .text de virtualsize tiene EF0h y el alignment es 1000h  :-\ :-\

PD: A ese texto lo saque de aqui: http://dl.njfiw.gov.cn/books/%BB%E3%B1%E0/Sorted_OEM/pe/Pe_infection2.txt

Un Saludo Mek  :)
En línea

Muchas veces las cosas no se le dan al que las merece más, sino al que sabe pedirlas con insistencia. - Arthur Schopenhauer

®®
Colaborador

Desconectado Desconectado

Mensajes: 5.268


Ver Perfil
Re: Practica: Modificando un PE a mano e inyectando codigo
« Respuesta #19 en: 19 Julio 2007, 17:30 »

te lo dice en ese texto. mira poniendo el ejemplo de eso que me has copiado veras como se saca el numero:

Código:
      mov eax,1256h
      mov ecx,200h
      xor edx,edx
      div ecx
      xor edx,edx
      inc eax
      mul ecx   

en eax tendras el numero correcto. saludos.
En línea
[Decoded]

Desconectado Desconectado

Mensajes: 73


La imaginacion es parte de la vida, Imagina...


Ver Perfil WWW
Re: Practica: Modificando un PE a mano e inyectando codigo
« Respuesta #20 en: 20 Julio 2007, 15:58 »

Hey Hey Hey....Esperense...Esperense.....Aquí estan conversando solamente entre 2 personas...ahora con mi persona somos 3  ;D ;D
En línea

Hendrix
Moderador
*****
Desconectado Desconectado

Mensajes: 2.027


The Lord of his Middle Earth


Ver Perfil WWW
Re: Practica: Modificando un PE a mano e inyectando codigo
« Respuesta #21 en: 20 Julio 2007, 19:20 »

Y este post a que viene??? :huh: :huh: Para que estropear un post "tan bonito"??? :-\ :-\
En línea

Muchas veces las cosas no se le dan al que las merece más, sino al que sabe pedirlas con insistencia. - Arthur Schopenhauer

dark_hat

Desconectado Desconectado

Mensajes: 136



Ver Perfil
Re: Practica: Modificando un PE a mano e inyectando codigo
« Respuesta #22 en: 24 Julio 2007, 16:32 »

Mek, ya lo e echo...reparando las direcciones y todo eso a mano....pero lo tenia dentro de espacio sobrante de la sección .text...el problema es cuando intento crear mi sección con el tamaño que quiera, lo logro hacer todo, redimensiono las secciones para que las lea bien y todo y a mi parecer esta todo correcto, el icono es el mismo (por lo tanto la sección de resources esta bien) y todo correcto (a mi parecer), pero al darle doble click me dice que es una aplicaciones Win32 invalida....al pasarle el dumpbin no me marca ningun error al hacer lo siguiente:

dumpbin /all archivomodificado.exe > info.txt

A veces, antes me marcaba errores y me ponia todos los valores de eax, ebp y demás registros, pero esa vez me lo marco correcto y no me funcionó....Alguna sugerencia?? tengo que modificar algo mas??? Pensé que solo podria haber una sección en el ejecutable con los flags que indiquen que es codigo....pero no fue asi...luego modifique lo que dice: Size of code por la suma de mis 2 secciones de codigo y tampoco funcionó...y ya no se que mas hacer.... :-\ :-\

Un Saludo.  ;)




Prueba a ponerle más tamaño a la última sección y darle permisos de ejecución, escritura y lectura  al principio de la sección más 24h pon los cuatro bytes 20h, 0h, 0h, 60h y en el principio de la sección más 10h está el tamaño de la sección, auméntalo a lo q qieras.
« Última modificación: 24 Julio 2007, 16:43 por dark_hat » En línea

Eso que huele es un poco de incienso,
eso marrón una tableta de turrón...
Hendrix
Moderador
*****
Desconectado Desconectado

Mensajes: 2.027


The Lord of his Middle Earth


Ver Perfil WWW
Re: Practica: Modificando un PE a mano e inyectando codigo
« Respuesta #23 en: 24 Julio 2007, 19:25 »

Si, ya hice eso, pero tampoco me rulaba.... :-\ :-\

Vi que el Sizeofrawdata (creo que era asi) tiene que ser divisible por el align redondeado hacia arriba....pero en las otras secciones no pasa eso y funciona... :-\ :-\
En línea

Muchas veces las cosas no se le dan al que las merece más, sino al que sabe pedirlas con insistencia. - Arthur Schopenhauer

SERBice

Desconectado Desconectado

Mensajes: 895



Ver Perfil WWW
Re: Practica: Modificando un PE a mano e inyectando codigo
« Respuesta #24 en: 01 Agosto 2007, 08:48 »

gente, si vlvemos a la idea de poner el code al fnal del archivo, saltar a ese code y despues vovler al exe original no seria mejor?..... el exe es cargado hasta que se encuentran una serie de caracteres que indican el cierre del exe, como e chr$(0) en un string, asi pues, habria que encnotrar el cierre del archivo y moverlo despues de nuestro code ¿que les parece?
En línea

Estrenando firma (Gracias Artikhacker):

Asus M2N-SLI (nFoce 560SLI) - 4GB DDR2 OCz System Elite @800MHz - AMD Athlon 64 x2 5200+ - GeForce 8800GS 384MB Alpha Dog Edition 680Mhz - HD SATA2 WD 7200rpm 500GB - Asus DRW-2014L1T


Hendrix
Moderador
*****
Desconectado Desconectado

Mensajes: 2.027


The Lord of his Middle Earth


Ver Perfil WWW
Re: Practica: Modificando un PE a mano e inyectando codigo
« Respuesta #25 en: 01 Agosto 2007, 13:18 »

gente, si vlvemos a la idea de poner el code al fnal del archivo, saltar a ese code y despues vovler al exe original no seria mejor?..... el exe es cargado hasta que se encuentran una serie de caracteres que indican el cierre del exe, como e chr$(0) en un string, asi pues, habria que encnotrar el cierre del archivo y moverlo despues de nuestro code ¿que les parece?

No se peude.....ya lo explique....la sección ejecutable "por defecto" es la .text  ;)
En línea

Muchas veces las cosas no se le dan al que las merece más, sino al que sabe pedirlas con insistencia. - Arthur Schopenhauer

SERBice

Desconectado Desconectado

Mensajes: 895



Ver Perfil WWW
Re: Practica: Modificando un PE a mano e inyectando codigo
« Respuesta #26 en: 01 Agosto 2007, 17:15 »

parece que no has entendid mi idea... ya qeu dices que al colocar el codigo "extra" pro asi llamarlo al final del exe y al salta r ala posicion de dicho code, da error de memoria porque el exe se carga hasta el final del binario msimo en memoria ignorando loq eu se le adose, la idea es; encontrar el grupo de caracteres que indica el cierre del exe y moverlo al final, detras d nuestro code. en al sección text sltar a  nuestro code y lueg retornar al punto desde el qe saltamos..... lo hago sonar facil, se que n lo es, pero creo que estoy acertado en el concepto.
En línea

Estrenando firma (Gracias Artikhacker):

Asus M2N-SLI (nFoce 560SLI) - 4GB DDR2 OCz System Elite @800MHz - AMD Athlon 64 x2 5200+ - GeForce 8800GS 384MB Alpha Dog Edition 680Mhz - HD SATA2 WD 7200rpm 500GB - Asus DRW-2014L1T


Hendrix
Moderador
*****
Desconectado Desconectado

Mensajes: 2.027


The Lord of his Middle Earth


Ver Perfil WWW
Re: Practica: Modificando un PE a mano e inyectando codigo
« Respuesta #27 en: 01 Agosto 2007, 17:30 »

no hay tal caracter de final de archivo....e la cabecera se define el tamaño que tiene la sección....y al ejecutarse ya se sabe que el codigo a ejecutar va desde XXXX a YYYY

Un Saludo.  ;)

En línea

Muchas veces las cosas no se le dan al que las merece más, sino al que sabe pedirlas con insistencia. - Arthur Schopenhauer

Hendrix
Moderador
*****
Desconectado Desconectado

Mensajes: 2.027


The Lord of his Middle Earth


Ver Perfil WWW
Re: Practica: Modificando un PE a mano e inyectando codigo
« Respuesta #28 en: 01 Agosto 2007, 23:09 »

Bueno...quiero comunicar que ya lo e conseguido "a medias".....

Lo e conseguido todo excepto que la IAT se me a dañado (no me explico como, todo esta realojado correctamente :S).

Aparte, al meter el ejecutable en el olly me dice que no existe la Dll (trabajo sobre un ejecutable en VB y al no tener la Dll en VB me da ese pantallazo. No sale del olly (no se termina), asi que me voy al entry point y veo que no hay IAT.

Otra sorpresa es que dentro del Olly hay literalmente todo el ejecutable, consigo llegar hasta la posicion virtual 0040000, que contiene el tipico MZ.... :-\ :-\

Alguna solución para ello???

PD: E de decir que lo estoy haciendo todo manual....nada de ensamblador ni C...

Un Saludo.  ;)

En línea

Muchas veces las cosas no se le dan al que las merece más, sino al que sabe pedirlas con insistencia. - Arthur Schopenhauer

®®
Colaborador

Desconectado Desconectado

Mensajes: 5.268


Ver Perfil
Re: Practica: Modificando un PE a mano e inyectando codigo
« Respuesta #29 en: 02 Agosto 2007, 15:59 »

pero es extrictamente necesario que añadas otra sección? si no añade el codigo al final de la ultima sección. dices que has jodiod la IAT.... ¿que estas fent? ya me estoyt liando hasta yo jeje., no entiendo mucho lo que te pasa ahora mismo, despues de la siesta lo leere mejor.

saludos.
En línea
Páginas: 1 [2] 3 4 Ir Arriba Imprimir 
Ir a:  







Consolas     La Web de Goku     MilW0rm     MundoDivx

Hispabyte     Truzone     TodoReviews     ZonaPhotoshop

hard-h2o modding    Foros de ayuda    Yashira.org    Videojuegos    indetectables.net   

Noticias Informatica    Seguridad Informática    ADSL    Foros en español    eNYe Sec

Todas las webs afiliadas están libres de publicidad engañosa.

Powered by SMF 1.1.6 | SMF © 2006-2008, Simple Machines LLC
Free counter and web stats