Hace 6 años | Por mr_b a lamiradadelreplicante.com
Publicado hace 6 años por mr_b a lamiradadelreplicante.com

La compañía de seguridad Avast ha liberado —bajo licencia libre MIT— el código de su decompilador RetDec, permitiendo su acceso a la comunidad y la colaboración en un proyecto, que se lleva desarrollando desde 2011. Los decompiladores son programas que reconstruyen el código fuente de un archivo ejecutable, traduciéndolo a un lenguaje de alto nivel. Sería lo contrario de realizar una compilación. Se pueden utilizar por tanto para analizar vulnerabilidades, errores, y estudiar el código de cualquier software, malicioso o no.

Comentarios

a

#8 Eso lo daba por entendido. Me refería a las optimizaciones que un compilador hace al crear el código objeto. Por ejemplo el compilador de ADA es excelente en esto, creando código más rápido que lo que hubiera escrito un programador en assembler. Cuantos más cambios haga el compilador, más información original desaparece.

El artículo va precisamente de la dificultad de reconstruir el algorimo original, de ahí que esta cosa use heurística.

LaInsistencia

¿Balón de oxigeno a la comunidad warez, al facilitar buscar y eliminar protecciones?

D

#5 #6 Por lo que leo solo corre en 32bits asi que hasta que no salga una version para 64 no creo que vaya a ayudar mucho. En la comunidad warez el gran problema es denuvo y se tardo mucho en crackear porque no habia decompilador de 64. Eso tengo entendido almenos.

D

#13
Hay un mucho software corriendo en 32 bits.

D

#14 Si pero ningun software de ese da problemas a los crackers.

D

#16
A Wine y ReactOS sí.

D

#17 Por cierto tengo que corregir. Lo que da problemas no es denuvo en si, es VMProtect.

D

se puede compilar el decompilado y que salga un ejecutable funcional y parecido en tamaño al original??

a

#2 Eso depende enteramente de las optimizaciones que lleve el compilador. Pero en principio algo se perderá.

e

#2 El software está compilado, quién lo descompilará? El descompilador que lo de descompile buen descompilador será. lol

D

¿Decompilador o descompilador?

D

Mas que descompilar sera desensamblar.

La transformación del lenguaje ensamblador en código máquina la realiza un programa ensamblador, y la traducción inversa la puede efectuar un desensamblador.

D

#12 Te da código C, no ensamblador (bueno, también), así que descompila.

capitan__nemo

¿Para esto no se podría aplicar IA?
Se analiza el codigo fuente y los binarios una vez compilados de multiples formas y con multiples parámetros o con diferentes compiladores. Todo esto del máximo de software abierto disponible. De ese aprendizaje de esa IA igual se puede hacer despues la inversa mucho mejor.

O se pueden crear multiples softwares, compilarlos, despues descompilarlos con este descompilador y despues comparar el codigo original con el código que sale de la descompilacion. Esa IA se va entrenando de esa forma y despues se le retroalimenta al descompilador que en teoria igual podria ir generando mejor codigo descompilado segun mejor se entrene.

D

#24 Y te pone hasta los comentarios. Totalmente factible.

Jokessoℝ

Un verdadero programador no necesita ningun descompilador. Si eres programador, puedes leer directamente de la memoria las intrucciones de bajo nivel del código máquina.

Si no eres capaz, bueno, siempre te quedará trabajar en cárnicas para programar en java,c, o peor aun python y esas mariconadas. Pero no serás un programador, serás un puto albañil poniendo ladrillos hechos por otros.

Pero no esperes cobrar 1000 euros por ello.

R

#19 ¡Mirad todos un hacker!

R

#19 Fuerte cuñadismo rancio

baskerbill73

#19 Un verdadero programador no necesita ningún descompilador. Puede leer directamente el código máquina en binario sin despeinarse.

D

#26 un verdadero programador detecta las ondas electromagnéticas.

D

El código esta compilado ¿quién lo decompilará? El decompilador que lo decompile buen decompilador será.

D

vaaaaaale

M

El fuente decompilado se parece al original como un huevo a una castaña, aunque el resultado de compilar los dos sea muy parecido.