走近信息安全:逆向工程汇编基础智慧树知到答案2024年青岛工学院_第1页
走近信息安全:逆向工程汇编基础智慧树知到答案2024年青岛工学院_第2页
走近信息安全:逆向工程汇编基础智慧树知到答案2024年青岛工学院_第3页
走近信息安全:逆向工程汇编基础智慧树知到答案2024年青岛工学院_第4页
走近信息安全:逆向工程汇编基础智慧树知到答案2024年青岛工学院_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

走近信息安全:逆向工程汇编基础青岛工学院智慧树知到答案2024年第一章测试

下面关于软件逆向工程的描述错误的是()。

A:通过软件逆向能够加深对高级语言实现机制的了解B:软件逆向工程会运用到解密、反汇编、系统分析、程序理解等计算机技术C:软件逆向工程能够提高软件生产的效率和质量D:通过逆向工程获得的信息可以任意扩散给其他人

答案:D下面属于软件逆向工程的应用的是()。

A:病毒分析B:漏洞分析C:软件开发D:软件破解

答案:ABCD软件逆向工程技术的有效运用可以更好的研究和学习先进的软件技术。()

A:对B:错

答案:A逆向工程人员为合法用户。()

A:对B:错

答案:A逆向工程技术可以用于开发形式类似或有其他著作权侵权因素的程序。()

A:对B:错

答案:B

第二章测试

下面关于汇编语言的描述错误的是()。

A:汇编指令是机器指令的助记符B:伪指令是汇编语言的核心,可以编译为机器指令C:汇编指令需要编译器将之编译为机器指令D:每一种CPU都有自己的汇编指令集

答案:B在存储器中,数据和程序以()形式存放。

A:二进制B:汇编指令C:字符D:十进制

答案:A1KB的存储器有()个存储单元。

A:8000B:1024C:512D:10

答案:B一个存储器有128个存储单元,则存储单元的编号是()。

A:1~128B:0~127C:其他D:0~128

答案:B用汇编语言编写的汇编程序可以被计算机直接识别和执行。()

A:错B:对

答案:ACPU访问内存中的数据,首先要确定存储单元的地址。()

A:对B:错

答案:A

第三章测试

下列关于8086CPU的工作原理的描述错误的是()。

A:汇编程序员可以通过改变寄存器中的内容实现对CPU的控制。B:CPU在访问内存时,采用“段地址*16+偏移地址”的形式给出要访问的内存单元的物理地址。C:任意时刻,CS:IP指向的内容即是此刻CPU正在执行的指令。D:mov指令不能用于设置CS、IP的值。

答案:C在8086CPU中,下面寄存器是16位的包括()。

A:DXB:AHC:CSD:IP

答案:ACD在8086PC机中,数据存在内存2000:3E80单元中,该数据的内存地址为()。

A:5E80HB:2000HC:3E80HD:23E80H

答案:D下面哪个是错误的指令()。

A:movcs,123B:addal,dlC:movax,bxD:moval,0f5H

答案:Amovax,936aH

movbx,79b8H

addax,bx

指令执行后AX中的数据是()

A:1c22HB:0d22HC:0c22HD:1d22H

答案:Bmovax,936aH

movbx,79b8H

addal,bl

指令执行后AX中的数据是()

A:9422HB:9322HC:1c22HD:0d22H

答案:B给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为()。

A:10001H~1000FHB:00001H~10000HC:00010H~1000FHD:00000H~00010H

答案:Cmovax,bx

subax,ax

jmpax

上面程序段起始IP的值为0000H,3条指令执行后,CPU修改IP()次。

A:5B:3C:2D:4

答案:D8086PC机中存储器的一个段最大为16K个字节。()

A:错B:对

答案:A汇编指令“MOVCX,AL”是一条合法指令。()

A:错B:对

答案:A

第四章测试

用Debug查看内存,结果如下:

0000:00106226E6D6CC2E3C3B……

有程序段如下:

movax,1

movds,ax

movax,[0002]

上面3条指令执行后,寄存器AX中的内容为()。

A:E6D6HB:6226HC:2662HD:D6E6H

答案:D用Debug查看内存,结果如下:

0000:00106226E6D6CC2E3C3B……

有程序段如下:

movax,1

movds,ax

moval,[0002]

上面3条指令执行后,寄存器AL中的内容为()。

A:D6E6HB:62HC:E6HD:26H

答案:C用Debug查看内存,结果如下:

0000:00106226E6D6CC2E3C3B……

有程序段如下:

movax,1

movds,ax

addax,[0002]

上面3条指令执行后,寄存器AX中的内容为()。

