nmap源码工程下载:https://nmap.org/dist/nmap-7.91.tar.bz2
依赖库下载:svn checkout https://svn.nmap.org/nmap-mswin32-aux
遇到错误:unknown character ‘0x40’
1、nmap.rc.in需要修改成nmap.rc,然后修改FILEVERSION 1,0,0,1
2、把 nmap-mswin32-aux 目录拷贝到nmap-7.91同级目录下
3、设置包含目录和库目录,(OPSSL, npcap)
4、libdnet-stripped工程目录下的include文件夹包含头文件dnet-winconfig.h,需要修改如下,注释snprintf宏定义
//#define snprintf _snprintf #if _MSC_VER < 1700 #define snprintf _snprintf #endif
否则出现如下问题:
fatal error C1189: #error: Macro definition of snprintf conflicts with Standard Library function declaration
zenmap由python编译,在nmap的源码包中已经包含了zenmap的源码,编译方法如下:
在zenmap目录下启动cmd,输入以下命令
cmd /k .\install_scripts\windows\copy_and_compile.bat
执行完成后会新建目录dist,生成二进制exe