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



+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General (Moderadores: Hendrix, E0N)
| | |-+  Executable PE
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Imprimir
Autor Tema: Executable PE  (Leído 944 veces)
Kizar

Desconectado Desconectado

Mensajes: 1.320


kizar_net


Ver Perfil
Executable PE
« en: 29 Agosto 2007, 00:17 »

Bueno digamos que los ejecutables por lo general después de los SECTION_HEADERS tienen un espacio para poder crear en el futuro una nueva sección, en el caso de los ejecutables que genera el vb justo después de las SECTION_HEADERS tiene una llamada a la runtime y por lo tanto por ese metodo no puedo crear una sección nueva, como podria hacerlo en ese caso??
En línea

®®
Colaborador

Desconectado Desconectado

Mensajes: 5.255


Ver Perfil
Re: Executable PE
« Respuesta #1 en: 29 Agosto 2007, 16:24 »

se puede hacer, busca un post de hendrix donde se habla de añadir secciones y justo a un programa en vb.
En línea
karmany

Desconectado Desconectado

Mensajes: 673



Ver Perfil
Re: Executable PE
« Respuesta #2 en: 29 Agosto 2007, 20:31 »

Efectivamente como dice "Colaborador" lo comentamos en un post reciente...

Pero bueno te lo digo de nuevo. El problema para agregar una sección nueva a un Visual Basic es que en el encabezado hay un puntero a la librería de Visual Basic, y cuando tú agregas una nueva sección pues pisas este puntero y a la misma librería que está en ASCII. Este puntero que señala a esta librería es: Bound Import Table Address y por lo tanto cuando agregas una sección nueva pues da lógicamente un error.

Para agregar una nueva sección a un Visual Basic ya compilado es muy sencillo:
1º Utiliza el programa Topo para agregar una sección del tamaño que quieras.
2º Utiliza un programa para editar el encabezado del programa y modifica el valor Bound Import Table Address a cero y el valor Bound Import Table Size también a cero.
En línea



Salu2
Kizar

Desconectado Desconectado

Mensajes: 1.320


kizar_net


Ver Perfil
Re: Executable PE
« Respuesta #3 en: 29 Agosto 2007, 23:29 »

No he encontrado el post de hendrix.
karmany Para crear una sección nueva tienes que pisar la runtime de vb, y luego cambiando lo que tu dices se corrompe el exe.
Yo creo que los tiros andarian mas moviendo la parte de la runtime mas abajo y cambiar la direccion que apunta ahi pero no se como lo haria...
En línea

Kizar

Desconectado Desconectado

Mensajes: 1.320


kizar_net


Ver Perfil
Re: Executable PE
« Respuesta #4 en: 30 Agosto 2007, 01:59 »

Ya lo arregle, Bound Import Table Address = imagebase + nuevo offset donde esta la runtime.
En línea

karmany

Desconectado Desconectado

Mensajes: 673



Ver Perfil
Re: Executable PE
« Respuesta #5 en: 31 Agosto 2007, 21:36 »

Lo que has hecho está bien, pero has tenido que modificar un montón de cosas.
Si simplemente pones Bound Import Table Address a cero y Bound Import Table Size también a cero lo solucionas todo rapidamente y evitas que de un error, y no tienes que modificar nada de nada.

Esto de poner Bound Import Table Address a cero y Bound Import Table Size también a cero lo hice así porque la IMAGE IMPORT DESCRIPTOR  está totalmente correcta y por lo tanto no tiene que darte ningún error si pones a cero los valores que te he comentado en el párrafo anterior.

Además si te fijas por ej. en un programa en C o en ASM verás que la IMAGE IMPORT DESCRIPTOR está correcta mientras que Bound Import Table Address y Bound Import Table Size están a cero.
Este es el motivo de poner esos valores a cero. Y funciona perfectamente.

Si no consigues hacer esto que te digo, pásame si quieres el programa y te creo rápidamente una sección nueva.

PD. De todos modos lo que has hecho está bien, pero es mucho más trabajoso.
En línea



Salu2
Kizar

Desconectado Desconectado

Mensajes: 1.320


kizar_net


Ver Perfil
Re: Executable PE
« Respuesta #6 en: 03 Septiembre 2007, 12:48 »

