不用打开外壳,而是结束

问题描述

我试图编写一个汇编程序(在64位Ubuntu 20.04计算机上使用NASM),该程序执行sh命令的syscall execve。

代替打开外壳,它只是结束。

对于解决此问题,我将不胜感激。

代码如下:

global _start
_start:

mov rax,59

xor rdi,rdi
mov rdi,str1

xor rsi,rsi
mov rsi,str2

mov rdx,0xa

syscall     ;execute execve syscall

mov rax,60
xor rdi,rdi
syscall     ;execute exit syscall

section .data
str1: db '/bin/sh'  ;string of the first argument of execve 
str2: db '/bin/sh',0xa  ;string array of the secand argument of execve.
            

我这样编译并执行asm文件

nasm -felf64 execve_sh.nasm -o xxx.o    
ld xxx.o -o zzz         
./zzz

非常感谢 塔里语

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)