如何在sys_create中设置权限

时间:2015-04-02 03:33:40

标签: linux assembly x86 system-calls

在linux中我想使用sys_create创建一个简单的abc.txt文件,但是当我设置权限时,输出文件获得了错误的权限。

这是我的代码:

Section   .text
global _start

_start:
mov eax, 8
jmp short GoToCall
shellcode:
pop ebx
mov ecx, 544
int 0x80

mov ebx,0
mov eax,1
int 0x80


GoToCall:
call shellcode
db 'abc.txt',0

当我执行上面的代码时,abc.txt获得了这个权限:

----r---T

我不想使用标志等,因为我想将这个汇编代码用作shellcode。

1 个答案:

答案 0 :(得分:0)

544是十进制的。我假设您想要它在八进制中,因此要么将其转换为十进制,要么使用适合您的汇编程序的格式。遗憾的是,您忘记提及您使用的是哪一个,但例如在nasm中,您可以编写544o来获取-r-xr--r--(您也忘了提及您想要设置的权限)。