如何在shell代码中使用syscall,而不在Linux x86-64中使用"syscall"或&



我需要构建一个没有0x0f字节的shell代码,问题是syscallsysenter指令的代码机中有0x0f。有什么指令可以用来调用execve吗?

经过一些工作,我找到了一个解决方案。背后的想法是构建一个shell代码,它能够改变自己,在执行之前修改一些字节的机器代码。

所以我所做的是将rip加载到一个寄存器中,并在之后放入一些字节。然后,我将这些字节更改为x0fx05,这样,我终于执行了shell代码。在将所需字节放入寄存器(使用mov+xor或shift,或各种其他方式(后,我本可以使用RIP相对存储,而不是RIP相对LEA

最新更新