This question is unlikely to help any future visitors; it is only relevant to a small geographic area, a specific moment in time, or an extraordinarily narrow situation that is not generally applicable to the worldwide audience of the internet. For help making this question more broadly applicable, visit the help center
7年前关闭。
我正在帮助IM的开发人员测试他们的安全性和问题,他们想要一个在他们的服务器上报告的tcp重置漏洞的示例。我在编译它时遇到问题,有人能帮忙吗?
错误日志:
http://pastie.org/4212921
C文件:
http://www.exploit-db.com/download/291

最佳答案

从第一个报告的错误开始几乎总是一个好主意。
在您的情况下,第一个报告的错误是:

reset-tcp.c:51: error: ‘u_char’ undeclared (first use in this function)

u_char不是标准的C类型;它可能是unsigned char的typedef。
源文件具有以下#include指令:
#include <libnet.h>
#include <stdio.h>

<stdio.h>无法定义u_char,因此必须在<libnet.h>中定义它--特别是在源文件所依赖的<libnet.h>的任何版本中。
这是一个非标准的头文件(它没有安装在我的系统上),所以我最好的猜测是,你使用的libnet版本与reset-tcp.c设计用来使用的版本不同。
我知道这不能解决你的问题,但它应该给你一个好的起点。
编辑:
我刚刚在我的Ubuntu12.04系统上安装了libnet1libnet1-devlibnet1-doc包(1.1.4-2.1版的libnet1)。现在,您的源文件编译(在连接第74行和第75行之后)时出现了一些警告。类型u_char/usr/include/i386-linux-gnu/sys/types.h中定义,这是由libnet.h间接包含的。
我确实收到一些警告:
291.c:95:1: warning: format ‘%X’ expects argument of type ‘unsigned int *’, but argument 3 has type ‘u_char *’ [-Wformat]
291.c:95:1: warning: format ‘%X’ expects argument of type ‘unsigned int *’, but argument 4 has type ‘u_char *’ [-Wformat]
291.c:95:1: warning: format ‘%X’ expects argument of type ‘unsigned int *’, but argument 5 has type ‘u_char *’ [-Wformat]
291.c:95:1: warning: format ‘%X’ expects argument of type ‘unsigned int *’, but argument 6 has type ‘u_char *’ [-Wformat]
291.c:95:1: warning: format ‘%X’ expects argument of type ‘unsigned int *’, but argument 7 has type ‘u_char *’ [-Wformat]
291.c:95:1: warning: format ‘%X’ expects argument of type ‘unsigned int *’, but argument 8 has type ‘u_char *’ [-Wformat]
291.c:116:1: warning: format ‘%i’ expects argument of type ‘int’, but argument 2 has type ‘long unsigned int’ [-Wformat]

您一定要注意的是,代码当前试图在intu_char)对象中存储unsigned char值。
建议:
告诉我们您正在使用的操作系统和libnet的版本;如果我们有此信息,可能会有人提供更好的建议。
让我们知道源代码是从哪里来的,看看您是否可以找到它应该使用的libnet的哪个版本。

关于c - 需要帮助编译一些东西! (:,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11370975/

10-16 22:41