gpt4 book ai didi

c - 执行 shell 的 Shellcode 导致段错误

转载 作者:行者123 更新时间:2023-12-02 18:07:21 25 4
gpt4 key购买 nike

我正在尝试运行此代码来获取 shell,但即使禁用了 ASLR,我也会遇到段错误。我在装有 Ubuntu 20.04 64 位版本的 AMD Ryzen 3 计算机上运行此代码。

我正在使用以下命令进行编译:

$ gcc -O0 -fno-stack-protector -z execstack getshell.c -o getshell

文件getshell.c如下:

#include <stdio.h>

unsigned char shellcode[] = \
"\x48\x31\xf6\x56\x48\xbf\x2f\x62\x69\x6e\x2f\x2f\x73\x68\x57\x54\x5f\x6a\x3b\x58\x99\x0f\x05";
int main()
{
int (*ret)() = (int(*)())shellcode;
ret();
}

编辑:我找到了这段代码 here

最佳答案

unsigned char __attribute__((section(".text#"))) shellcode[]

对我有用(注意 #)

# 是一个技巧 - 它注释了 gcc 发出的汇编代码的一部分。

关于c - 执行 shell 的 Shellcode 导致段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72980313/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com