经常有人问exploit如何编译,比如xfocus就有很多exploit,有独立的也有在文章里面贴出来的,一般就是一段代码,遇到这样的情况先把代码复制下来,存成c后缀的文件(这个很重要,编译器在编译的时候会安装源码文件的后缀区分你是用什么语言编写的而编译,C++源码文件的后缀是cpp,C++的检查项目要比c严谨的多,而exploit大多是用c编写的,如果后缀不对,有可能编译不了)。然后打开这个c文件,看看开始的说明有没有编译方式,一般好的作者会写上编译的环境及其方法的,比如在vc的编译环境下用cl example.c编译或者在linux下用等gcc example example.c(gcc是linux下的C/C++编译器)等,那么我们运行vc目录下bin目录的VCVARS32.BAT文件(vc控制台环境设置文件,vc安装的时候会设置这些环境,并在系统启动的时候生效,如果你安装的时候没有选择,那么才需要运行这个文件),然后照说明里面的方法编译就可以了;如果没有说明如何编译,那么我们先区分一下这个代码是在什么环境下编译的,如果包括windows.h或者winsock.h这些头文件,那肯定在windows下是可以编译的,如果不包括,那么就没准是linux下的了。:)如果是windows下可以编译的代码,那么用vc打开这个c文件,直接编译好了,当然有可能出错误,如果出现编译(Compiling)错误,那就是代码的写法上面有问题,要具体情况具体分析,根据知识自己改,但一般编译exploit的时候很少出现编译错误,经常会出现连接(Linking)错误,比如下面这样:
Requirements
Windows NT/2000/XP: Included in Windows NT 3.1 and later.
Windows 95/98/Me: Included in Windows 95 and later.
Header: Declared in Winsock2.h.
Library: Use Ws2_32.lib.
~~~~~~~~~~~~~~~~~~~~~~~
注意这句话