计算机病毒及其防范技术实验报告(范文)

时间:2022-07-14 20:14:22 阅读: 最新文章 文档下载
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。
计算机病毒及其防范技术实验报告(范文)



计算机病毒及其防范技术课程实验报告 项目名称:

对于特定病毒的查杀程序 姓名: 雷雨诗 日期:

2012422 一、项目简介:

针对教员给出的病毒源代码(完整版),通过对特征码的扫描的方式,编写的两个专杀程序。这两个程序分别通过对两种特征码的扫描进行特征码的扫描,其中简化版针对固定函数名的病毒进行查杀,完整版可查杀函数名变化的变种病毒。

二、实现原理:

对于教员给出的病毒,通过分析,得出一种比较简单的查杀方法:通过对函数名的匹配,找到受感染的文件,定位main函数中插入的病毒函数调用的位置,在该函数前插入“//”将其注释掉,恢复原来函数功能。

intj=FileCode[i2].find("vir();");//匹配中毒文件 intk=FileCode[i2].find("//vir();");//匹配已查杀的文件 if(k!=-1) { cout<


break; }

if(j!=-1) {

FileCode[i2].insert(j,"//");//对病毒进行清除 cout< break;

}通过交流课,有同学提出可以通过对函数名进行变形的方法躲避查杀。针对有此特性的病毒,我得出另一种查杀方法,对于非函数名的特征码进行扫描,通过其行为方式进行查杀。具体来讲,当通过“//STRAT”这一特征码找到病毒后,由于已知该病毒是在main函数后第一的“{”后加入一行病毒调用函数,可通过直接删除改行的方法恢复被感染文件。

if(FileCode[0]=="//START")//找到被感染的文件 { cout< id=1;

}......

for(inti2=InsertLoc;i2对病毒进行清除 {

intj=FileCode[i2].find("{"); if(j!=-1&&id==1) {

FileCode[i2+1]="//";


cout< break; }

window764位旗舰版(理论上通用于其他系统) 编译工具:MicrosoftVisualC++6.0四、过程演示: 一)简化版1.对于被感染的文件1.cpp 2.用简化版查杀

可知1.cpp杀毒成功,12.cpp以被杀过3.查杀后效果 二)完整版1.杀前1(2).cpp文件特征码 病毒函数 2.进行杀毒 3.杀毒后代码

通过这次的实验,首先加深了对病毒传播原理的理解,其次,对于病毒的查杀有了较深的认识,通过本次实验,可以说是初探病毒世界,同时认识到在信息安全的道路上,我们任重而道远。

作者的洞察力太强了!




本文来源:https://www.wddqw.com/doc/32e12698dfccda38376baf1ffc4ffe473268fdeb.html