Foro de elhacker.net

Programación => Ingeniería Inversa => Mensaje iniciado por: T3TR@TR35 en 25 Junio 2018, 21:44 pm



Título: Imitar o extraer codigo fuente de un programa .exe
Publicado por: T3TR@TR35 en 25 Junio 2018, 21:44 pm
He visto este hilo: https://foro.elhacker.net/ingenieria_inversa/obtener_codigo_fuente_de_un_exe-t322642.0.html
Y me preguntaba si seria posible extraer o aunque sea, dar una ojeada al codigo de un programa de este tipo.
Digo, si puedo mirar el codigo y desarrollar uno propio que imite o supere al original.
O, si por el contrario, debo comenzar el proyecto desde cero.


Título: Re: Imitar o extraer codigo fuente de un programa .exe
Publicado por: r32 en 25 Junio 2018, 21:58 pm
Hola, si que puedes extraer el código fuente de algunos programas, esto dependerá de con que programa se ha compilado.
Para verificar con que programa está compilado puedes usar el RDG Packer Detector o PEID, son bastante fiables:

RDG Packer Detector:
http://www.rdgsoft.net/

PEID:
https://tuts4you.com/e107_plugins/download/download.php?view.398

Una vez tengas con que programa se compiló, ya sería buscar un descompilador para tu programa. Así podrías ver el código fuente y mejorar o ampliar el proyecto

Saludos.


Título: Re: Imitar o extraer codigo fuente de un programa .exe
Publicado por: B€T€B€ en 25 Junio 2018, 23:05 pm


Eso siempre y cuando el código fuente no esté codificado.


Título: Re: Imitar o extraer codigo fuente de un programa .exe
Publicado por: apuromafo CLS en 26 Junio 2018, 03:45 am
hagamos una idea rápida, digamos que lo que quieres recrear es la funcion suma de algo muy simple pero que trabaja con un largo int (), copiar el codigo es heredar los mismos problemas, si trabajas con cantidades gigantes (grandes números), no podrás hacer mas

en el tema de visual studio o cualquier programa hecho en ese lenguaje la parte estética (gui) es facilmente recreable para cualquier coder, pero la parte funcional del código en parte se puede crear un pseudo código si fue hecho en c , con ayuda de programas comerciales como IDA PRO puedes obtener un código funcional pero no legible, en algunos casos son funciones otros no, es un tema para largo porque dependerá de los símbolos que tenga el ejecutable.

en el caso de ricardonarvaja, explico las temáticas de análisis estático y análisis dinámico y además la reconstruccion de codigo, aun conociendo el código de fuente, el tema es bastante largo y es en algunos casos mucho mas largo que re-codear el codigo denuevo.


si la idea es dar una ojeada al código, puedes usar cualquier depurador e ir trazando por bloques desde el comienzo de un bloque a otro, entendiendo instrucciones assembler , si bien muchos pueden estar ofuscados o protegidos, el principio básico de mirar como funciona siempre da ideas nuevas

por otro lado, en práctica y tiempo, es mucho mas fácil comenzar a desarrollar uno propio que imite o supere al original, porque aveces son componentes que fueron comprados para hacer alguna estructura


si quieres perder 1 año depurando y re-crear el codigo, adelante, pero te aseguro que de aqui a un año, puede que en 3 meses aprendas a depurar el codigo y ver que te sirve y que no, y de ahi recien codear (en 6 meses) demás que lograrás hacerlo, aunque si vas por el lado directo de crear un código, siempre mantener los principios de lo que haces (en el sentido que el codigo creado siempre será funcional)


Saludos Apuromafo
pd: todo programa es unico, aunque sea un simple mensaje de "holamundo"