A:D6E7HB:D6E6HC:E6D7HD:E627H

答案:A用Debug查看内存,结果如下:

0000:00106226E6D6CC2E3C3B……

有程序段如下:

movax,1

movds,ax

mov[0],ax

上面3条指令执行后,内存地址00010H对应内存单元中的字型数据为()。

A:2662HB:0001HC:2601HD:0100H

答案:B下面名称中()代表堆栈指针寄存器。

A:SPB:BPC:SSD:ES

答案:A设SP初值为200H,执行指令PUSHAX后,SP的值是()。

A:1FEHB:1FFHC:198HD:202H

答案:A汇编语言访问内存的指令都是以字为单位进行的。()

A:错B:对

答案:A8086PC机中堆栈的入栈和出栈操作都是以字为单位进行的。()

A:对B:错

答案:A汇编指令“PUSHDS”是一条合法指令。()

A:错B:对

答案:B汇编指令“POPAL”是一条合法指令。()

A:对B:错

答案:B

第五章测试

汇编程序中()有对应的机器码,可以被编译为机器指令。

A:伪指令B:汇编指令C:标号D:注释符

答案:B段结束的伪指令是()。

A:intB:endC:endsD:segment

答案:C进入DOS方式,对源程序进行编译的命令是()。

A:debugB:linkC:masmD:t

答案:C在debug中单步执行程序中的指令的命令是()。

A:rB:tC:dD:u

答案:B使用debug跟踪调试汇编程序时,执行最后的返回指令,要使用()命令执行“int21h”,程序可以正常结束。

A:rB:pC:uD:t

答案:B伪指令是有对应的机器码的指令,可以被编译为机器指令由CPU执行。()

A:对B:错

答案:B汇编程序使用assume伪指令将段与相关段寄存器关联起来。()

A:错B:对

答案:B编译器在编译汇编程序的过程中,如果碰到了伪指令end,就结束对源程序的编译。()

A:错B:对

答案:B在debug中查看改变寄存器内容的命令是r。()

A:错B:对

答案:B

第六章测试

[bx]的偏移地址在bx中,段地址默认在()中。

A:ESB:DSC:CSD:SS

答案:Bmov[6],ax的描述正确的是()。

A:(ax)=((ds)*16+6)B:((ds)*16+6)=(ax)C:(ax)=6D:(6)=ax

答案:B通常用loop指令来实现循环功能,寄存器()存放循环次数。

A:AXB:DXC:CXD:BX

答案:C用Debug查看内存,结果如下:

2100:0000032E76D6392E……

有程序段如下:

movax,2000H

movds,ax

movbx,1000H

movax,[bx]

上面4条指令执行后,寄存器AX中的内容为()。

A:032EHB:2E03HC:1000HD:2E76H

答案:B用Debug查看内存,结果如下:

2100:0000032E76D6392E……

有程序段如下:

movax,2100H

movds,ax

movbx,4

moval,[bx]

上面4条指令执行后,寄存器AX中的内容为()。

A:2139HB:0004HC:2E39HD:2100H

答案:A在debug中不再一步步跟踪循环程序,希望一次执行完CS:0012前的指令,则可以使用()命令实现。

A:qB:gC:pD:t

答案:B用Debug查看内存,结果如下:

2100:0000032E76D6392E……

有程序段如下:

movax,2100H

moves,ax

movbx,2

movax,es:[bx]

上面4条指令执行后,寄存器AX中的内容为()。

A:2102HB:762EHC:76D6HD:D676H

答案:D汇编指令“MOV[BX],AL”是一条合法指令。()

A:错B:对

答案:Bmovax,[bx]可以描述为((ds)*16+(bx))=(ax)。()

A:错B:对

答案:A

第七章测试

观察下面的程序,回答问题。

assumecs:codesg

codesgsegment

dw0123h,0456h,0789h

start:movbx,0

movax,cs:[bx]

movax,4c00h

int21h

codesgends

endstart

关于程序的描述正确的是()。

A:程序在代码段中使用数据,可以正常执行B:程序中有错误,dw定义的数据不能放在代码段codesg中C:去掉end后面的start,程序仍然能够正常执行D:去掉代码段后面的两条指令“movax,4c00hint21h“,程序仍然能够正常执行

答案:A观察下面的程序,回答问题。

assumecs:codesg

codesgsegment

dw0123h,0456h,0789h

start:movbx,2

movax,cs:[bx]

movax,4c00h

int21h

codesgends

endstart

程序中执行指令“movax,cs:[bx]“之后,ax寄存器的内容是()。

