【发布时间】:2011-12-12 04:06:26
【问题描述】:
我正在尝试在 Linux 上使用来自 unistd.h 的 execve() 生成一个新进程。我尝试将以下参数传递给它execve("/bin/ls", "/bin/ls", NULL);,但没有得到任何结果。我也没有收到错误,程序就退出了。发生这种情况有什么原因吗?我尝试以 root 和普通用户身份启动它。我需要使用execve() 的原因是因为我试图让它在这样的程序集调用中工作
program: db "/bin/ls",0
mov eax, 0xb
mov ebx, program
mov ecx, program
mov edx, 0
int 0x80
谢谢!
【问题讨论】:
标签: c linux assembly execute execve