1
我在写一些shellcode,我想知道如何正确调用驻留在libc中的程序集中的函数。注意下面的地址是系统函数的地址。我确定我有这个地址是正确的,因为如果我用这个地址覆盖返回地址,系统被调用成功,但它似乎在程序集中的segfault(它包含在缓冲区中)。如果有什么不清楚的地方,让我知道。我试图在一个可执行堆栈上获得一个libc函数调用,并且在这里拉我的头发。请注意,代码到达缓冲区没有问题,并开始通过适当的nop底座,但在调用指令(代码如下)上发生段错误。调用函数在内存地址x86_x64
mov 0xf7ff7fa5b640, %rax
mov (hex representation of /bin/sh), %rdi
call *%rax