Citar
Si simplemente pones Bound Import Table Address a cero y Bound Import Table Size
Eso parece que funciona porque esos valores no hacen nada pero si cambias la direccion a la que apuntan que es la llamada a runtime te da = el valor que pongas en Bound Import Table Address porque no funciona.
El problema esta en la ImportTable.
Te dejo un holamundo en vb y agregamele una sección aver como lo haces solo tocando el Bound Import Table Address.

http://www.mediafire.com/?0leg5wdjikh
En línea

karmany

Desconectado Desconectado

Mensajes: 673



Ver Perfil
Re: Executable PE
« Respuesta #7 en: 03 Septiembre 2007, 15:49 »

Ahí lo tienes...
Te he puesto 1000 bytes y la he nombrado "Kizar":
http://rapidshare.com/files/53110607/HelloWorld.rar.html
En línea



Salu2
Hendrix
Moderador
*****
Desconectado Desconectado

Mensajes: 2.024


The Lord of his Middle Earth


Ver Perfil WWW
Re: Executable PE
« Respuesta #8 en: 03 Septiembre 2007, 20:10 »

Kizar, creo que mi post te puede ayudar  ;) echale un vistazo

Practica: Modificando un PE a mano e inyectando codigo
http://foro.elhacker.net/index.php?topic=172260.25;wap2

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

Kizar

Desconectado Desconectado

Mensajes: 1.320


kizar_net


Ver Perfil
Re: Executable PE
« Respuesta #9 en: 04 Septiembre 2007, 11:31 »

Ya habia probado lo que me dijistes antes y si que me funciono, lo que paso es que encripte la sección text entera y me acabo de dar cuenta de que la ImportTable se encuentra dentro y la habia encriptado tambien, por eso no iva ni pa dios...
Grax por la ayuda.
En línea

Kizar

Desconectado Desconectado

Mensajes: 1.320


kizar_net


Ver Perfil
Re: Executable PE
« Respuesta #10 en: 05 Septiembre 2007, 11:17 »

Teneis algo de información sobre como puedo cambiar de sitio la ImportTable?
Seria moverla a otra secccion...
En línea

karmany

Desconectado Desconectado

Mensajes: 673



Ver Perfil
Re: Executable PE
« Respuesta #11 en: 05 Septiembre 2007, 16:32 »

Claro que puedes hacerlo, sin ir más lejos cuando utilizas el Import Re haces exactamente eso..
Una forma fácil de hacerlo es con el OllyDBG hacer un Binary copy - Binary paste y después modificas el puntero que señala Import Table.

Creo que con eso ya basta.

De todos modos para entender todo perfectamente tienes estos tutes de Ricardo Narvaja que yo en su día ya me los leí y son BUENISIMOS:
Import Tables a mano. Parte 1
Import Tables a mano. Parte 2
Import Tables a mano. Parte 3
Import Tables a mano. Parte 4
En línea



Salu2
Kizar

Desconectado Desconectado

Mensajes: 1.320


kizar_net


Ver Perfil
Re: Executable PE
« Respuesta #12 en: 05 Septiembre 2007, 17:36 »

Creo que es justo lo que busco, muchisimas gracias  ;D
En línea

Kizar

Desconectado Desconectado

Mensajes: 1.320


kizar_net


Ver Perfil
Re: Executable PE
« Respuesta #13 en: 06 Septiembre 2007, 03:18 »

No, no era exactamente lo que quería pero se acerca, lo que se me ocurre es ir leyendo la IT paso por paso e ir cambiando las direcciones por la nueva dirección en la que lo guardo, es trabajoso pero no se me ocurren mas formas...
No se puede copiar entera y pegarla en otro sitio porque cambian todas las direcciones...
En línea

®®
Colaborador

Desconectado Desconectado

Mensajes: 5.255


Ver Perfil
Re: Executable PE
« Respuesta #14 en: 06 Septiembre 2007, 14:09 »

pero puedes calcular el desplazamiento, es decir igual que hacen los virus que infectan ejecutables. para calcular este desplazamiento al inicio del codigo del virus se hace algo asi:

call uno
uno:
pop registro
sub registro,offset uno

de este modo a la hora de llamar a las funciones que son sacadas en tiempo de ejecucion pero almacenadas en tu propio codigo puedes llamarlas asi call [registro_con_desplazamiento+funcion]
En línea
Páginas: [1] 2 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