Seguridad informática - HACK HiSPANO .com
Retroceder   HACK HiSPANO > PROGRAMACION > GENERAL
Actualizar esta página Abrir un programa escrito en C
Respuesta
 
Herramientas Desplegado
  (#1) Antiguo
osbornini osbornini está desconectado
Iniciado
 
Mensajes: 16
Fecha de Ingreso: noviembre-2009
Abrir un programa escrito en C - 06-feb-2010, 16:26

Buenas el caso es que me descargue un programa, un exe, y averigue que estaba compilado y escrito con C++ y me gustaria saber como puedo conocer el codigo fuente para saber como funciona y lo que hace. Espero que me podais echar una mano!

Gracias!

Última edición por osbornini; 07-feb-2010 a las 14:46.
Responder Citando
  (#2) Antiguo
Fruit Fruit está desconectado
Avanzado
 
Mensajes: 573
Fecha de Ingreso: enero-2010
Localización: 0x41414141
06-feb-2010, 17:12

En todo caso te la echaríamos (sin la hache)...

Devolver un programa compilado en C/C++ a su código original es totalmente imposible, pero se puede convertir en código ensamblador, con algún programa tipo IDA, W32DASM, etc.
Responder Citando
  (#3) Antiguo
osbornini osbornini está desconectado
Iniciado
 
Mensajes: 16
Fecha de Ingreso: noviembre-2009
mis disculpas - 07-feb-2010, 14:47

editado, culpa mia...xD gracias por la informacion veré que puedo hacer
Responder Citando
  (#4) Antiguo
hystd hystd está desconectado
Moderador Global
 
Mensajes: 1.053
Fecha de Ingreso: julio-2005
Localización: 1, 11, 21, 1211...
07-feb-2010, 15:11

Si es posible... Lo único es que existen infinitas traducciones de un lenguaje GOTO-computable a un lenguaje de alto nivel (con un nivel de abstracción superior), y viceversa... No voy a entrar en demostraciones matemáticas porque no tego teclado... :s

Busca por "Descompilador C++", vuelvo a decir, la traducción no será 100% exacta al original.

Un saludo.


Sólo un perdedor dice: "Esto no se puede hacer..."

Responder Citando
  (#5) Antiguo
Fruit Fruit está desconectado
Avanzado
 
Mensajes: 573
Fecha de Ingreso: enero-2010
Localización: 0x41414141
07-feb-2010, 20:22

Echa un ojo a: http://www.parashift.com/c++-faq-lit....html#faq-38.4
Responder Citando
  (#6) Antiguo
hystd hystd está desconectado
Moderador Global
 
Mensajes: 1.053
Fecha de Ingreso: julio-2005
Localización: 1, 11, 21, 1211...
08-feb-2010, 01:54

Ese faq solo resume algunas cuestiones, que como comenté, se basan en que hay infinitas formas de traducir un código de alto nivel a un lenguaje GOTO-Computable, como es el caso de un fichero que contiene las instrucciones entendibles por el procesador... pero eso no quiere decir que no se pueda, simplemente que una posible traducción que pueda hacer un descompilador, probablemente no se corresponda idénticamente a la original.

Un saludo.


Sólo un perdedor dice: "Esto no se puede hacer..."

Responder Citando
  (#7) Antiguo
Fruit Fruit está desconectado
Avanzado
 
Mensajes: 573
Fecha de Ingreso: enero-2010
Localización: 0x41414141
08-feb-2010, 14:57

Sigue sin parecerme viable una traducción "automática" de código máquina a código fuente.

Cita:
Iniciado por hystd Ver Mensaje
...una posible traducción que pueda hacer un descompilador, probablemente no se corresponda idénticamente a la original.
Es que no se va a parecer en nada, piensa en las miles de optimizaciones que hará el compilador a la hora de compilar...
Responder Citando
  (#8) Antiguo
hystd hystd está desconectado
Moderador Global
 
Mensajes: 1.053
Fecha de Ingreso: julio-2005
Localización: 1, 11, 21, 1211...
08-feb-2010, 19:59

Puede que no se parezca en nada, pero es una traducción a alto nivel igual de válida que la original.

Un saludo.


Sólo un perdedor dice: "Esto no se puede hacer..."

Responder Citando
  (#9) Antiguo
Fruit Fruit está desconectado
Avanzado
 
Mensajes: 573
Fecha de Ingreso: enero-2010
Localización: 0x41414141
08-feb-2010, 20:39

Cita:
Iniciado por hystd Ver Mensaje
Puede que no se parezca en nada, pero es una traducción a alto nivel igual de válida que la original.

Un saludo.
No me expliqué bien... quise decir que descompilar un programa en C++ y, por ejemplo, partir las clases independientemente, según tengo entendido, es muy difícil.

Vamos, que descompilas un programa en C++ y te sale en C.
Responder Citando
  (#10) Antiguo
Marchi Marchi está desconectado
Moderador HH
 
Mensajes: 1.350
Fecha de Ingreso: septiembre-2003
24-feb-2010, 01:14

En teoría es perfectamente válido lo que cuenta hystd, incluso si se pudiera definir una métrica para calcular la disimilitud entre programas de forma de crear una cota que distinga programas trivialmente equivalentes*, cosa que informalmente es bastante factible, se demostraría que la cantidad de formas de transformar un programa en un lenguaje GOTO-computable en uno en un lenguaje de alto nivel están acotadas.

De ahí a la práctica hay un camino que aún no ha sido muy recorrido.


Saludos


- Me desagrada
- ¿Por qué?
- No estoy a su altura.
¿Ha respondido así alguna vez un hombre?

Friedrich Nietzsche


Responder Citando
Respuesta

Marcadores

Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado

Ir al Foro


Powered by vB 3
Copyright © 1999-2010 HACK HiSPANO

Alojado en Hacheté Diseños Web