Bueno, me ha salido otra dudilla pequeña...
Por qué lo haceis asi ?
global _start
section .code
_start:
push ecx
mov byte [esp], 041h
mov eax, 0x4
mov ebx, 0x1
mov ecx, esp
mov edx, 0x1
int 80H
pop ecx
mov eax, 1
xor ebx, ebx
int 80H
Primero, push y pop sobran.
Segundo, deja bytes nulos xD... (mala constumbre
)
Comparando, en la mia me ahorro 12 bytes al acabar toda la compilacion
global _start
section .code
_start:
mov byte [esp], 0x41
mov al, 0x4
mov bl, 0x1
mov ecx, esp
mov dl, 0x1
int 80H
mov al, 1
xor ebx, ebx
int 80H
Bueno, ahora para usar el code simplemente compilo
y miro cuanto ocupa
¿Correcto? Ahora eso lo uso como shellcode no?
Alguien me puede corregir xD?