《逆向工程》19秋期末考核-0001
一、单选题 (共 15 道试题,共 30 分)
1.设置断点的快捷键是()。
A.F9
B.F7
C.F4
D.F2
2.系统服务描述表的英文缩写是()。
A.SSDT
B.IRP
C.IAT
D.GPT
3.在以下PE文件的常见区块中,哪一个包含读写数据块。
A..text
B..idata
C..edata
D..data
4.()支持函数式汇编。
A.ODDisasm
B.Keystone
C.BeaEngine
D.AsmJit
5.()是一个以C++封装的完整的JIT汇编器和编译器。
A.Udis86
B.ODDisasm
C.BeaEngine
D.AsmJit
6.假设整形数组ary的首地址是0x1000,则ary[2]的位置是
A.0x100C
B.0x1008
C.0x1004
D.0x1000
7.IDA插件的安装要将已编译的插件模块复制到IDA的()目录中。
A.plugins
B.loaders
C.idc
D.cfg
8.()能解码每一条指令所使用和影响的寄存器。
A.Udis86
B.ODDisasm
C.BeaEngine
D.AsmJit
9.为了让操作系统变得简单,将设备驱动程序运行在()级。
A.R3
B.R2
C.R1
D.R0
10.在4GB的虚拟地址空间中,包括一个()的NULL空间和非法区域。
A.64KB
B.32KB
C.16KB
D.128KB
11.用十六进制工具查看IMAGE_ FILE_HEADER结构的情况时,以下字段中哪个代表可执行文件的目标CPU类型。
A.TimeDateStamp
B.NumberOfSections
C.Machine
D.Characteristics
12.()可以将调试程序执行过程中的事件记录下来。
A.跟踪
B.断点
C.参考重命名
D.修改可执行文件
13.用户的应用程序(就是用Visual C++等工具开发的应用程序)也是运行在( )级上的。
A.R3
B.R2
C.R1
D.R0
14.代表文件缓存管理的函数前缀是()。
A.Ke
B.HAL
C.Ex
D.Cc
15.挂钩SSDT中的()函数可以防止搜索窗口。
A.NtUserSendInput
B.NtUSerFindWindowEx
C.NtGdiStretchBlt
D.NtGdiBitBlt
二、多选题 (共 10 道试题,共 20 分)
16.传统的系统引导与启动方法主要借助()。
A.UEFI
B.MBR
C.GPT
D.BIOS
17.可以通过()函数调用和()段寄存器来访问TEB结构。
A.deviceIoControl
B.NtCurreentTeb
C.FS
D.DS
18.显示窗口常用的函数有()?
A.ShowWindow
B.MessageBoxA(W)
C.DialogBoxParamA(W)
D.CreateWindowExA(W)
19.利用调试器针对API设置断点的功能,就有可能找到判断注册码的地方,常用来对话框的API都有哪些()?
A.Hmemcpy函数
B.GetWindowTextA(W)
C.GetDlgItemTextA(W)
D.GetDlgItemInt()
20.WinDbg支持哪些调试()
A.可以进行远程调试
B.可以分析Dump文件
C.内核调试
D.以打开、附加的方式调试应用程序
21.有关进程和线程的数据结构有()。
A.TEB
B.PEB
C.ETHREAD
D.EPROCESS
22.去除警告窗口常用的3种方法是()?
A.静态分析
B.放置不管
C.动态分析
D.修改程序的资源
23.C++的三大核心机制是什么()
A.继承
B.封装
C.对象
D.多态
24.下列是汇编引擎的有()。
A.ODAssembler
B.Keystone
C.Capstone
D.AsmJit
25.以下是for循环的执行组件的是
A.递增或递减
B.比较
C.执行指令
D.初始化
三、判断题 (共 10 道试题,共 20 分)
26.所谓粗跟踪,是指在跟踪时要大块大块地跟踪。
27.OllyDbg每次出现异常时都要通过比较来确定是否应该中断
28.延迟载入不是操作系统的特征,其通过向链接器和运行库加入额外的代码和数据来实现。
29.调用虚函数时,程序先取出虚函数表指针,得到虚函数表的地址,再根据这个地址到虚函数表中取出该函数的地址,最后调用该函数。
30.当PE文件装载内存后准备执行时,所有函数入口地址排列在一起
31.Keystone和Capstone是同一系列的引擎,由同一维护者主导开发。Capstone主要负责跨平台多指令集的反汇编工作,而Keystone主要负责跨平台多指令集的汇编工作。与O11yDbg的汇编器一样,Keystone也只支持文本汇编,不支持像AsmJit那样的函数式汇编
32.INT 3断点可以在程序启动之前设置,消息断点只有在窗口被创建之后才能被设置并拦截消息
33.OllyDbg可以直接附加到隐藏进程
34.通过包含提示信息的程序片段,就可以知道提示信息前后的程序片段所完成的功能,从而宏观地了解软件。
35..NET文件是Microsoft .NET环境生成的可执行文件
四、主观填空题 (共 5 道试题,共 25 分)
虚拟内存管理器控制虚拟内存地址到##内存地址的映射。
IP地址127.0.0.1对应的正整数16进制表示0x7F000001,在内存中占用了4个字节,该整数的小端字节序表示是##。
应用层的进程、线程、文件、驱动模块、事件、信号量等对象或者打开的句柄在内核中都有与之对应的##。
异常是在应用程序执行过程中发生的不正常事件。由CPU引发的异常称为##异常,例如访问一个无效的内存地址。
当PE文件被载入时,Windows加载器的工作之一就是定位所有被输入的函数和数据,并让正在载入的文件可以使用那些地址。这个过程是通过PE文件的##完成的,其中保存的是函数名和其驻留的DLL名等动态链接所需的信息。
五、问答题 (共 1 道试题,共 5 分)
简述软件逆向工程中的静态分析和动态分析技术,并列出两种分析方法各自使用的常用分析工具。