Linux mmap assembler
Форум — Development
Всем привет! При вызове 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