解压后cd进入ls出现如下
打开INSTALL文本看到如下AUTHORS COPYING CVS FAQ md5.c sha1.c utils.c
CHANGELOG cowpatty.c dict INSTALL md5.h sha1.h utils.h
common.h cowpatty.h eap-test.dump Makefile README TODO WISHLIST
大概意思是一般就make就可以了,但是该软件默认配置是用户已经安装OpenSSL,如果要安装的话去安装。不想安装的话就把Makefile文件带有 "-DOPENSSL"这一行注释掉,把带有 "-Di386_ASM"解注释。coWPAtty - Brute-force dictionary attack against WPA-PSK.
Copyright(c) 2004, Joshua Wright <jwright@hasborg.com>
INSTALLATION
Most users will want to just run "make" to generate the coWPAtty binary.
Running "make strip" will result in a smaller binary without symbols.
Note that the default settings in the Makefile assume you have OpenSSL
installed on your system. OpenSSL has a considerably faster SHA1
implementation than the C or i386 assembler code included in sha1.c. If you
don't have OpenSSL on your system ... install it. It's at www.openssl.org.
If you don't want to install OpenSSL and don't mind a ~25 performance
performance hit, edit the Makefile such that the line with "-DOPENSSL" is
commented out, and uncomment the line with "-Di386_ASM".
以下是Makefile文件内容
我不知道自己安装了OPENSSL没有,就sudo apt-get install OPENSSL##################################
# <jwright> Well, I may be doing stupid things with make
# <jwright> OK, it was Makefile stupid'ness
# <jwright> I don't really understand what the hell I am doing with Make, I'm
# just copying other files and seeing what works.
# <dragorn> heh
# <dragorn> i think thats all anyone does
# <dragorn> make is a twisted beast
##################################
LDLIBS = -lpcap
CFLAGS = -pipe -Wall -DOPENSSL -O3
LDLIBS += -lcrypto
#CFLAGS = -g3 -ggdb -pipe -Wall -Di386_ASM
#CFLAGS = -g3 -ggdb -pipe -Wall
#CFLAGS += -g3 -ggdb
#CFLAGS += -static
PROGOBJ = md5.o sha1.o utils.o cowpatty.o
PROG = cowpatty
all: $(PROGOBJ) $(PROG)
cowpatty: common.h md5.c md5.h sha1.h cowpatty.c cowpatty.h sha1.c \
sha1.h utils.c utils.h
$(CC) $(CFLAGS) cowpatty.c -o cowpatty utils.o md5.o sha1.o $(LDLIBS)
utils: utils.c utils.h
$(CC) $(CFLAGS) utils.c -c
md5: md5.c md5.h
$(CC) $(CFLAGS) md5.c -c
sha1: sha1.c sha1.h
$(CC) $(CFLAGS) sha1.c -c
clean:
$(RM) $(PROGOBJ) $(PROG) *~
strip:
@ls -l $(PROG)
@strip $(PROG)
@ls -l $(PROG)
love:
@echo "Not right now, I have a headache."
结果发现自己安装了
下面是出错信息,是默认配置
下面是修改了注释后的出错信息ethan@King-laptop:~/下载/cowpatty$ make
cc -pipe -Wall -DOPENSSL -O3 -c -o md5.o md5.c
md5.c:25:25: error: openssl/md5.h: 没有该文件或目录
md5.c: 在函数‘md5_mac’中:
md5.c:34: 错误: ‘MD5_CTX’未声明(在此函数内第一次使用)
md5.c:34: 错误: (即使在一个函数内多次出现,每个未声明的标识符在其
md5.c:34: 错误: 所在的函数内也只报告一次。)
md5.c:34: 错误: expected ‘;’ before ‘context’
md5.c:35: 警告: 隐式声明函数‘MD5_Init’
md5.c:35: 错误: ‘context’未声明(在此函数内第一次使用)
md5.c:36: 警告: 隐式声明函数‘MD5_Update’
md5.c:39: 警告: 隐式声明函数‘MD5_Final’
md5.c: 在函数‘hmac_md5_vector’中:
md5.c:47: 错误: ‘MD5_CTX’未声明(在此函数内第一次使用)
md5.c:47: 错误: expected ‘;’ before ‘context’
md5.c:55: 错误: ‘context’未声明(在此函数内第一次使用)
make: *** [md5.o] 错误 1
各位懂的帮助下,谢谢!ethan@King-laptop:~/下载/cowpatty$ make
cc -g3 -ggdb -pipe -Wall -Di386_ASM -c -o md5.o md5.c
cc -g3 -ggdb -pipe -Wall -Di386_ASM -c -o sha1.o sha1.c
sha1.c: 在函数‘pbkdf2_sha1_f’中:
sha1.c:151: 警告: 初始化指针时目标与指针符号不一致
sha1.c:167: 警告: 传递‘hmac_sha1_vector’的参数 1 给指针时,目标与指针符号不一致
sha1.c:172: 警告: 传递‘hmac_sha1’的参数 1 给指针时,目标与指针符号不一致
sha1.c: 在函数‘sha1_prf’中:
sha1.c:219: 警告: 初始化指针时目标与指针符号不一致
sha1.c:219: 警告: 初始化指针时目标与指针符号不一致
sha1.c:219: 警告: 初始化指针时目标与指针符号不一致
cc -g3 -ggdb -pipe -Wall -Di386_ASM -c -o utils.o utils.c
cc -g3 -ggdb -pipe -Wall -Di386_ASM -c -o cowpatty.o cowpatty.c
cowpatty.c:38:18: error: pcap.h: 没有该文件或目录
cowpatty.c:57: 错误: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
cowpatty.c:60: 错误: ‘PCAP_ERRBUF_SIZE’未声明(不在函数内)
cowpatty.c: 在函数‘openpcap’中:
cowpatty.c:218: 错误: ‘p’未声明(在此函数内第一次使用)
cowpatty.c:218: 错误: (即使在一个函数内多次出现,每个未声明的标识符在其
cowpatty.c:218: 错误: 所在的函数内也只报告一次。)
cowpatty.c:218: 警告: 隐式声明函数‘pcap_open_offline’
cowpatty.c:225: 警告: 隐式声明函数‘pcap_datalink’
cowpatty.c:229: 错误: ‘DLT_NULL’未声明(在此函数内第一次使用)
cowpatty.c:230: 错误: ‘DLT_EN10MB’未声明(在此函数内第一次使用)
cowpatty.c:237: 错误: ‘DLT_IEEE802_11’未声明(在此函数内第一次使用)
cowpatty.c:244: 错误: ‘DLT_PRISM_HEADER’未声明(在此函数内第一次使用)
cowpatty.c: 在函数‘closepcap’中:
cowpatty.c:262: 警告: 隐式声明函数‘pcap_close’
cowpatty.c:262: 错误: ‘p’未声明(在此函数内第一次使用)
cowpatty.c: 在函数‘getpacket’中:
cowpatty.c:270: 警告: 隐式声明函数‘pcap_next_ex’
cowpatty.c:270: 错误: ‘p’未声明(在此函数内第一次使用)
cowpatty.c: 在函数‘main’中:
cowpatty.c:468: 错误: 提领指向不完全类型的指针
cowpatty.c:472: 错误: 提领指向不完全类型的指针
cowpatty.c:511: 警告: 隐式声明函数‘gettimeofday’
make: *** [cowpatty.o] 错误 1