Foro de elhacker.net

Programación => Ingeniería Inversa => Mensaje iniciado por: KS-Soft en 15 Diciembre 2014, 18:13 pm



Título: Es posible Decompilar/Desensamblar este programa .exe?
Publicado por: KS-Soft en 15 Diciembre 2014, 18:13 pm
Que tal amigos, este es mi primer post aca. estoy necesitando un poquito de ayuda con lo siguiente, tengo un programa .exe que no tiene GUI es simplemente una consola.. lo estuve investigando con Hex Editor y ví que dentro estan las referencias a sus archivos base .obj, .cpp, .c ... la pregunta sería; habra alguna forma de conseguir estos ficheros o almenos el algoritmo utilizado?...
el programa es un conversor de audio que utiliza un enconder TG01Compress... este tipo de compresión la busque por cielo y tierra por toda la web y no hay datos. por eso me interesaria saber si es posible obtenerlo desde este archivo ejecutable.
Tengo conocimientos en Java y un poco en C++. algunas cosas logro comprender pero otras no, espero puedan ayudarme, gracias
PD: aca les dejo una imagen de lo que les digo, si necesitan el ejecutable se los añado al post.
saludos!

(http://s2.subirimagenes.com/otros/previo/thump_9204737imagen.jpg)


Título: Re: Es posible Decompilar/Desensamblar este programa .exe?
Publicado por: MCKSys Argentina en 15 Diciembre 2014, 18:18 pm
Hola!

En este (https://foro.elhacker.net/ingenieria_inversa/faq_iquesteres_nuevo_aprende_ingenieria_inversa_desde_cero-t345798.0.html) post encontrarás la información necesaria para iniciarte en este mundo.

Saludos! (y Bienvenido!)


Título: Re: Es posible Decompilar/Desensamblar este programa .exe?
Publicado por: KS-Soft en 6 Febrero 2015, 18:02 pm
Buenas MCKSys, casi 2 meses más tarde te respondo :D jejej. Estuve practicando con los cursos de Ricardo Narvaja y bueno, algunas cosas ahora llego a comprender :) te cuento mis avances en el tema de este soft que antes había comentado..
Al inicializarlo con OllyDbg inmediatamente me di cuenta que no comienza en 401000 como los de los crackmes (cosa obvia claro jaj)... así que busque un poco y bajando un poco me encontre con un "Call MakeOpti. main" claramente supongo que es el inicio del programa en sí. asi que puse un BP en este punto

(http://s9.postimg.org/949xb3k33/Make_Reverse.png)

Ejecuto en Debug until return y me meto en el call y efectivamente como había pensado llegue al inicio del soft.
Los 3 primeros Call que tengo son para mostrar/escribir en consola lo que sería un mensaje de "Bienvenida" y seguido esto viene el call interesante en el que prepara el PCM manager para procesar las muestras(sonidos)
y seguido de esta Call viene la que abre los ficheros a procesar (acá vuelvo a poner un BP para ver que esta pasando)

(http://s1.postimg.org/a71vulqsv/make_reverse_2.png)

bueno, una vez de esta call veo que tengo toda una rama de opciones... pero me meto en la que me interesa, que es "SaveOptionPCMImage" pongo un BP nuevamente acá

(http://s1.postimg.org/g0v8gvtv3/make_3.png)

y llegado a este punto es donde me pierdo.. estos datos que me da en el log sobre los procesos previos veo que tienen una suma en todos los casos, y anteriormente también.. es decir que los resultados de todos los procesos anteriores ¿es el que usa para hacer esta última operación?

Acá lo remarco en amarrillo:

(http://s7.postimg.org/qkj5szsez/resultados.png)