1、智慧树知到走近信息安全:逆向工程汇编基础(青岛工学院)2025章节测试附答案第一章测试1 .下面关于软件逆向工程的描述错误的是()。A、通过软件逆向能够加深对高级语言实现机制的了解B、软件逆向工程会运用到解密、反汇编、系统分析、程序理解等计算机技术C、软件逆向工程能够提高软件生产的效率和质量D、通过逆向工程获得的信息可以任意扩散给其他人正确答案:D2 .下面属于软件逆向工程的应用的是()。A、病毒分析B、漏洞分析C、软件开发D、软件破解正确答案:ABCD3 .软件逆向工程技术的有效运用可以更好的研究和学习先进的软件技术。OA、对B、错正确答案:A4 .逆向工程人员为合法用户。OA、对B、错正确
2、答案:A5 .逆向工程技术可以用于开发形式类似或有其他著作权侵权因素的程序。OA、对B、错正确答案:B第二章测试L下面关于汇编语言的描述错误的是()。A、汇编指令是机器指令的助记符B、伪指令是汇编语言的核心,可以编译为机器指令C、汇编指令需要编译器将之编译为机器指令D、每一种CPU都有自己的汇编指令集正确答案:B6 .在存储器中,数据和程序以O形式存放。A、二进制B、汇编指令C、字符D、十进制正确答案:A3.1 KB的存储器有()个存储单元。A、 8000B、1024C、512D、10正确答案:B4. 一个存储器有128个存储单元,则存储单元的编号是O。A、128B、 0127C、其他D、01
3、28正确答案:B5 .用汇编语言编写的汇编程序可以被计算机直接识别和执行。OA、错B、对正确答案:A6 .CPU访问内存中的数据,首先要确定存储单元的地址。OA、对B、错正确答案:A第三章测试1 .下列关于8086CPU的工作原理的描述错误的是()。A、汇编程序员可以通过改变寄存器中的内容实现对CPU的控制。B、CPU在访问内存时,采用“段地址*16+偏移地址”的形式给出要访问的内存单元的物理地址。C、任意时刻,CS:IP指向的内容即是此刻CPU正在执行的指令。D、mov指令不能用于设置CS、IP的值。正确答案:C2 .在8086CPU中,下面寄存器是16位的包括()。A、DXB、AHC、CS
4、D、IP3 .在8086PC机中,数据存在内存2000:3E80单元中,该数据的内存地址为()。A、 5E80HB、 2000HC、 3E80HD、 23E80H正确答案:D4.下面哪个是错误的指令()。A、 movcs,123B、 addal,dlC、 movax,bxD、 moval,0f5H正确答案:A5.movax,936aHmovbx,79b8Haddax,bx指令执行后AX中的数据是OB、0d22HC、 0c22HD、 ld22H正确答案:B6.movax,936aHmovbx,79b8Haddal,bl指令执行后AX中的数据是()A、 9422HB、 9322HC、 lc22HD
5、 0d22H正确答案:B7.给定段地址为OOOIH,仅通过变化偏移地址寻址,CPU的寻址范围为()。A、10001H1000FHb、OOoolH100oohC、 00010H100OFHD、 OOoOOH00010H正确答案:C8. movax,bxsubax,axjmpax上面程序段起始IP的值为0000H,3条指令执行后,CPU修改IP()次。A、5B、3C、2D、4正确答案:D9. 8086PC机中存储器的一个段最大为16K个字节。()A、错B、对正确答案:A10. 汇编指令uMOVCX,AL是一条合法指令。()A、错B、对正确答案:A第四章测试1.用DebUg查看内存,结果如下:00
6、00:00106226E6D6CC2E3C3B有程序段如下:movax,Imovds,axmovax,0002上面3条指令执行后,寄存器AX中的内容为()。A、 E6D6HB、 6226HC、 2662HD、 D6E6H正确答案:D2.用DeblIg查看内存,结果如下:0000:00106226E6D6CC2E3C3B有程序段如下:movax,Imovds,axmoval,0002上面3条指令执行后,寄存器AL中的内容为()。A、D6E6HB、62HC、E6HD、26H3,用DebUg查看内存,结果如下:0000:00106226E6D6CC2E3C3B有程序段如下:movax,Imovds,
7、axaddax,0002上面3条指令执行后,寄存器AX中的内容为()。A、 D6E7HB、 D6E6HC、 E6D7HD、 E627H正确答案:A4.用DebUg查看内存,结果如下:0000:00106226E6D6CC2E3C3B有程序段如下:movax,Imovds,axmov0,ax上面3条指令执行后,内存地址OOOlOH对应内存单元中的字型数据为()。A、 2662HB、 OOOlHC、 2601HD、 OlOOH5,下面名称中O代表堆栈指针寄存器。A、SPB、BPC、SSD、ES正确答案:A6 .设SP初值为200H,执行指令PUSHAX后,SP的值是()。A、 IFEHB、 IFF
8、HC、 198HD、 202H正确答案:A7 .汇编语言访问内存的指令都是以字为单位进行的。OA、错正确答案:A8 .8086PC机中堆栈的入栈和出栈操作都是以字为单位进行的。A、对B、错正确答案:A9 .汇编指令PUSHDS是一条合法指令。()A、错B、对正确答案:B10 .汇编指令POPAL”是一条合法指令。()A、对B、错正确答案:B第五章测试1 .汇编程序中O有对应的机器码,可以被编译为机器指令。A、伪指令B、汇编指令C、标号D、注释符正确答案:B2 .段结束的伪指令是O。A、intB、endC、 endsD、 segment正确答案:C3.进入DOS方式,对源程序进行编译的命令是()
9、A、 debugB、 linkC、masmD、t正确答案:CC、 在debug中单步执行程序中的指令的命令是()。A、rB、tC、dD、u正确答案:B5,使用debug跟踪调试汇编程序时,执行最后的返回指令,要使用O命令执行int21h”,程序可以正常结束。A、B、C、D、正确答案:B6 .伪指令是有对应的机器码的指令,可以被编译为机器指令由CPU执行。OA、对B、错正确答案:B7 .汇编程序使用assume伪指令将段与相关段寄存器关联起来。OA、错B、对正确答案:B8 .编译器在编译汇编程序的过程中,如果碰到了伪指令end,就结束对源程序的编译。OA、错B、对正确答案:B9 .在debug
10、中查看改变寄存器内容的命令是r。()A、错B、对正确答案:B第六章测试Lbx的偏移地址在bx中,段地址默认在O中。A、ESB、DSC、CSD、SS正确答案:B2. moV6,ax的描述正确的是()。A、 (ax)=(ds)*16+6)B、 (ds)*16+6)=(ax)C、(ax)=6D、(6)=ax正确答案:B3 .通常用loop指令来实现循环功能,寄存器O存放循环次数。A、AXB、DXC、CXD、BX正确答案:C4 .用DebUg查看内存,结果如下:2100:0000032E76D6392E有程序段如下:movax,2000Hmovds,axmovbx,100OHmovax,bx上面4条指
11、令执行后,寄存器AX中的内容为()。A、 032EHB、 2E03HC、 1000HD、 2E76H正确答案:B5,用DebUg查看内存,结果如下:2100:0000032E76D6392E有程序段如下:movax,2100Hmovds,axmovbx,4moval,bx上面4条指令执行后,寄存器AX中的内容为()。A、2139HB、 0004HC、 2E39HD、 2100H正确答案:A6 .在debug中不再一步步跟踪循环程序,希望一次执行完CS:0012前的指令,则可以使用O命令实现。A、qB、gC、pD、t正确答案:B7 .用DebUg查看内存,结果如下:2100:0000032E76
12、D6392E有程序段如下:movax,2100Hmoves,axmovbx,2movax,es:bx上面4条指令执行后,寄存器AX中的内容为()。A、2102HA、4CHB、37HC、5DHD、26H正确答案:C8 .阅读下面程序,回答问题。assumecs:code,ds:datadatasegmentdb10,11,9,6,8,5,30,38dataendscodesegmentstart:movax,datamovds,axmovbx,Omovax,Omovex,8s:cmpbyteptrbx,9jnanextincaxnext:incbxloopsmovax,4c00hint21hco
13、deendsendStart关于上面程序描述正确的是()。A、该程序统计data段中数值不大于9的字节的个数B、程序返回前,ax寄存器的内容是5C、jna根据比较结果大于则转移D、程序返回前,ax寄存器的内容是4正确答案:D9 .执行指令subal,al”之后,标志位ZF的值为0。()A、错B、对正确答案:A10 .汇编指令jne根据比较结果不相等则转移。()A、错B、对正确答案:B第十一章测试1.阅读下面程序段,回答问题。moVsp,12hmovax,5678hmovds:0,axcallwordptrds:0以上Can指令执行后,IP寄存器的内容是O。A、 5678HB、 OOlOHC、
14、0012HD、 OOOOH正确答案:A2.阅读下面程序段,回答问题。moVsp,12hmovax,5678hmovds:0,axcallwordptrds:0以上Can指令执行后,SP寄存器的内容是()。A、 OOlOHB、 0012HC、 5678HD、 0000H正确答案:A3 .阅读下面程序,回答问题oassumecs:codecodesegmentstart:movax,6movex,2callsmovbx,axmovax,4c00hint21hs:addax,axloopsretcodeendsendstart程序返回前,寄存器bx的内容是OoA、12B、6C、24D、48正确答案:
15、C4 .指令mulbl”执行后,乘积在()里。A、ALB、BLC、AXD、DX和AX正确答案:C5 .指令mulbx”实现的功能是OoA、(dx)乘以(bx)B、(ax)乘以(bx)C、(ax)除以(bx)D、(al)乘以(bx)正确答案:B6 .call指令不能实现短转移。()A、对B、错正确答案:A7 .在模块化程序设计时,子程序和主程序可以使用寄存器传递参数。OA、对B、错正确答案:A8 ,执行指令calls”时,先将当前的CS和IP都压栈,然后转到标号处执行指令。OA、错B、对正确答案:A9 .为解决子程序和主程序的寄存器冲突问题,在子程序的开始将用到的寄存器用栈都保存起来,在子程序返
16、回前再恢复。OA、对B、错正确答案:A10 .执行ret指令,会将IP寄存器的内容压栈。A、对B、错正确答案:B第十二章测试1 .使用debug查看内存FFFFOfTFFFFFH的内容,可以使用命令()oA、 rffff:0fB、 tffff:0fC、 affff:0fD、 dffff:0f正确答案:D2,下面对指令movbx,bl描述正确的是()。A、(ds)*16+(bx)=(bl)B、(bl)=(ds)*16+(bx)C、(bl)=(es)*16+(bx)D、(es)*16+(bx)(bl)正确答案:A3 .下面对指令PUShbx描述正确的是()。A、将内存地址为(ds)*16+(bx)的字数据压栈B、数据出栈送bxC、将bx的内容压栈D、数据出栈送内存地址为(ds)*16+(bx)的字单元正确答案:A4 .在debug中键入a2000:0可以将汇编指令写入2000:0开始的内存单元中。()A、对B、错正确答案:A5 .指令movbx,6实现将ds段6号地址的字数据送bx寄存器。()A、对B、错正确答案:A6 .可以使用dds:O查看PSP的内容。()A、错B、对正确答案:B