¿Qué ensamblaje debería aprender? [cerrado]

4

Quiero aprender a ensamblar, pero no estoy seguro de qué conjunto de instrucciones (¿si es el término correcto?) debería aprender?

Tengo experiencia previa en programación e hice una licenciatura en Informática, pero sorprendentemente nunca se cubrió.

Necesito que me enseñen lo básico, un indicador de qué recursos debo aprender.

Quiero aprender: terminología, configurar el entorno, hola mundo, en qué conjuntos de instrucciones se debe enfocar por las razones que detalle en el siguiente párrafo.

Usaré esto con mi experiencia C / WinAPI para el desarrollo de Malware (hago los compromisos del Equipo Rojo) y para la ingeniería inversa. Un breve resumen de los diferentes conjuntos de instrucciones sería genial, pero mi enfoque es del 99% en Windows en este momento.

Me gusta ver qué están usando los "chicos grandes" en términos de Stuxnet, o cómo los enormes productos como Photoshop tienen ingeniería inversa.

EDITAR: Puede que esté equivocado, pero este tutorial parece crear un programa en ensamblador que funciona en todas las CPU.

  

enlace

¡Así que ahora estoy muy confundido!

    
pregunta user5623335 15.06.2018 - 17:33
fuente

3 respuestas

7

Mi consejo sería que primero aprendas MIPS para comprender cómo funcionan exactamente las llamadas del montón y la pila y del sistema operativo y luego pasar a x86, ya que quieres centrarte en el desarrollo de malware para Windows.

EDITAR: ¿Por qué crees que funciona en todas las CPU? El artículo solo alega que funciona en todas las versiones de Windows y nada más.

    
respondido por el Gillian 15.06.2018 - 17:48
fuente
2

Mi consejo: Aprenda los conjuntos de instrucciones y la tecnología que utiliza la CPU de su máquina. Es el lugar que va a utilizar para preparar sus laboratorios y hacer sus experiencias para aprender.

Si está utilizando una CPU Intel en su máquina, aprenda ese tema. Intel solía tener muy buena documentación.

Si está utilizando una CPU ARM, aprenda las instrucciones ARM ya que son un poco diferentes a las de Intel x64 ...

Los conceptos básicos no difieren mucho entre sí de la CPU, por lo que podrá adaptarse en poco tiempo.

    
respondido por el Hugo 15.06.2018 - 17:43
fuente
2

Si desea comenzar con los conceptos básicos absolutos, puede probar el MCS-51, un conjunto de instrucciones simple que se usa en los microcontroladores como el 8051. Le ayudará a aprender los aspectos básicos del ensamblaje. A menudo es el primer lenguaje ensamblador que se enseña en las clases debido a su naturaleza simple pero ubicua. Además de eso, MIPS es un ISA RISC bastante simple con instrucciones de tamaño fijo y es bueno para el aprendizaje.

    
respondido por el forest 15.06.2018 - 21:23
fuente

Lea otras preguntas en las etiquetas