elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Ingeniería Inversa (Moderadores: karmany, .:UND3R:., MCKSys Argentina)
| | |-+  Programar un Desensamblador
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Programar un Desensamblador  (Leído 5,229 veces)
SubAtomicParticula

Desconectado Desconectado

Mensajes: 19


Ver Perfil
Programar un Desensamblador
« en: 17 Septiembre 2016, 10:18 am »

Saludos, estoy trabajando en un Desensamblador en C++, la cuestión es que comienzo a desensamblar el código desde el Entrypoint y voy decodificando instrucciones, cuando encuentro un CALL salto a la dirección y cuando llega el RET vuelvo al lugar donde se llamaba al CALL.

Cuando no encuentro más código nuevo comienzo a analizar los saltos condicionales JXX hasta recorrer todo el código binario. Pero pronto me dí cuenta que esta forma de desensamblar un EXE no era correcta.

El típico programa Windows cuando crea la Ventana principal del programa pasa la dirección de memoria de la función que se encargará de atender los eventos. Y seguro que hay otro tipo de situaciones que no estoy contemplando.

Si alguien puede ayudarme sobre cómo desensamblar un ejecutable, tengo como referencia el PE Explorer 1.99 pero no llego a entender como obtiene el Desensamblado del EXE.

Muchas gracias.
En línea

MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.518


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: Programar un Desensamblador
« Respuesta #1 en: 18 Septiembre 2016, 01:30 am »

Hola!

Te dejo esta página, donde encontrarás mucha info sobre el tema.

Puedes recurrir al fuente de los proyectos open source para quitarte las dudas que tengas.

Inlcuso desde la página de Olly, te puedes bajar el desemsamblador de la primera versión de Olly y pegarle una mirada.

Saludos!
En línea

MCKSys Argentina

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

SubAtomicParticula

Desconectado Desconectado

Mensajes: 19


Ver Perfil
Re: Programar un Desensamblador
« Respuesta #2 en: 18 Septiembre 2016, 09:33 am »

Gracias MCKSys Argentina, trabajaré en ello.
En línea

apuromafo CLS


Desconectado Desconectado

Mensajes: 1.441



Ver Perfil WWW
Re: Programar un Desensamblador
« Respuesta #3 en: 19 Septiembre 2016, 04:36 am »

https://derevenets.com/ -> programado

https://retdec.com/decompilation/ -> web

 
« Última modificación: 19 Septiembre 2016, 04:46 am por apuromafo » En línea

Apuromafo
surfdata

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Programar un Desensamblador
« Respuesta #4 en: 16 Octubre 2016, 17:48 pm »

Magnificos aportes , yo también estoy interesado en conocer cómo funciona un desensamblador a nivel interno y ésto me sirve mucho.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Un desensamblador de Visual C
Ingeniería Inversa
wscan 1 4,026 Último mensaje 2 Enero 2004, 17:54 pm
por Dyablo Poeta
desensamblador
Ingeniería Inversa
lewi 2 5,073 Último mensaje 20 Septiembre 2007, 14:52 pm
por Shaddy
Nuevo Debugger Desensamblador
Ingeniería Inversa
douglas_cpp 3 3,878 Último mensaje 1 Septiembre 2010, 11:42 am
por Shaddy
Un desensamblador en linux?
Ingeniería Inversa
Sauruxum 3 3,812 Último mensaje 1 Octubre 2010, 23:41 pm
por MCKSys Argentina
desensamblador
Programación General
dewolo 0 2,786 Último mensaje 17 Agosto 2011, 01:07 am
por dewolo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines