Foro de elhacker.net

Programación => ASM => Mensaje iniciado por: Poyoncio en 2 Enero 2017, 21:46 pm



Título: Curso ensamblador
Publicado por: Poyoncio en 2 Enero 2017, 21:46 pm
Bueno, solo queria comentar que estoy llevando a cabo un curso de ensamblador en linux debido a la escasez de documentacion en español:

http://poyoncio.com/2016/12/28/Indice-curso-ensamblador-desde-cero/

El curso esta lleno de ilustraciones para que se entienda mejor y se ejemplifica con python y c++. Espero que les guste, esta orientado a aprender lo básico y tener una buena base y entrar luego en reversing, aproximo que se crearan 15 capitulos. Cuando se termine el curso lo recogere todo en un word y lo subire aqui

Saludos


Título: Re: Curso ensamblador
Publicado por: ThinkByYourself en 3 Enero 2017, 18:13 pm
Perfecto! Pues +1 alumno! Y NASM y todo, estaré atento!

Por cierto! He visto que se puede hacer lo mismo que haces con el programa de Python con esta línea en bash:

Código
  1. echo $'nasm_compile_fn() {\n\tnasm -f elf $1.asm && ld -m elf_i386 -s -o $1 $1.o\n}\nalias nasm-compile="nasm_compile_fn"' >> ~/.bashrc && source ~/.bashrc

Copiar y pegar en la consola, y ya con poner:

Código
  1. nasm-compile Hola-Mundo

Y ya será suficiente. Para compilar. Luego ejecutar aparte.

Saludos!


Título: Re: Curso ensamblador
Publicado por: fary en 3 Enero 2017, 19:55 pm
Buena iniciativa, seguire tu blog  :)

saludos.


Título: Re: Curso ensamblador
Publicado por: Poyoncio en 3 Enero 2017, 20:53 pm
Perfecto! Pues +1 alumno! Y NASM y todo, estaré atento!

Por cierto! He visto que se puede hacer lo mismo que haces con el programa de Python con esta línea en bash:

Código
  1. echo $'nasm_compile_fn() {\n\tnasm -f elf $1.asm && ld -m elf_i386 -s -o $1 $1.o\n}\nalias nasm-compile="nasm_compile_fn"' >> ~/.bashrc && source ~/.bashrc

Copiar y pegar en la consola, y ya con poner:

Código
  1. nasm-compile Hola-Mundo

Y ya será suficiente. Para compilar. Luego ejecutar aparte.

Saludos!

Espero que te guste y aprendas, realmente no es tan dificil como lo pintan!!

Gracias por la aportacion, cuando requiera de algun script que requiera en el curso te mandare mp para variar un poco y no solo usar python


Buena iniciativa, seguire tu blog  :)

saludos.


Bueno, poco podre enseñarte ati jejeje, pero si ves algún error estare encantado de modificarlo!!



Por otra parte, tambien comentar que si hay algun concepto que no se entiende bien en los posts me lo podeis comentar y tratare de hacer la explicacion mas larga.

Si hay algún error o algo que no os funciona tambien podeis contactarme por aqui o por telegram. La idea es aprovechar ahora que son vacaciones para sacar posts a full y luego sacar 1 post por semana minimo.


Título: Re: Curso ensamblador
Publicado por: ThinkByYourself en 4 Enero 2017, 21:58 pm
Claro que sí, si está en mis manos ayudar con algún script cuenta con ello.

La verdad que lo veo muy bien hecho porque no son explicaciones ni muy densas ni largas, y así uno se hace más rápido para empezar a jugar con el lenguaje.

Si me salen dudas ya te comentaré pues, que seguramente sí porque me gustaría hacerme una idea global del lenguaje, sus limitaciones, los usos prácticos que tiene hoy día, herramientas, y esas cosas.

Gracias y un saludo!


Título: Re: Curso ensamblador
Publicado por: Poyoncio en 4 Enero 2017, 22:42 pm
Me alegro de que sean de tu agrado, por otro lado comentarte que la programacion en ensamblador para lo que vienen siendo grandes proyectos si no es temas de reversing esta chungo, escritura de firmware y pics y poco mas, aun asi resulta interesante.

Recien he posteado el capitulo 5, tambien comentar que en twitter voy avisando cada vez que publico algún post.

Saludos


Título: Re: Curso ensamblador
Publicado por: Borito30 en 5 Enero 2017, 00:55 am
Gracias ensamblador es muy importante chequeare los tutoriales! Ya que yo no sé nada de ensamblador y querría aprender! ;-) A simple vista se ve dificil es recomendable usar un linux y ir probando los programas gracias! Tan acostumbrado a windows que el linux que tengo instalado se quedo sin usar  :silbar:


Título: Re: Curso ensamblador
Publicado por: Antikorper en 5 Enero 2017, 20:17 pm
Muy interesante. Uno mas que se apunta.

Un saludo.


Título: Re: Curso ensamblador
Publicado por: Sadistski en 18 Enero 2017, 02:15 am
para aportar: gcc -S archivo.c  ---> para convertir un archivo *.c en ASM.

saludos.


Título: Re: Curso ensamblador
Publicado por: fary en 26 Marzo 2017, 12:10 pm
¿Que paso con el curso poyoncio?  hace mas de un mes que ya no publicas :-\  No te vengas abajo!!

saludos.


Título: Re: Curso ensamblador
Publicado por: Borito30 en 29 Marzo 2017, 03:05 am
Una vez que obtienes el código compilado puedes crear el ejectable usando gcc no sé yo tuve problemillas para compilar directamente nasm en windows pero de esta manera funciono.
Ej. muy muy basico para win.
Código:
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

en windows hice:
Código:
nasm -f elf a.asm
gcc a.o
//o tambien
nasm -f win32 a.asm -o a.o
gcc a.o

Mala practica puede que sea compilarlo así no estoy seguro.


Título: Re: Curso ensamblador
Publicado por: Meta en 31 Marzo 2017, 15:17 pm
Buen curso, ánimos.


Título: Re: Curso ensamblador
Publicado por: Yuki en 1 Abril 2017, 02:12 am
Me pareció muy interesante tu curso y mas aún porque me veo en la necesidad de ampliar mis conocimientos a Linux, espero que puedas ampliar mas tus cursos!

Tengo una duda también, es corta, ¿que tipo de llamada utilizan las APIs de Linux? veo que sus argumentos pasan por registros y no por la pila ¿acaso es fastcall? gracias!


Título: Re: Curso ensamblador
Publicado por: Borito30 en 2 Febrero 2018, 11:19 am
podias haber subido el curso a mas de uno le hubiese servido!