计算机病毒分析.docx
《计算机病毒分析.docx》由会员分享,可在线阅读,更多相关《计算机病毒分析.docx(38页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计算机病毒课程期末复习资料第1章 恶意代码分析入门1.1 计算机病毒的定义和类型1.2 计算机病毒分析的目标1.3 计算机病毒分析技术概述第2章 静态分析技术基础2.1 杀毒软件2.2 哈希值2.3 特征字符串2.4 加壳与混淆2.5 PE文件格式A.检查可执行文件但不查看具体指令的一些技术分析的目标B.动态分析基础技术涉及运行恶意代码并观察系统上的行为,以移除感染,产生有效 的检测特征码,或者两者C.主要是对恶意代码内部机制的逆向工程,通过将可执行文件装载到反汇编器中,查 看程序指令,来发现恶意代码到底做了什么D.动态分析高级技术则使用调试器来检查一个恶意可执行程序运行时刻的内部状态判断题:
2、静态分析基础技术是非常简单,同时也可以非常快速应用的,但它在针对复 杂的恶意代码时很大程度上是无效的,而且它可能会错过一些重要的行为。()考核知识点:静态分析技术参见讲稿章节:2.1单选题:反病毒软件主要是依靠()来分析识别可疑文件。A文件名B病毒文件特征库C文件类型D病毒文件种类参见讲稿章节:2.3单选题:Strings程序搜索()或以上连续的ASCII或Unicode字符,并以终结符结 尾的可打印字符串。A.2个B3个 C1个 DO个判断题:Strings程序检测到的一定是真正的字符串。()判断题:当加壳的程序运行时,会首先运行一小段脱壳程序,来解压缩加壳的文件, 然后再运行脱壳的文件。(
3、)判断题:当一个程序被加壳后,你必须对它进行脱壳,才能够执行进一步分析。()考核知识点:虚拟机的结构参见讲稿章节:3.1判断题:虚拟机是运行在ringO级。()多选题:以下哪些是常用的虚拟机软件(1A.VMware Player B.VMware Station C.VMware Fusion D.VirtualBox考核知识点:创建虚拟机参见讲稿章节:3.2单选题:以下那种互联网连接模式在宿主机和客户机之间创建了一个隔离的私有局域 网(IA.bridgedB.NETC.Host-onlyD.Custom判断题:未知的计算机病毒不存在不确定性。考核知识点:X86反汇编参见讲稿章节:5.1单选题
4、:计算机体系结构中,()层是由十六进制形式的操作码组成,用于告诉处理器 你想它干什么。A微指令 B机器码C低级语言D高级语言单选题:在获取不到高级语言源码时,()是从机器码中能可信并保持一致地还原得到 的最高一层语言。A机器指令B微指令C汇编语言D机器码参见讲稿章节:5.2判断题:IP地址127.0Q1在小端字节序下,表示为0x7F000001。()判断题:操作数指向感兴趣的值所在的内存地址,一般由方括号内包含值、寄存器或 方程式组成,如eax。()考核知识点:加载可执行文件参见讲稿章节:6.1判断题:在合法的PE文件中,可以带有可执行文件。()判断题:在进程中加载的DLL的位置和在IDA P
5、ro中的地址不同,这可能是及地址重 定向的结果。()判断题:在默认情况下,IDA Pro的反汇编代码中包含PE头或资源节。()考核知识点:识别汇编中的C语言代码结构参见讲稿章节:7.1单选题:下列表明是全局变量的汇编代码是(1A.mov eaxzdword_40CF60B.mov eax,ebp-4C.mov eaxzebp+var_4D.mov dword_40CF60zeax单选题:对应a+的汇编代码是(XA.move eax,ebp+var_4B.sub eax,ebp+var_8C.sub eax,lD.add eax,l判断题:全局变量可以被一个程序中的任意函数访问和使用,在栈中局部
6、变量只能在 它被定义的函数中访问,在内存上。()考核知识点:识别if分支结构参见讲稿章节:7.2单选题:对下面指令分析不正确的是(1A.要跳转的决定是基于一个比较(cmp )语句来做的B.调剂跳转(jnz),如果这两个值不相等,这个跳转就会发生C.代码跳转(jump )保证了只有一条代码路径会被执行D.对于一个if语句必定有一个条件跳转,所有条件跳转也都对应if语句考核知识点:识别循环参见讲稿章节:7.3判断题:switch语句被程序员用来做一个基于字符或者整数的决策。例如,后门通常 使用单一的字节值从一系列动作中选择一个。switch语句通常以两种方式被编译:使用if 方式或使用跳转表。()
7、考核知识点:识别函数调用参见讲稿章节:7.4单选题:函数调用约定中,参数是从右到左按序被压入栈,当函数完成时由被调用函 数清理栈,并且将返回值保存在EAX中的是(IA.cdel B.stdcall C.fastcallD.压栈与移动多选题:微软fastcall约定备用的寄存器是(1A.EAX B.ECX C.EDX D.EBX多选题:()是Windows API的标准调用约定。A.cdecl B.stdcall C.fastcallD.压栈与移动判断题:在stdcall中,前一些参数(典型的是前两个)被传到寄存器中,备用的寄存 器是EDX和ECX (微软fastcall约定如果需要的话,剩下的
8、参数再以从右到左的次序 被加载到栈上。通常使用fastcall比其他约定更高效,因为代码不需要涉及过多的栈操作。判断题:微软Visual Studio和GNU编译集合(GCC 前者,adder函数和printf 的函数在调用前被压到栈上。而后者,参数在调用之前被移动到栈上。()考核知识点:识别switch结构美化参见讲稿章节:7.5多选题:下列说法正确的是(XA. IDA Pro有一个在识别结构方面很有用的图形化工具B.从反汇编代码来看,很难知道原始代码是一个switch语句还是一个if语句序列C. switch中各无条件跳转相互影响D.使用了一个跳转表,来更加高效地运行switch结构汇编代
9、码判断题:switch语句被程序员用来做一个基于字符或者整数的决策。例如,后门通常 使用单一的字节值从一系列动作中选择一个。switch语句通常以两种方式被编译:使用if 方式或使用跳转表。()参见讲稿章节:7.6考核知识点:识别数组、结构体、链表单选题:下列论述错误的是。()A.数组是相似数据项的有序集合B.结构体和数组相似,但是它们包括不同类型的元素C.一个链表是包含一个数据记录序列的数据结构,并且每一个记录都包括一个对序列 中下一个记录的引用(链接)域。使用一个链表,被链接项的访问次序与数据项被保存在 内存或磁盘上的次序必须一样D.在汇编代码中,数组是通过使用一个基地址作为起始点来进行访
10、问的。每一个元素 的大小通常并不总是明显的,但是它可以通过看这个数组是否被索引的来进行判断单选题:()被定义为一个相似数据项的有序集合。A.数组 B.结构体 U链表 D.变量判断题:结构体通过一个作为起始指针的基地址来访问。要判断附近的数据字节类型 是同一结构的组成部分,还是只是凑巧相互挨着是比较困难的,这依赖于这个结构体的上 下文。()判断题:结构体通过一个作为起始指针的基地址来访问。要判断附近的数据字节类型 是同一结构的组成部分,还是只是凑巧相互挨着是比较困难的,这依赖于这个结构体的上 下文。()判断题:结构体通过一个作为起始指针的基地址来访问。要判断附近的数据字节类型 是同一结构的组成部
11、分,还是只是凑巧相互挨着是比较困难的,这依赖于这个结构体的上 下文。()考核知识点:分析恶意Windows程序参见讲稿章节:8.1单选题:以下Windows API类型中()是描述一个双字节、32位的无符号数值。A WORD B DWORD C handles D Callback单选题:以下Windows API类型中()是表示一个将会被Windows API调用的函 数。A WORD B DWORD C handles D Callback判断题:句柄在它们引用一个对象或其他某个位置这个点上和指针是完全一样的。()判断题:在文件系统函数中CreateFile这个函数被用来创建和打开文件。(
12、)参见讲稿章节:8.1多选题:恶意代码作者如何使用DLL( XA保存恶意代码B通过使用Windows DLLC控制内存使用DLLD通过使用第三方DLL考核知识点:调试器介绍参见讲稿章节:9.1判断题:只有软件调试器,没有硬件调试器。()判断题:内核调试只需要在一个系统上进行。()选择题:能调试内核的调试器是(XA.OIlyDbg B.IDA ProC.WinDbg D.Process Explorer考核知识点:使用调试器参见讲稿章节:9.2判断题:单步执行代码时,调试器每执行一条指令就会产生一次中断。()选择题:单步调试是通过()实现的。A.每条代码之前添加软件断点B.每条代码之前添加硬件断
13、点第3章 在虚拟机中分析恶意代码3.1 虚拟机的结构3.2 创建虚拟机3.3 使用虚拟机第4章 动态分析技术4.1 沙箱分析4.2 运行病毒和使用进程监视4.3 Process Explorer 和 Reg shot4.4 网络模拟第5章X86反汇编5.1 逆向工程5.2 X86体系结构5.3 CPU汇编指令C.标志寄存器中的陷阱标志(在叩flag)D.标志寄存器中的zf标志位考核知识点:断点类型参见讲稿章节:9.4选择题:当调试可以修改自身的代码的代码时,应该设置什么类型的断点(XA .软件执行断点B.硬件执行断点C.条件断点D.非条件断点考核知识点:修改可执行程序参见讲稿章节:9.6多选题
14、:调试器可以用来改变程序的执行方式。可以通过修改()方式来改变程序执 行的方式。A .修改控制标志B.修改指令指针C.修改程序本身D.修改文件名考核知识点:Ollydbg加载恶意代码参见讲稿章节:10.1单选题:下列关于OllyDbg运行恶意代码说法错误的是。()A. OllyDbg有几种调试恶意代码的方法。可以用它直接加载可执行文件,甚至加载 DLL程序B.如果恶意代码已经在系统上运行,可以通过附加进程的方式调试它C. OllyDbg是一个灵活的调试系统,可以用命令行选项运行恶意代码,甚至支持执行 DLL中某个函数D.可以在在加载恶意代码程序之前给OllyDbg传入命令行参数判断题:当你想要
15、调试一个正在运行的恶意代码时,OllyDbg也支持附加到一个正在 运行的进程,此刻OllyDbg会立即暂停这个程序以及它所有的线程。()考核知识点:内存映射参见讲稿章节:10.3多选题:下列概念说法正确的是()A. OllyDbg内存映射窗口(View-Memory )显示了被调用程序分配的使用内存块B.基地址重定位是指Windows中的一个模块没有被加载到其预定基地址时发生的情 况C. Windows中的所有PE文件都有一个预定的基地址,它在PE文件头中被称为映像 基地址D.使用相对地址,无论被加载到内存的哪个位置,所有指令都能正常工作单选题:数据访问指令将使用一个绝对地址来访问内存,这个文
16、件被加载到预定基地 址之外的另一个地址,访问这个地址就会错。如果将这个文件载入到一个不同的地址,就 需要改变这条指令。因此,多数DLL会在PE头的()打包一个修订位置的列表A. .text 节B. .date 节C. .rsrc 节D.reloc 节判断题:DLL在exe载入后以任意顺序加载。这意味着如果DLL的基地址被重定位 了通常情况下不能预测DLL会被定位到内存的什么位置。DLL的重定位节也可以被移除, 一个缺乏重定位节的DLL不能被加载到它的预定基地址,因此它也就不能被加载。()考核知识点:查看线程、栈、代码参见讲稿章节:10.4单选题:下列说法错误的是(XA.恶意代码经常使用多线程。
17、你可以通过选择View-Threads,调出线程面板窗口,查看一个程序的当前线程B.单击主工具栏中的暂停按钮,可以暂停所有活动的线程C.给定进程中的每个线程有自己的栈,通常情况下,线程的重要数据都保存在栈中。 可以使用OllyDbg的内存映射,来查看内存中栈的内容D.由于OllyDbg是多线程的,可能需要你先暂停所有的线程,设置一个断点后,继 续运行程序,这样可以确保在一个特定线程模式内调试判断题:Run to Selection选项表示在到达选择的指令之前一直运行。如果选择的指 令不被执行,则被调试程序会一直运行下去。()考核知识点:断点参见讲稿章节:10.5多选题:以下对各断点说法正确的是
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机病毒 分析
限制150内