gpt4 book ai didi

c - 传递 `memset' 的 arg 2 从指针生成整数而不进行强制转换

转载 作者:行者123 更新时间:2023-12-02 07:42:36 24 4
gpt4 key购买 nike

我正在学习关于 http://www.corelan.be/index.php/2009/07/19/exploit-writing-tutorial-part-1-stack-based-overflows/ 的教程了解更多关于漏洞利用的信息。显示的脚本是用 perl 写的,我想用 C 写无论我是“A”还是“\x41”作为第二个参数,都会收到此错误。这是我的代码:

#include <string.h>
#include <stdio.h>

int main(void)
{
FILE *crash;
crash = fopen("crash.m3u", "w+");
char junk[10001];
memset(junk, "A", sizeof(junk));
fputs(junk, crash);
fclose(crash);
return 0;
}

最佳答案

使用

memset(junk, 'A', sizeof(junk));

在 C 中,单引号 ' 和双引号 " 之间存在巨大差异。单引号用于 char 值,并且双引号用于字符串(多个字符,或 const char *)值。

关于c - 传递 `memset' 的 arg 2 从指针生成整数而不进行强制转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9506536/

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