我正在尝试在Linux上使用x86程序集读取文件的内容。问题是,我们应该在$res = array();
foreach($array as $sub) {
$res = array_merge($res, $sub);
}
$keys = array_keys($res)
var_dump($keys);
中添加什么-sys_open的“权限”寄存器。
我以前使用过C的edx
;但没有任何“权限”字段。我正在尝试读取属于可执行文件的同一所有者的文件。文件的权限设置为open()
(0400
)。我尝试使用-r--------
打开文件:空(0),edx
和0666
。它们全部返回“ -13”到0400
,似乎是eax
。
示例代码:
EACCES
mov eax, 0x5; //sys_open
push 0x6362612f //file name in hex, let's say "/abc"
mov ebx, esp; //filename to ebx
xor ecx, ecx; //O_RDONLY
mov edx, 0666o; //permissions in octal for nasm
int 0x80; //call it
通常会(或在这种只读情况下)打开文件?文件的当前权限是空的还是任意的?
谢谢!
答案 0 :(得分:0)