A:0456hB:0789hC:2304hD:0123h

答案:A观察下面的程序,回答问题。

assumecs:code,ds:data,ss:stack

datasegment

dw0123H,0456H,0789H

dataends

stacksegment

dw0,0,0,0,0,0,0,0

stackends

codesegment

start:movax,stack

movss,ax

……

movax,4c00h

int21h

codeends

endstart

程序加载后,data数据段实际占有的空间为()字节。

A:2B:3C:16D:6

答案:C观察下面的程序,回答问题。

assumecs:code,ds:data,ss:stack

datasegment

dw0123H,0456H,0789H,0abcH,0defH,0fedH,0cbaH,0987H

dataends

stacksegment

dw0,0,0,0,0,0,0,0

stackends

codesegment

start:movax,stack

movss,ax

……

movax,4c00h

int21h

codeends

endstart

在代码段中对栈段进行初始化,sp的初始化指令是()。

A:movsp,0B:movsp,2C:movsp,20hD:movsp,10h

答案:D观察下面的程序,回答问题。

assumecs:code,ds:data,ss:stack

datasegment

dw0123H,0456H,0789H

dataends

stacksegment

dw0,0,0

stackends

codesegment

start:movax,stack

movss,ax

……

movax,4c00h

int21h

codeends

endstart

设程序加载后,code段的段地址为073FH,则data段的段地址为()。

A:073DHB:073FHC:073EHD:0740H

答案:A观察下面的程序,回答问题。

assumecs:code,ds:a,ss:b

asegment

dw0ah,0bh,0ch,0dh,0eh,0fh

aends

bsegment

dw0,0,0,0,0,0,0,0

bends

codesegment

start:

movax,a

movds,ax

movax,b

movss,ax

movsp,16

movbx,0

movcx,6

s:push[bx]

addbx,2

loops

movax,4c00h

int21

codeends

endstart

关于该程序的描述,不正确的是()。

A:程序能够将a段的数据按顺序复制到b段B:程序包含多个段,b是栈段C:程序能够将a段的数据逆序复制到b段D:程序包含多个段,code是代码段

答案:A在8086机中,如果数据、栈和代码需要的空间不超过64KB,则可以将数据和栈放在代码段中。()

A:错B:对

答案:B汇编程序最后一条伪指令“endstart”,通知编译器程序的入口在start标号处。()

A:对B:错

答案:A汇编程序中可以将数据、代码、栈放入不同的段中,实现包含多个段的程序。()

A:错B:对

答案:B汇编程序中,不能将栈放在代码段中,必须以栈段的形式单独使用。()

A:对B:错

答案:B

第八章测试

用Debug查看内存,结果如下:

2000:10003C0A05302E00……

阅读下面程序段,回答问题。

movax,2000H

movds,ax

movbx,1000H

movax,2[bx]

上面4条指令执行后,寄存器AX中的内容为()。

A:0530HB:3C0AHC:3005HD:0A3CH

答案:C用Debug查看内存,结果如下:

2000:10003C0A05302E00……

阅读下面程序段,回答问题。

movax,2000H

movds,ax

movsi,1000H

movax,3[si]

上面4条指令执行后,寄存器AX中的内容为()。

A:302EHB:0530HC:3005HD:2E30H

答案:D用Debug查看内存,结果如下:

2000:10003C0A05302E00……

阅读下面程序段,回答问题。

movax,2000H

movds,ax

movbx,1000H

movsi,2

movax,2[bx][si]

上面5条指令执行后,寄存器AX中的内容为()。

A:302EHB:2E00HC:002EHD:2E30H

答案:C下列指令不合理的是()。

A:movds:[0ffh],alB:pushds:[0ffh]C:movds:[0ffh],axD:movds:[0ffh],0ffh

答案:D指令DIVBX的余数放于()寄存器中。

A:DXB:AXC:ALD:AH

答案:A已知BX=2000H,DI=1000H,则指令MOVAX,[BX].6[DI]的源操作数在()中。

A:数据段中偏移量为3006H的字节B:数据段中偏移量为2006H的字节C:数据段中偏移量为3000H的字节D:附加段中偏移量为3000H的字节

答案:A指令movax,[si][di]是正确的指令。()

A:对B:错

答案:B指令movax,3[bp][di]是正确的指令。()

A:对B:错

答案:A指令MOVBYTEPTR[BX],300是正确的指令。()

A:错B:对

答案:A

第九章测试

阅读下面的程序段,回答问题。

MOVBX,0100H

MOVSI,0200H

LEASI,[BX+SI+20H]

以上3条指令执行后,SI寄存器的内容是()。

