|
22秋学期(高起本1709-1803、全层次1809-2103)《逆向工程》在线作业-00001& T% O- I, b: T% I6 x; |
试卷总分:100 得分:98
; |& P5 S1 C3 G一、单选题 (共 25 道试题,共 50 分)
5 R- |6 |' U1 V1 [" J1 O* f; O% s1.1.若依次压入数字1、2、3、4,则第二次弹出来的会是()。+ z' I$ l; U; V) \% a3 u @5 A3 u) N
A.1+ C7 q( D5 j7 O$ V0 t c) g5 j; N
B.2( c0 g* F" C, v1 F
C.3
0 B+ W4 [0 }5 N3 g* ]: zD.4, Q9 B7 K ~$ L+ k+ K6 \
资料:
. y+ m; I. w2 W5 F( i8 |1 z% n" v& f* H& {; ?
2.DLL动态链接库中的函数的更底层的函数包含在()文件中。
& Z; P- \! r) ]8 y! Z& nA.NTOSKRNL.exe
5 E; D" J! |4 V& n2 _1 h8 p9 sB.NTDLL.DLL3 Z5 @( B' \' s! g2 A C& k9 n8 r6 O
C.HAL.DLL' v) F3 l& e# E& |+ y$ x" h
D.SHELL32.DLL
- C. O) z( ]4 n3 P资料:: V- e$ h8 V2 t C6 N
2 p! R8 K7 R5 f, E3.()用于记录进程的参数信息。
: Y6 M) }% K) U6 P+ a: M1 s$ U }. }4 WA.BeingDebugged2 Y! S& u8 v. |" K
B.CheckRemoteDebuggerPresent6 Q: b0 `4 f& x6 o5 O
C.ProcessParameters
" V& @6 e8 k \; bD.ImageBaseAdress& `, p9 N0 s' A: C$ b
资料:
, c) Z2 B1 @9 `- h; _" t- ]5 t: a
4.MBR最多支持()个主分区。7 f- a" _! w1 Q0 u* ~+ X
A.1个
% E3 T/ l- P% O7 D$ a( NB.2个+ L, @' g' B8 d0 E8 Y1 v4 O7 P
C.4个2 ?9 ^, p1 H( b0 z3 D
D.8个; V3 C# N5 ]: c: [& h3 B
资料:
- F* a) L, l9 _& P9 A% ~
7 ~/ @ [9 n4 e: e+ ]: S5.在以下PE文件的常见区块中,哪一个包含读写数据块。
/ i+ ^) L. e9 x1 Y1 `7 A3 |/ FA..text: R t. ^6 |& F0 D1 u- G
B..data
8 Z. Q {$ @: R% a. G% fC..idata$ j7 _2 u- j! y8 I
D..edata6 I6 O9 H9 J, I* T+ ?
资料:! P( j0 r* S3 q! L! S. p; _
# b1 V6 l* M. d9 n( K' l" R6.Windows启动过程的第一阶段是()。* f& Y6 `1 _' B$ W. h
A.启动自检阶段
7 @7 _2 p& j$ m: f( zB.初始化启动阶段& W3 \5 d: g5 ~2 b5 U! O% U
C.Boot加载阶段
1 i- J6 e0 i$ j/ y1 c, O* dD.检测和配置硬件阶段
3 P" J, i7 P0 H# Y4 n, W资料:, k2 p9 L! p/ S6 x' T- z @5 U7 [
7 o2 \0 u$ n2 m$ [: J8 l
7.在获取不到高级语言源码时,()是从机器码中能可信并保持一致地还原得到的最高一层语言。
- r6 O: l; t! x4 eA.机器指令
4 u8 s5 [: d1 n8 _" bB.微指令
3 M0 `/ F" i2 RC.汇编语言
7 F( V' r+ P6 nD.机器码
# D% v% i2 h n0 s8 e资料:, X0 Y# S# R3 l$ \( H( K
?; d: @! Z/ K# z& z( H0 l1 n8.PEiD是利用()来识别程序是由何种语言编译的的。+ q: C/ V4 A6 @5 b/ N4 z+ w& V% ^
A.特征串1 G1 c! |9 y" F1 N4 T$ n) e! Q
B.启动代码6 l- H# k( V; w# ^1 |
C.导入函数. y) Z5 H2 V$ D7 P. y6 P1 V: r7 _$ Y: \
D.导出函数5 S& D9 _ u4 z ?; O. x4 M/ o$ W9 U
资料:. N D$ p9 V Y9 j1 {& `
6 b& j2 |" ], B) w9.Windows系统中第1个创建的用户进程为()。
4 s8 x' y& d. _, p# t3 D! MA.csrss.exe
4 D9 [3 k; p- U2 ?# kB.winlogon.exe
" X( c9 x8 ^6 ~% ?C.smss.exe
# T$ w) M8 _( vD.services.exe) L5 p* a6 p ]7 x V% z
资料:% R& ]7 N( M/ @0 M% K7 m2 [3 t
3 s6 n U2 k- h! F' e$ W9 c- ~10.基址重定位数据采用类似按页分割的方法组织,是由许多重定位块串接成的,每个块中存放()KB的重定位信息
) \* m' j, ` h- O; L. C% uA.1
, ^; J5 H2 z, q9 p: L* R: PB.2
4 o" T# i0 g; e( gC.43 x& v+ }8 C5 D z
D.8* w% c+ ~+ Q1 X8 N
资料:# W$ Y0 m5 k' z' W
" P+ y* M$ R6 r" }/ b/ e11.所有进程的EPROCESS内核结构都被放入一个()数据结构中。: ~( c4 p0 `: ? p$ d; z
A.单向链表" q& M& E9 {$ z, R: t9 [
B.结构体- m$ ~8 u# ?- j0 L7 W! V
C.双向链表2 s1 F- h% i4 g8 [: \0 `2 N6 H
D.数组
( s1 @* z! |; v! w资料: s8 z. m/ I9 Z2 q$ A- x/ A ?) [
/ h3 C' R4 f9 }" Y5 u: h
12.PE文件中的分节中唯一包含代码的节是()。
" [2 g O! ]* M) Z* K2 LA..rdata
2 A+ g( S$ N! t0 PB..text( o$ G1 }( k: Q! y2 V, [* G
C..data
$ ?0 _: ^2 d- e% y1 ?) } G4 T( j" BD..rsrc
. O B$ ]$ N% u9 m7 y1 A1 g/ t. f+ R资料:
- J. {# A( E) k# h1 X1 D
o/ q/ K: m7 ~% s# `, O13.()技术使IDA能在一系列编译器的标准库文件里自动找出调用的函数。
3 v- N7 m' b/ V: cA.FLIRT* j1 t+ Z5 P( f3 T
B.IDC脚本6 E) Z' u2 P0 v: ^' G
C.Hex-Rays Decomplier插件/ L- j' C7 \1 ?: d; Y$ I
D.远程调试3 _$ X! g. G5 i1 t
资料:
; X2 b. N/ F. S! l
$ E, W7 v \! w$ b, ~6 b8 g! L14.PEiD是利用()来完成识别工作的。
. N" S* o* j8 _' B2 IA.特征串
0 i. A& H, e; E! f* aB.启动代码
7 X; T5 J! b+ r; {C.导入函数# K; w8 O4 \' ~& b1 p+ p
D.导出函数$ F3 G& a# f, Y$ @+ \, h+ r: Z2 G
资料:) _6 }9 g1 p: d; A1 `2 `6 k# g' C
! S' d& [9 c2 z n
15.通常使用()中断来判断设备的优先级。
) @- j/ _! Z$ }A.PASSIVE_LEVEL. a+ l3 p; u# T; b
B.APC_LEVEL6 m, e' J6 c5 ^: x4 F6 Q ?
C.DISPATCH_LEVEL
6 j) b" J. c) g# x& R! ~2 X+ jD.DIRQL
& p4 t2 d, X8 y0 j# E9 h% T资料:
a7 h- B+ B! Y
; |8 x h$ Y) X" ~" q3 T6 K. Z W16.()主要处理来自User32.dll和GDI32.dll的系统调用。. Q5 ?( T$ p* b8 q! Y, [
A.SSDT) i& L, B* Y) P' {
B.IAT
x5 {) Q7 p+ m/ Q; C0 m4 bC.GPT8 Y4 p- L2 w. ?8 B+ B7 L: s9 A
D.Shadow SSDT# u0 L5 @3 `5 y9 [" M0 u3 ?
资料:- u1 c. j4 }6 F8 _3 {; J7 n+ t7 k" u
+ h; e+ c+ f* E1 T) w& k3 Q17.用十六进制工具查看IMAGE_ FILE_HEADER结构的情况时,以下字段中哪个代表可执行文件的目标CPU类型。
! Q6 {/ ~* ]4 C( H7 T/ rA.NumberOfSections
9 g1 z4 R- H2 t2 h( k$ ^B.Machine! m [& Z- _3 W, P6 u) T# S
C.TimeDateStamp
/ M' p) R5 i. G; M, d, _0 n# AD.Characteristics
) J9 m* [+ n0 H6 B1 c$ F资料:
4 |- Y* X# p3 O% E6 w8 n
+ H' N# U- {2 Q) |6 k7 g18.设置断点的快捷键是()。- _; O, B+ i% Z5 X, \
A.F7
) s; W. r6 Q8 [3 g C) }: JB.F4
& K8 u6 v5 e& ^6 F' UC.F2& g9 z* F) m1 p/ s2 ~% C/ ?9 J
D.F90 v/ U9 }- g, \( d
资料:
* I% s* W! N1 v {: d% M1 U! S
8 n+ {9 U; R6 l) ?1 ^19.只有APC级别的中断被屏蔽,可以访问分页内存的中断级别是()。( A+ t( E& h- N' ]/ C# Q7 k# d
A.PASSIVE_LEVEL
+ _. q7 e! I6 u) U6 S+ NB.APC_LEVEL/ H. x6 n1 Y; I; f
C.DISPATCH_LEVEL
$ W& P% e& M0 C3 ^& Y2 _0 BD.DIRQL
: a* I' W% E6 N3 T7 f$ ?资料:
: N- t7 J) M" j% }
+ D- }( z% h- A$ _+ f; Q. ]) `20.()相当于一个微型操作系统。* c! }0 ]+ u' F& Z9 z, q7 |
A.BIOS" M7 ]! y( q6 w
B.MBR
7 n( W% b' T9 j% PC.UEFI" H. f( j1 m* v) h
D.GPT
4 R( e7 n1 V* H' ?资料:/ q( M! v( _7 J# g
$ ^% s0 B R8 |7 |) v21.计算机体系结构中,()层是由十六进制形式的操作码组成,用于告诉处理器你想它干什么。' Y2 J3 }$ \) e( ~
A.微指令4 F" Z5 A8 B9 g$ \* A
B.机器码
, f6 Y, g( U) t r% KC.低级语言
5 x+ N* P# R7 {/ r5 M$ uD.高级语言1 G# s$ W. `2 o: K
资料: M9 H) h, b& h# T# i: F0 S) O2 _
J" d0 M+ X1 _* @0 a9 I
22.()支持函数式汇编。
- T" C& f+ k& |5 j( _- eA.ODDisasm' E$ J* k* L; p8 ^6 s
B.BeaEngine+ c" J2 l9 A% D8 x3 Z
C.Keystone
3 f: V3 Z0 t XD.AsmJit- ^2 F I- R- i9 _: \
资料:
2 ^1 E. e7 K3 ]9 k
0 Y* H" @" h t% C23.通过()可以知道指令代码的相互调用关系。
" |; R2 p ~, p+ t# I$ v, OA.交叉参考
$ D- ]" S$ _7 ^B.参考重命名
- t( W! Q7 q' J& l# rC.格式化指令操作数
2 V+ w5 e, O8 { ]1 _0 ]D.代码和数据转换' G! I% h( G, l% K
资料:
' K, b6 X7 I' A8 F) ~
5 o- G3 v7 {4 N8 A- _! r: B7 F24.在关于逆向工程(reverse engineering)的描述中,正确的是: ( )1 M/ |, d: k$ M/ {9 ~+ f' `& p7 Z0 n4 D
A.从己经安装的软件中提取设计规范,用以进行软件开发
" S+ F! u# w1 K# B. J9 G4 yB.按照"输出->处理->输入"的顺序设计软件4 Y/ j" I- ]# P; d/ m
C.用硬件来实现软件的功能* Y7 l! U* Z9 A- C; f
D.根据软件处理的对象来选择开发语言和开发工具3 p `+ _* r7 _' b$ k1 R" N; D! f
资料:: Z! @* H- ~: L8 M5 ^% `
3 P) K, p3 v" K* w, H25.以下不是函数传递参数的方式的是; G. t5 T, U% ?5 G! c
A.寄存器
! J. M: `5 j2 ]- ~, kB.通过全局变量进行隐含参数传递% W1 d+ [0 y5 @) F
C.队列传递
* W2 I% R, [0 g$ q- @* g: q3 Z6 cD.栈方式
. Z' G7 r8 G9 {" m% g' \0 Z资料:1 L( Y/ w! L+ @+ ^5 k+ N
- V) M3 c2 P% B. U3 p
二、多选题 (共 10 道试题,共 20 分)& m: _6 {9 N* [) |) F
26.下列是反汇编引擎的有()。
$ b |) V! C9 r9 J& ?- fA.ODDisasm
+ \# F9 Z* \" e' i$ D1 H7 ?B.BeaEngine( u% k K4 P: L' B
C.Udis86/ e$ O$ ^0 @9 I7 k5 n
D.Keystone: m/ \/ t# P( _% A6 n
资料:C; f9 ^# c6 U& I, N, T, m' a4 I' M# y
9 q, ~5 b4 {; b$ o+ \7 O: P" C7 u27.在以下的传递方式中,()是函数传递参数的方式[多选]9 C) U1 _: x. {3 b
A.栈方式5 o+ z) S' z7 G& K$ y0 U5 ^, {
B.队列方式
5 e& m6 ?, E' T1 a( cC.寄存器方式0 \- L& K& W0 h n; I2 S
D.通过全局变量进行隐含参数传递3 ]0 l. n% d1 A/ l6 @. K; G( i. V( w
资料:CD- c, C) P {( B+ k1 R- |
. i* d" r6 X: V, C5 [" j. F6 J28.以下是for循环的执行组件的是
+ B, {8 @( V2 I PA.初始化
2 x% g2 K& V4 K+ c7 e4 g& { l d& eB.比较: i6 o& l( C& D6 y
C.执行指令 c1 l. B$ l' ?( |! C% Z7 {$ B
D.递增或递减
% d, `$ P6 f. R7 O4 g- {6 {资料:CD1 t! S( V; z0 f- U; Y
" R" x @) n+ j4 p" K% Q B
29.常用的十六进制工具有()。
* Y! g8 L7 g) L/ }+ k- CA.HexWorkshop1 d: j7 T3 R( G$ ^7 I' m
B.WinHex6 N- ^ M, b$ L1 _. F
C.Hiew+ L$ M) J/ @- C/ m ~4 q9 R
D.ApateDNS' i2 ^' I( [( H* s5 X4 ^' G' `" ?6 X
资料:C# `: [3 z/ Q/ n" \& r8 p
# t8 M+ C6 S% I3 g5 I) h( L# ~# r30.字符串比较形式有哪几种()
& m% i0 h) M) d$ B/ RA.寄存器直接比较
1 h2 E. C7 Y/ [: m: t& X+ i* q4 V$ NB.函数比较
. {3 \' K1 L+ A2 X% H, O8 S! rC.串比较% x" z* W( A% p4 Y. n4 c
D.直接比较# O) m# J9 m; V; R6 j! @4 U
资料:C! D& r$ W9 S4 @. e2 V; W
& n3 \& @7 a- I6 I+ W6 v' U
31.常用的数据传送函数有()! }9 _7 }% y, W8 }: `5 Z5 U+ E
A.send()
, v" \3 K6 j# a" }# e- BB.recv()1 |% h" N7 f' Q7 h3 X8 j4 A
C.WSASend()0 k- C8 K' {5 Z9 G2 l
D.WSARecv()/ U" \2 k/ _5 P0 W c1 q- x
资料:CD
3 S. S% i6 A1 ?- e" ~! w: Z
9 v, S& |8 E7 I0 B32.利用调试器针对API设置断点的功能,就有可能找到判断注册码的地方,常用来对话框的API都有哪些()?
# @4 D Z% l8 \5 u3 ^( cA.GetWindowTextA(W)9 K {. H2 A# c$ l$ A& b
B.GetDlgItemTextA(W)
I r" r% r/ U- T# U# m8 y bC.GetDlgItemInt()3 A. I' \8 @4 x* A$ q; `5 K
D.Hmemcpy函数& O# U7 Z9 g! B
资料:CD
9 I+ }7 R, a i6 \! F/ j6 A9 ~6 n/ _$ z, O, F( m
33.有关进程和线程的数据结构有()。
* [ j) i8 r) I5 a* L' iA.EPROCESS
0 f. {1 W7 N- z+ IB.ETHREAD- R2 t- Q; z n5 _2 D/ p; I
C.PEB
# a( H9 `2 z, U, t9 dD.TEB
$ a7 t4 ]1 p9 y9 L资料:CD9 t4 c- G; m" R+ v0 _" d) @7 R
( `- J" G: h2 b! ~2 |9 R
34.查找具有相同窗口类名和标题的窗口的Windows API函数都有(). v* @5 ^" E" [0 l! y8 z( n
A.FindWindowA
& v7 A, i" U: V/ M, F# NB.GetWindowText
. I4 @$ F; w6 l0 u8 V. }7 J4 l3 uC.CreateMutexA4 n8 Z) I4 j8 w/ o
D.GetLogicalDriveStrings()
: j2 E; c% i4 Z1 v u3 v资料: A. H. V0 I! M3 @1 x6 o2 h
( Y+ x5 u+ L& w L/ d
35.去除警告窗口常用的3种方法是()?
1 A; v9 s* a" j4 ]/ e7 iA.修改程序的资源" W' f7 N2 j2 ]& B. `, v* P6 [* u
B.静态分析
# k7 [! s+ S! j9 Q2 }# [8 zC.动态分析; r: p+ ^8 j- ]" Q2 S: l$ E
D.放置不管! t5 x: `$ A, f- e, b; K
资料:C; g5 B) z5 i% s% ]! |
9 G! m* c' _7 B; g" S
三、资料来源:谋学网(www.mouxue.com) (共 15 道试题,共 30 分)
/ W4 M/ Q: K$ L; e/ x Y: |% k4 h( S36.共享区块拥有读取、写入和共享保护属性,可以让多个实例共享同一内存块。/ r2 Z$ d7 P% G
资料:正确
% v+ R9 \, a! [# g2 u% z/ a Y5 @& W7 ?% ]
, ^& S: {3 a6 W37.TEB与PEB不一样,在系统内核空间中,而不是在应用层中的结构。
% a. L3 ?8 s+ L5 {资料:错误% S+ G$ P/ E! W) _4 t
, H+ F* _+ s$ ~5 y) Z
38.WinDbg在内核态最多支持32个软件断点,在用户态则支持任意个。3 P& Y2 Z. e% i z# I$ y( h
资料:正确( E! C- ^, |# n. g7 H
) J9 O0 m4 \# ]* C- v! X39.减法指令的格式是sub value,destination0 L7 j: j3 i" |
资料:错误
* ]( G: ]& R+ T! s) [* ^& {
( H7 t3 W+ S6 Q) o/ M1 d. Q/ y40.在单击某个按钮时,Windows通过消息来判断单击了哪一个按钮,然后发送相应的句柄来通知程序。- ?% E; O" m2 ~' d. j7 |$ [
资料:错误 r: c, v" X! }/ D2 t
7 m. g. f+ R7 e i2 O/ k0 j
41.PEB有一个指针指向TEB
h5 I3 _! m% y8 t3 A资料:错误
( C+ P9 B$ B1 s- @9 \/ O: @2 r$ v' O# n$ o/ \# V, F9 y9 _# P
42.虚表的最后一项一定是以0结尾的+ \4 g4 Q+ K# I; V) p$ i* ~' ]
资料:错误$ Y) m5 A* s. T: O/ G; |
7 {$ X, a6 U6 U8 v+ U
43.附加进程时的非入侵模式调试、Dump文件调试、本地内核调试都属于实时调试模式,它们能直接控制被调试目标的中断和运行
$ E' \" P9 Q: L( M7 `7 K6 t资料:错误* g+ M% F. S( O3 k- O
! v$ {& d$ v. T# T! E+ @
44.应用程序可以直接访问内核空间的驱动程序。; q* z0 }: ^8 ]- J: {
资料:正确
' x! s, f$ X! g5 i' I! S
' |( i; B- M: l# f* j" a45.x64dbg是一款开源的调试器,只支持64位程序的调试,不支持32位程序的调试。
6 f9 p( @, `! `# ?; T3 [资料:错误
( z) j; h6 D' \3 a* g& i4 p& g A8 r# L0 R- O i
46.PEB 存在于用户地址空间中,记录了进程的相关信息。每个进程都有自己的PEB信息。
& x! n7 X+ j2 u6 `. V. e资料:正确/ w @! p" ]% Y4 ~
, r) q% o& Z/ Q$ s) M+ I47.程序在运行时,先调用main函数执行用户编写的代码,再执行初始化函数代码。0 Y+ l( s- a- Z
资料:错误4 [, l# D; a" z* \
1 \: \( O8 ]% p5 R
48.BSOD俗称蓝屏错误
5 z) K4 R# i. B1 v) \资料:正确
/ j8 B) E5 g+ s7 K( r1 X
: L& I" `' r1 b. t7 r49.OllyDump是OllyDbg最常使用的插件,它能够将一个被调试的进程转储成一个EXE文件。: L& [* V$ S4 D8 O, c
资料:错误- \8 Y( R# F, V" L* B5 c
/ f+ \5 Z0 Z) ^0 N2 Z$ L50.Unicode是ASCII字符编码的一个扩展,只不过在Windows中用2字节对其进行编码。; M3 j( D( ]* @% ~# b
资料:正确' k" [* E2 q! h% |4 V
4 I1 G" j) ~7 n6 e* k h
/ L4 E7 l+ y% C5 d- L# U# b4 U* y, r+ |* `" e, @
1 I- p. q5 [% ~/ a6 \9 R
3 W) X; @1 T* q0 ?5 a5 d+ @0 b7 Z( u$ T' W5 Q/ {4 J4 q
" m) I+ `/ ^1 l O: ?9 |
: {2 {) @8 k% k# C5 M% w
9 Y) v% j( X5 K3 C H
' f' Y1 X; J {. C! b
+ F4 p1 z* g- N2 D9 |! T- d8 N- ~; r$ S% j0 V: e
|
|