• Duda sobre ensamblador

 #491212  por anemus
 17 Mar 2017, 14:09
Hola a todos,

Llevo tiempo mirandome tutoriales de ensamblador y porque me gustaria analizar y hacer reverse al malware, y lo que no me queda claro es que o soy tonto y no se me queda este "lenguaje"por decirlo de una manera.

Vamos que lo que me gustaria saber realmente si el ensamblador se va leyendo las instrucciones o se basa en saber como se mueven los datos hacia la pila, registros y demas.

Quizas me cuesta explicarme pero esque no se como entender un lenguaje donde en lugar de datos solo veo operaciones con memoria, movimiento y salto de posiciones y registros.

Gracias de todos modos!
 #491220  por SadFud
 19 Mar 2017, 04:50
No entiendo tu pregunta pero como cualquier otro lenguaje para entenderlo tienes que saber la sintaxis.
 #491222  por anemus
 19 Mar 2017, 14:31
Me refiero a que como voy a entender una sintaxis en la que solo veo operaciones con registros y direcciones de memoria xD

Saludos y gracias de todos modos!
 #491223  por crack81
 20 Mar 2017, 01:16
@anemus en realidad aprender ensamblador basico no es dificil, en lo personal para aprender ensamblador seria recomendable saber un poco de C ya que te muestra conceptos como son el tema de punteros y memoria pero aun asi si no conoces sobre ese lenguaje no hay impedimento para aprender ensamblador cual sea la version que este usando la mas comun en entornos windows es MASM es el ensamblador de Microsoft pero existen otros como el Fasm o Nasm en lo personal el mas "facil" es el Fasm de ahi seguiria con NASM que es mulitplataforma el cual corre tanto en LINUX como WINDOWS.

Cuando arranque en ASM me sirvio este tutorial [ Debe registrarse para ver este enlace ] por lo simple que es despues que aprendi lo basico solo es cuestion que le preguntes a google ya que se ha discutido mucho el tema ya cuando realmente no encuentres info puedes postear tu dudas aca.

Saludos...
 #491557  por davinciomar
 24 Abr 2017, 16:01
Empieza por el hola mundo en fasm para windows
global _main
extern _printf

section .data
msg db "Hello World", 0

section .bss
section .text
_main:
 push ebp
 mov ebp,esp

  push msg
  call _printf
  add esp,4
  
 mov esp,ebp
 pop ebp

ret
Para compilarlo:
nasm -f elf a.asm
gcc a.o
//o tambien
nasm -f win32 a.asm -o a.o
gcc a.o
En windows flat assembler como ide esta bien .