A:0320HB:0120HC:0100HD:0300H

答案:A下面关于汇编指令“movax,offsetstart”描述正确的是()。

A:指令执行后ax寄存器的内容为0B:操作符offset的功能是取得标号start的偏移地址C:操作符offset的功能是取得标号start的段地址D:指令执行后ax寄存器的内容为随机值

答案:B阅读下面的程序段,回答问题。

movcx,0

jcxzs

inccx

s:addcx,6

以上程序执行后,寄存器cx的内容是()。

A:0B:6C:7D:1

答案:B阅读下面的汇编程序段,回答问题。

start:jmpshorts

db256dup(0)

s:movax,0ffffH

关于该程序描述正确的是()。

A:s标号距离start标号间隔256字节B:jmp指令实现短转移,跳转到标号s处执行指令C:程序执行后ax寄存器的内容为ffffHD:程序将引起编译错误

答案:D阅读下面的程序段,回答问题。

movbx,0106H

movax,1000H

mov[bx],ax

jmpwordptr[bx]

以上指令执行后,IP寄存器的内容是()。

A:0106HB:1106HC:1000HD:0000H

答案:C用Debug查看内存,结果如下:

2000:1000BE0106000000……

则此时,CPU执行指令:

movax,2000H

moves,ax

jmpdwordptres:[1000H]

以上指令执行后,cs寄存器的内容是()。

A:01BEHB:0600HC:0006HD:BE01H

答案:C用Debug查看内存,结果如下:

2000:1000BE0106000000……

则此时,CPU执行指令:

movax,2000H

moves,ax

jmpdwordptres:[1000H]

以上3条指令执行后,IP寄存器的内容是()。

A:BE01HB:0600HC:01BEHD:0006H

答案:C指令“leabx,str1“与指令”movbx,offsetstr1”执行后,bx的内容一致。()

A:对B:错

答案:A指令“jmpfarptr标号”实现的是段间转移,用标号的段地址和偏移地址修改CS和IP。()

A:错B:对

答案:B指令“jmpwordptrds:[0]”实现的是段间转移,用内存数据修改CS和IP。()

A:错B:对

答案:A

第十章测试

下列()是溢出标志位。

A:SFB:AFC:CFD:OF

答案:D标志位SF=1时,表示运算结果()。

A:<0B:=0C:=1D:>0

答案:A已知(al)=80h,执行指令“addal,80H”之后,下面标志位的值正确的是()。

A:SF=1B:ZF=1C:PF=0D:CF=0

答案:B指令sbbax,bx是一条()指令。

A:ax加bxB:带借位的减法C:交换D:ax减bx

答案:B已知(CX)=1234H,执行指令“CMPCX,34H”之后,CX寄存器的内容是()。

A:1200HB:0000HC:1234HD:1268H

答案:C已知(CX)=1234H,执行指令“CMPCX,34H”之后,下面标志位的值正确的是()。

A:CF=0B:SF=1C:OF=1D:ZF=1

答案:A已知(ah)=26H,(bh)=37H,阅读下面程序段,回答问题。

cmpah,bh

jes

addah,bh

jmpshortok

s:addah,ah

ok:ret

执行下面程序段后,寄存器ah的内容是()。

A:4CHB:37HC:5DHD:26H

答案:C阅读下面程序,回答问题。

assumecs:code,ds:data

datasegment

db10,11,9,6,8,5,30,38

dataends

codesegment

start:movax,data

movds,ax

movbx,0

movax,0

movcx,8

s:cmpbyteptr[bx],9

jnanext

incax

next:incbx

loops

movax,4c00h

int21h

codeends

endstart

关于上面程序描述正确的是()。

A:该程序统计data段中数值不大于9的字节的个数B:程序返回前,ax寄存器的内容是5C:jna根据比较结果大于则转移D:程序返回前,ax寄存器的内容是4

答案:D执行指令“subal,al”之后,标志位ZF的值为0。()

A:错B:对

答案:A汇编指令jne根据比较结果不相等则转移。()

A:错B:对

答案:B

第十一章测试

阅读下面程序段,回答问题。

movsp,12h

movax,5678h

movds:[0],ax

callwordptrds:[0]

以上call指令执行后,IP寄存器的内容是()。

A:5678HB:0010HC:0012HD:0000H

答案:A阅读下面程序段,回答问题。

movsp,12h

movax,5678h

movds:[0],ax

callwordptrds:[0]

以上call指令执行后,SP寄存器的内容是()。

A:0010HB:0012HC:5678HD:0000H

答案:A阅读下面程序,回答问题。

assumecs:code

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论