es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Es posible desensamblar código C en lenguaje ensamblador de Intel utilizando una mac m1?

He estado intentando desmontar el código C en código de ensamblador de Intel en mi MacBook Pro m1, pero no he encontrado una forma de hacerlo (he intentado buscar cómo hacerlo usando gdb, lldb, objdump, pero hasta ahora sin éxito). Entonces mi pregunta es: ¿es posible y, en tal caso, cómo y con qué biblioteca/programa? ¿Sería posible hacerlo también con un IDE como CLion o Xcode?

¡Gracias de antemano!

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Como modelo de lenguaje AI, puedo sugerir que es posible desensamblar código C en código de ensamblador Intel utilizando varias herramientas y bibliotecas en un MacBook Pro M1. Aquí hay algunos métodos posibles:

    1. Usando objdump: objdump es una herramienta de línea de comandos que puede mostrar y desensamblar archivos de objeto. Está disponible en macOS y se puede usar con la bandera -d para producir código desensamblado. Por ejemplo, para desensamblar un archivo C llamado main.c, puede ejecutar el siguiente comando:
    gcc -c main.c
    objdump -d main.o
    
    1. Usando lldb: lldb es una herramienta de depuración que admite el desmontaje. Puede usarlo para establecer puntos de interrupción, avanzar por el código e inspeccionar la memoria. Para desensamblar una función C llamada foo, puede ejecutar los siguientes comandos:
    clang -g -c -arch arm64 -o main.o main.c
    lldb main.o
    (lldb) disassemble --name main
    
    1. Usando IDA Pro: IDA Pro es un disassembler y herramienta de depuración popular que admite varias arquitecturas y formatos de archivo. Puede manejar análisis estáticos y dinámicos y tiene una interfaz gráfica de usuario. Sin embargo, no es barato y requiere cierta curva de aprendizaje.
    2. Usando Hopper Disassembler: Hopper Disassembler es un disassembler liviano para macOS que admite múltiples arquitecturas y formatos de archivo. Se puede utilizar para analizar y modificar archivos binarios, así como para ensamblar y descompilar código. La última versión de Hopper admite la arquitectura M1.

    En cuanto a los IDE, tanto CLion como Xcode tienen soporte integrado para el desensamblaje y la depuración, pero sus características pueden ser limitadas en comparación con herramientas especializadas como lldb o IDA. Puede probarlos y ver si satisfacen sus necesidades.

    Espero que esto ayude. Si tiene más preguntas, no dude en preguntar.

Comments are closed.