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

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

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
熊猫烧香病毒之专杀工具的编写教程 通过熊猫烧香的行为分析,这里仅针对所得结果,来进行专杀工具的编写。本节课我们会学习使用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:**向外发包,连接局域网中其他机器。   纵观以上八点行为,这里需要说明的是,其中的第二点行为,由于我不知道用户计算机在中毒前的设置,因此这条我打算忽略。第三点行为,我不知道用户的计算机安装了哪些杀毒软件,而病毒又会将所有杀软的注册表启动项删除,所以这一条我打算忽略,用户在使用本专杀工具后,可以自行重新安装杀软,或者有经验的用户也可以自行在注册表中添加回杀软名称。另外,病毒的第八点行为,我也打算忽略,因为只要删除了病毒本体,那么自然就解决了这个问题,所以我的专杀工具主要应付剩下的五个问题。在这里各位读者想必也能够发现,我的专杀工具所要做的工作,与我之前写的手动查杀的过程其实是极为相似的,这也是为什么我当时就强调,我们依旧要掌握手动查杀病毒这个技能的原因。 专杀工具界面的制作 如果使用批处理来杀毒,因为它运行时没有界面,因此我们往往不知道杀毒程序究竟干了些什么,也不知道究竟有没有查杀成功,这也凸显了使用高级语言开发专杀工具的优势。这里我使用MFC进行“熊猫烧香”病毒专杀工具的开发,绘制界面如下图所示: 其中的“Edit Box”控件的属性调整如下: 界面非常简单,接下来就是代码的编写。计算病毒程序的散列值 在查杀病毒的技术中有一种方法类似于特征码查杀法,这种方法并不从病毒内提取特征码,而是计算病毒的散列值。利用这个散列值,就可以在查杀的过程中计算每个文件的散列,然后进行比较。这种方法简单易于实现,一般在病毒刚被发现时,在逆向分析前使用。常见的计算散列的算法有MD5、Sha-1以及CRC32等。 这里使用CRC32算法计算散列值,代码如下该函数的参数有两个,一个是指向缓冲区的指针,第二个是缓冲区的长度。它将文件全部读入缓冲区中,然后用CRC32函数计算文件的CRC32散列值,可以得到我所研究的“熊猫烧香”病毒的散列值为0x89240FCD。这里请大家注意,不同版本的病毒的散列值是不同的,我所得出的这个值仅针对我所讨论的这个版本的病毒。  4、查找进程与提升权限   我们需要在内存中查找病毒是否存在,代码如下:   这里还需要提升系统的权限,提升成功后,当前进程就可以访问一些受限的系统资源。代码如下:   5、查找并删除Desktop_.ini文件   病毒会在所有盘符下面的非系统目录中创建名为Desktop_.ini的文件,虽说这个文件看似并不会对系统产生什么危害,但是为了实现对“熊猫烧香”的彻底查杀,还是应当将其删除的。这里主要涉及两方面的知识,一个是遍历整个磁盘的文件,这需要使用FindFirstFile()与FindNextFile()这两个API函数,并采用递归调用的方法;另一个是修改文件属性,因为病毒创建出来的文件会带有系统、只读和隐藏这三个属性,若不对其进行更改,是无法删除病毒文件的。依照这个思想,编

文档评论(0)

tianjiao123 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档