首页
社区
课程
招聘
[求助]mips fno-stack-protector 不生效
发表于: 2022-4-12 18:59 11936

[求助]mips fno-stack-protector 不生效

2022-4-12 18:59
11936

代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
 
int more_arg(int a, int b, int c, int d, int e)
{
        char dst[100]={0};
        sprintf(dst,"%d%d%d%d%d\n",a,b,c,d,e);
}
 
void main()
{
        int a1=1;
        int a2=2;
        int a3=3;
        int a4=4;
        int a5=5;
        more_arg(a1,a2,a3,a4,a5);
}

使用下面的命令进行编译

1
mips-linux-gnu-gcc -fno-stack-protector ./more_argument.c  -o test -static -ggdb -z norelro

最后利用checksec 检查堆栈保护,发现canary的值为yes,编译选项fno-stack-protector不生效

利用ida打开编译好的二进制文件,随便找一个函数,也有栈保护

有木有大佬遇到过同样的问题


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

上传的附件:
  • test (590.34kb,2次下载)
收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 237
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
2
应该是因为静态链接的二进制文件里存在__stack_chk_guard和__stack_chk_fail所以导致了checksec的误报 你在ida里看 如果开启了canary保护的话 最下面是有__stack_chk_fail的
2024-7-16 10:49
0
游客
登录 | 注册 方可回帖
返回
//