2010-07-13 14 views
7

¿Hay algún programa que convierta el ensamblaje a C o C++? Realicé muchas búsquedas, pero no pude encontrar nada que funcione. Hay un programa llamado "Boomerang"; se ve muy bien y solo quiero que yo quiera, pero es muy inestable y se cuelga cuando trato de usarlo. (boomerang)¿Hay algún programa para convertir el ensamblaje a C++?

¿Hay algún otro programa gratuito que lo haga?

+0

Muchos duplicados, p. Ej. [¿Hay un descompilador para convertir un OBJ en código C/C++] (http://stackoverflow.com/questions/669003/is-there-a-decompiler-to-convert-a-obj-into-cc-code) –

Respuesta

1

Esto no es posible.

No se puede hacer.

Está fuera del alcance de los mortales.

Bueno, a menos que el código C use el ensamblaje integrado. Pero incluso allí es un poco dudoso.

Tenga en cuenta que un decompilador no "convierte el conjunto a C". Un descompilador intenta aproximadamente el código fuente original de un programa. El mapeo no es necesariamente perfecto, y no es posible para el ensamblaje arbitrario (nuevamente, a menos que utilice ensamblado en línea en la C resultante).

+0

¿Eh? No ... no será perfecto, pero conseguir que sea al menos un nivel un poco más alto para que sea más fácil trabajar con él sigue siendo un buen comienzo. – mpen

+1

-1 El mantenimiento del código decompilado puede ser difícil pero se puede hacer. – zoli2k

+1

@ zoli2k: no, para el ensamblaje arbitrario, no se puede hacer. Las capacidades de C no son un superconjunto flexible de las del lenguaje ensamblador. Por ejemplo, supongamos que mi conjunto consta de "TST% r1". Esta instrucción hace que el contador de pasos del procesador aumente en 1, pero si no uso el resultado, no tiene otro efecto. No hay un código C que iguale a esta instrucción solitaria. Hay muchos otros ejemplos: leer registros internos del procesador, escribir en dispositivos de E/S directamente, incluso la instrucción HLT. Lo que dije fue correcto. – Borealid

1

Hay pocas herramientas capaces de hacer la conversión como Regolix traductor de ASM a C y Datatek convirtiendo ASM a C/C++/Cobol/C#. Sin embargo, creo que el mantenimiento del código convertido puede ser problemático.

+0

sí, miré ambos Relogix que no entiendo, creo que está integrado y sé cómo usarlo. y datatek tienes que pagar por ello. Miré, pero no vi nada sobre la descarga, tienes que llamarlos para hablar sobre comprar. – blood

2

Lo que estás buscando es un descompilador.

Terminará con algo no mucho mejor que la fuente de ASM, y estoy seguro de que terminará con C, no con C++ de todos modos.

+0

no creo que quiera un descompilador, tengo el código ensamblador pero quiero que se convierta en C++. – blood

Cuestiones relacionadas