Всем привет!
При вызове mmap(); прога выдает отрицательное число но сам файл открывается и смещение выполняется
;-------------------------------------------------
// filename - asciiz
open_file:
mov eax,SYS_open
mov ebx,filename
mov ecx,O_RDWR
int 0x80
cmp eax,0xFFFFF000
ja exit
xchg eax,ebx
mov eax,SYS_lseek // lseek(fd,0,2);
mov ecx,0
mov edx,2
int 0x80
xchg eax,edx
push ebx
push 0
push ebx
push 1
push 3
push edx
push 0
mov eax,SYS_mmap // mmap(0,edx/*file size*/,PROT_READ|PROT_WRITE,MAP_SHARED,ebx/*filedecrypter*/,0);
mov ebx,esp
int 0x80
add esp,byte 24
pop ebx
cmp eax,0xFFFFF000
ja exit
exit:
mov eax,1
xor ebx,ebx
int 0x80
;-------------------------------------------------
на выходе в eax = 0xFFFFFFF7