我正在尝试为我所在的安全类编译C漏洞,并且正在努力让GCC执行 . 问题是我的/ usr / include文件夹缺少GCC正在寻找处理文件包含的文件夹 . 下面的第一个错误描述了一个不存在的文件夹 .
asm / page.h:没有这样的文件或目录
到目前为止我尝试了什么:
-
使用我的/usr/src/linux-headers-4.4.0-kali1-common/include/*文件夹对它进行符号链接,但该文件夹中的文件开始抛出错误,而这些错误又无法找到其他文件 .
-
使用GCC 's -I parameter to manually specify each folder to look in for my includes but this also doesn'工作 . (下面)
gcc 10613.c -o workdamnit -I / usr / src / linux-headers-4.4.0-kali1-common / include / asm-generic / -I / usr / src / linux-headers-4.4.0-kali1- common / include / linux / -I / usr / src / linux-headers-4.4.0-kali1-common / include / uapi / asm-generic / -I / usr / src / linux-headers-4.4.0-kali1- common / include / uapi / linux / ERROR:来自/usr/include/stdio.h:33:0的文件,来自10613.c:2:/usr/src/linux-headers-4.4.0-kali1-common /include/linux/stddef.h:4:31:致命错误:uapi / linux / stddef.h:没有这样的文件或目录编译终止 .
- 我更新了import语句,使用我的kali linux公共头文件中的page.h . 当我试图运行它时,我收到以下错误:
'PAGE_SIZE'未声明(首次使用此功能) .
- 最后,我尝试使用wine gcc进行编译,但是这个特殊的漏洞利用了一个套接字库,我猜想无法在windows机器上编译 .
GCC版本:5.3.1链接利用:https://www.exploit-db.com/exploits/10613/
我对C及其编译要求的了解非常有限 . 任何帮助将不胜感激 .
1 回答
请提供一个可用且可编辑的示例:https://stackoverflow.com/help/mcve
根据错误,看起来
-I/usr/src/linux-headers-4.4.0-kali1-common/include/uapi/linux/
实际上应该是-I/usr/src/linux-headers-4.4.0-kali1-common/include
.