【发布时间】:2023-03-07 04:19:02
【问题描述】:
我在编译以下漏洞利用代码时遇到问题:
http://downloads.securityfocus.com/vulnerabilities/exploits/59846-1.c
我正在使用“gcc file.c”和“gcc -O2 file.c”,但是它们都导致以下错误:
sorbolinux-exec.c: In function ‘sc’:
sorbolinux-exec.c:76: error: stray ‘\302’ in program
sorbolinux-exec.c:76: error: stray ‘\244’ in program
sorbolinux-exec.c:76: error: ‘t’ undeclared (first use in this function)
sorbolinux-exec.c:76: error: (Each undeclared identifier is reported only once
sorbolinux-exec.c:76: error: for each function it appears in.)
我尝试在 Kali Linux 和 Ubuntu 10.04 (Lucid Lynx) 上编译它们并得到相同的结果。
【问题讨论】:
-
在我看来,您的文件包含“国家”字符,这些字符在标识符或类似的标识符中是不合法的。但是您确实应该在问题中包含出现这些错误的行。
-
错误信息说明一切。
-
\302\244是 UTF-8 序列 0xC2 0xA4 的八进制表示,即货币符号:¤。 -
这道题是canonical题,针对从网页、PDF文档或通过聊天复制粘贴代码时经常遇到的杂散字符问题(例如、Skype 聊天或Facebook Messenger)。因此,它应该得到全面的答案。目前,只有 twitchdotcom slash KANJICODER's answer 符合这个要求。
-
常见的一个是杂散 '\342' '\200' '\213' (八进制数 - UTF-8 字节序列 0xE2 0x80 0x8B,Unicode 码位 U+200B (ZERO WIDTH SPACE)) .在Geany 中以正则表达式模式搜索/替换
\x{200B}有效。