|
22秋学期(高起本1709-1803、全层次1809-2103)《逆向工程》在线作业-00001
~7 L2 p7 Z9 a9 J试卷总分:100 得分:98
1 [( I/ i6 u" Y/ [6 w+ ~) W& a一、单选题 (共 25 道试题,共 50 分)
/ X' R7 ?& c: f3 p- w* D. F: D. x$ S; b1.1.若依次压入数字1、2、3、4,则第二次弹出来的会是()。
& r: v9 z- W+ n3 R' \A.14 [$ m! B% A" w( v$ Q3 T
B.2( X' t! p* o$ X2 G$ i
C.3
0 m- D1 {, L9 h3 ?+ XD.4
5 T# I7 M; l+ T: {5 x资料:
- ~- r" O& I/ z- e, A
% M6 E1 a+ n0 W2 S8 c; B2.DLL动态链接库中的函数的更底层的函数包含在()文件中。" e# V" g. O& Z7 b
A.NTOSKRNL.exe; O- V+ R, d* U# u+ K) w$ X
B.NTDLL.DLL! W% C% m+ @+ z+ `6 O; z1 e/ ~9 G
C.HAL.DLL# ^0 v y& f# i
D.SHELL32.DLL
/ q0 x, ]- a( k$ y4 T0 q* g资料:* b5 {# m# J4 Y5 x: n+ m# R9 I
+ e0 n8 p: T8 w" Z7 Y" }
3.()用于记录进程的参数信息。
+ a8 f" f8 W; O6 v* mA.BeingDebugged/ w2 d& e' q2 u- p8 H0 P6 D; u
B.CheckRemoteDebuggerPresent H8 I; U, a8 o1 u6 }
C.ProcessParameters
0 v. z+ q0 a- Y H& w6 wD.ImageBaseAdress8 _8 d4 O2 t: G1 o/ |* s
资料:
9 B: J+ A3 q$ D! N; ?: }; x
" l4 I5 ]' y6 [: \3 k! I$ q+ j4.MBR最多支持()个主分区。
/ L) s6 W! Q/ a5 u, uA.1个
, g7 S7 P1 K5 y" FB.2个; S7 ] c* u1 T X
C.4个
h Y& Y% w5 C9 C$ h4 D4 w- P; mD.8个 \1 o$ x; H. |0 Q
资料:9 [% h- \* i. O0 U/ D
. I. x6 j& R9 ^ ^; z5.在以下PE文件的常见区块中,哪一个包含读写数据块。 e; W- U$ F, s+ J5 U8 J
A..text- m1 ?1 k' V8 @/ E
B..data
4 [" {% [# t+ p9 W9 T2 ^9 P) F- kC..idata
r; }7 }% L8 i J' {# \2 a) b" G- yD..edata& X' X) f! y) Y+ ~
资料:
: h3 E5 x) H" y* A: G0 {
4 @. d- F# B$ b( Q: \6.Windows启动过程的第一阶段是()。
; Z2 ~8 J( }( o: Q: z" V1 j6 g1 r. YA.启动自检阶段
, @, |+ ]" r6 ]& B! |; KB.初始化启动阶段4 ?9 r! t; b' v& ^
C.Boot加载阶段1 N/ \6 `4 k/ @. A0 {6 ?+ z
D.检测和配置硬件阶段9 X. U& h" p2 z3 U
资料:4 o3 ] ]; ]' Q- B6 k, c* O" h& y
; H0 E' W+ ?4 B# x% t/ a7.在获取不到高级语言源码时,()是从机器码中能可信并保持一致地还原得到的最高一层语言。/ l; e5 D& T7 J* l5 @4 x8 q0 ?: N
A.机器指令- L u2 a7 o$ b9 A' \( V5 W5 ?
B.微指令! ?: A1 b! g5 u B" h
C.汇编语言
6 `7 @4 Z( {, @) S% Z. ]+ uD.机器码
j! V3 G, d4 ]& S/ ?资料:: ] v9 A) E K$ f! l8 ^# e8 C, c
! e1 {, ^! j0 L* k' [5 l7 @( \8.PEiD是利用()来识别程序是由何种语言编译的的。, s; t& l: j' c0 b! T
A.特征串) S: O" b/ q$ n
B.启动代码6 B% }: g% }# @6 w! G \) y
C.导入函数
' Q; |4 ^ U S$ z2 A4 PD.导出函数# q& M& p$ U. p/ i2 X
资料:3 V. @6 G+ Q. I/ \# {# o3 Y
2 z8 }# C: A1 e2 U' r9.Windows系统中第1个创建的用户进程为()。
8 a1 m T/ h; k& m1 h4 u( ?A.csrss.exe, C @ j, E5 a9 {1 R6 \
B.winlogon.exe4 r; S5 K& e& d, F
C.smss.exe
( k8 k: [' Y+ J( O7 {D.services.exe9 g5 ]4 \/ j8 \ L# {: Y2 U3 u0 p
资料:
* k4 x8 u m& @. X
/ l+ O2 E. P3 ~+ Z10.基址重定位数据采用类似按页分割的方法组织,是由许多重定位块串接成的,每个块中存放()KB的重定位信息; G+ P) Y2 a: Q, u B5 U
A.13 |9 c$ ?. W) o& o6 g. r0 z
B.2
' X+ y% L: ^4 kC.4
% J/ V# v; U; z' X9 PD.8
+ Y7 |( U/ x; O$ W# k7 a1 S4 u! R资料:4 k$ a0 V& N( ^$ Y: t
% e; i% D; Y! C% w% `5 i) V11.所有进程的EPROCESS内核结构都被放入一个()数据结构中。# W/ i- r/ W% x" {1 G
A.单向链表
/ r2 P1 `! ^9 D. N c' z7 RB.结构体& j+ H+ t: G3 Y- Z, |6 x* }
C.双向链表
# o* I0 U( b0 lD.数组
& Y. H, B: H2 ?; \5 E V- r资料:
2 _ ]3 W/ C! s5 D. d% {: `+ ?$ H' X) ^' E! |, r- d- a
12.PE文件中的分节中唯一包含代码的节是()。/ C% U" f% O3 }
A..rdata3 W& Y# m' B# n5 S: E$ H
B..text
- M6 T4 J o. e' f& l" Y& yC..data3 ]$ w) g* w3 l! Q) ]
D..rsrc2 T. T4 ?; ^& e+ ?9 J+ a$ s8 A
资料:/ }, T& ?, `+ R- ` `
7 K% Q2 a5 ~* D* [% w
13.()技术使IDA能在一系列编译器的标准库文件里自动找出调用的函数。- X5 U5 d; z3 ?
A.FLIRT
! F5 d% h! O3 Y1 UB.IDC脚本' }7 \+ X9 @6 P2 ?3 X& K2 h
C.Hex-Rays Decomplier插件9 o# n, G8 f& y6 z2 |
D.远程调试
. Q. U$ I, n( B" ?6 A3 e9 L资料:
9 y8 D) y6 l x9 Y
{& X% g5 c ~* u. S14.PEiD是利用()来完成识别工作的。
" I& n5 ~* a/ bA.特征串3 P! g8 R* x. q1 U3 Y$ B
B.启动代码" M- g1 n1 v3 J+ z9 ]
C.导入函数
0 i. G, q2 M) r' P, ZD.导出函数
) N, d1 v4 r& b5 ?& L; Z资料:
" j/ g( I# _ L' |. D5 [( w' _ y R) ?) F1 g7 N: f8 e4 X3 `
15.通常使用()中断来判断设备的优先级。
8 L$ ]3 A1 L8 P# R/ O+ |1 x* HA.PASSIVE_LEVEL
/ _3 m/ W! x' I9 QB.APC_LEVEL
& Y7 W t& p2 P; q0 AC.DISPATCH_LEVEL
/ u# e* D2 ^7 j9 l5 UD.DIRQL9 k$ h; o% Y; ]3 A @3 }
资料:" U5 z3 a( i3 C6 d U5 o, n5 `
% o* h4 q: K" ]/ M: d: I7 B16.()主要处理来自User32.dll和GDI32.dll的系统调用。: q% x- s! n/ d' p4 X0 R
A.SSDT0 n0 @, h1 n! i2 O {# V
B.IAT) f8 G- q& z* h- q- I, [
C.GPT
# q/ J5 H- c6 l1 e, o: A4 BD.Shadow SSDT* Z, x; d7 T1 u8 P% Z- I' z
资料:5 o5 k* E$ c9 g- t, P- C. g, \6 ]
0 i4 \ t, K7 n( G4 W17.用十六进制工具查看IMAGE_ FILE_HEADER结构的情况时,以下字段中哪个代表可执行文件的目标CPU类型。 g) B8 V& x3 N! g" }+ H7 h8 o
A.NumberOfSections0 I, d. W( B& l. w
B.Machine s& [( \# q$ H$ s% u
C.TimeDateStamp% ?8 ?7 `$ ~7 N# a, X Q; Z
D.Characteristics
/ T5 d B G+ k) V资料:# p5 ?& n# }: j9 B- {: p+ O8 L
1 l* ^4 Q/ V; h7 p' h, g3 w
18.设置断点的快捷键是()。
9 ^' i6 ~& e/ e& v' \0 a2 y; w4 p qA.F71 Q0 k7 x1 ]. u! c# J0 w; D! w `
B.F4
3 M% r' K) W/ \" UC.F2
$ E! g3 ?8 f5 @8 oD.F9
9 V7 E9 B; C6 \& S资料:5 Q8 v: ]. R* m5 M. |6 D
* Z/ O, ]* I/ R$ v6 M: z19.只有APC级别的中断被屏蔽,可以访问分页内存的中断级别是()。
& h& d3 J( _$ W5 ?5 c2 I1 I: y5 M% Y: vA.PASSIVE_LEVEL
0 y( q; X$ Z/ U# Z4 FB.APC_LEVEL+ s! d9 k: v0 S1 _- w
C.DISPATCH_LEVEL( d$ V% f5 i; o- d
D.DIRQL2 }- i! l3 z) t# q+ ~2 c
资料:
6 W" t* ?3 I, ?2 y3 T# m3 h v2 m0 N e; c7 {
20.()相当于一个微型操作系统。
9 R4 t/ c9 U' d6 _& DA.BIOS
$ @, y& _& @/ yB.MBR, H! R3 c) @! Q- w) P0 q$ W5 q
C.UEFI
6 I3 J* H% E+ f' v- s9 kD.GPT' s! Y, f: m: e3 O: t( d
资料:! R! R# o9 I/ I+ }7 t
( f8 F' z' {+ V: V g# {) t
21.计算机体系结构中,()层是由十六进制形式的操作码组成,用于告诉处理器你想它干什么。
( _, \, i. u" y( I: Q0 D pA.微指令
! i8 f' `( [% f) k( Y x" r1 O* TB.机器码3 V6 o1 V9 U1 Z, R; l
C.低级语言+ z& `5 _' Y% a3 c2 L. L# M n" ]
D.高级语言
& F. e6 N1 J# |9 R) K! B资料:
& Y, O' U% u! a# I& X9 D H, d+ e( m1 u5 t1 _
22.()支持函数式汇编。& C* v6 x" q; J7 P7 `+ m
A.ODDisasm
; ^! C, x3 K/ V- A' SB.BeaEngine/ X1 k5 s E/ _: v4 x
C.Keystone! p$ i5 ]: d" ^' v
D.AsmJit
4 d' Z8 |' b& H( C0 \1 L6 x资料:, p" B7 {- c: C# l! l! z' ]
, W( H! E: |! e1 o
23.通过()可以知道指令代码的相互调用关系。
2 }5 h$ ]# U* FA.交叉参考. Y: J: P0 ~1 H7 ]$ B
B.参考重命名
( d1 G& p" N2 u4 U7 CC.格式化指令操作数6 ?4 R. r* G, `2 c# o
D.代码和数据转换! H, ^( D2 ~( p1 F5 |8 G7 T8 B0 o/ Q8 l
资料:& p& G- C8 G, u. v3 V( i8 ]
/ C) m- m U3 a) ]" |
24.在关于逆向工程(reverse engineering)的描述中,正确的是: ( )
8 Y& V# h1 s/ B( ~/ U- qA.从己经安装的软件中提取设计规范,用以进行软件开发
. V$ c/ r# Y# j: s- R* y4 d, H# mB.按照"输出->处理->输入"的顺序设计软件
7 e" Z; A: _: e+ n& a9 @9 qC.用硬件来实现软件的功能* t& m) `- [1 K+ b4 I1 @
D.根据软件处理的对象来选择开发语言和开发工具
, d) W+ `) ?- g' v% D# I; Y资料:
1 K$ f4 M* s1 G; R' P$ m. ?7 J* Y8 y5 U8 J
25.以下不是函数传递参数的方式的是
6 D" t8 R. f9 F" C9 wA.寄存器
* r2 H/ R. o3 n6 \B.通过全局变量进行隐含参数传递
, B# I4 U7 N* s$ @C.队列传递3 H: p5 H) f3 z9 C; N$ t
D.栈方式6 b- ~/ E! O5 y/ l
资料:
0 X! q( G& s2 e- _3 o0 u+ a' W) a6 @% V% \
二、多选题 (共 10 道试题,共 20 分)
1 _. t7 |+ e4 z) B, L" V26.下列是反汇编引擎的有()。
( v7 F" Y% s. J. k$ g: @A.ODDisasm1 s2 w* k F$ t( d: i I; Z0 [
B.BeaEngine
- `; ?' ~( w: L! U6 VC.Udis86
5 Q0 C5 g0 F2 t1 WD.Keystone
# H2 b! j4 k( S& Y! j资料:C' w b3 A# B# A+ i( R2 C: J2 C
& v1 G- X; h0 }) r27.在以下的传递方式中,()是函数传递参数的方式[多选], u' z: f; a4 g1 ~7 c% F' o7 a2 \
A.栈方式0 R9 a3 \" g5 O' y ?
B.队列方式+ w1 E! u( z$ Z( W6 b
C.寄存器方式) |, [. K7 K; x* o
D.通过全局变量进行隐含参数传递
( T$ ~& d3 P8 H/ U4 {资料:CD
* S j3 \; J; n$ K/ ^' |3 [; B4 Z+ \6 z) U& ~9 S7 U
28.以下是for循环的执行组件的是
" z8 Q2 ]. L/ e( w/ x. b2 WA.初始化& W* L2 Y/ k! ]+ D0 |, m! @% D
B.比较
4 J- }: A; g6 o& Q( _0 z5 H( IC.执行指令
& T0 @9 b3 |4 E6 N, ?) ?D.递增或递减: q4 y% [0 k+ U) o/ U
资料:CD8 K7 z. o& I4 a
- W |) V- ^% c1 G2 h$ b- _& @
29.常用的十六进制工具有()。" w; g$ R2 V4 H4 C; t. g3 R
A.HexWorkshop
; V" S! j( v; \; q1 NB.WinHex( J" {7 u* u! P' m7 ^/ x2 W! T
C.Hiew
1 i! U6 R4 F$ k7 ?D.ApateDNS) u" u4 Q4 [8 Y E, a
资料:C* D% h2 T5 \. ~, O8 F i: K
9 R3 ?; M2 D( J6 ^30.字符串比较形式有哪几种()
; k% V4 ^* A) p: V/ [1 d) MA.寄存器直接比较
& h! |' ?2 P" XB.函数比较
7 j* f" }/ g4 ?4 X( A$ b$ B% y' BC.串比较
/ T' N6 w4 Q$ D5 M0 r5 XD.直接比较6 g: ?, n8 Q+ G8 ~/ \" Z$ p
资料:C3 U' c o. \: Z% M
) X( e# `# A, p8 S6 N
31.常用的数据传送函数有()4 u+ n5 w% \- a$ S* B! p5 \
A.send()7 K% n4 E" ~2 C8 I7 V
B.recv()8 P# }8 Z) G. {% z$ v6 n. O
C.WSASend()
8 o: y9 d* n/ a! x7 ZD.WSARecv()0 R f* [" ?3 B. D5 [
资料:CD
0 J& i$ q" e4 C9 s" ~) \, L+ \. s u8 r- ~; u5 K( U2 V
32.利用调试器针对API设置断点的功能,就有可能找到判断注册码的地方,常用来对话框的API都有哪些()?3 t4 Q" D# f" p7 f$ h7 {. [/ P
A.GetWindowTextA(W), @0 k) d/ D/ ]/ i# c, f! n
B.GetDlgItemTextA(W)" G/ H; k a4 \& P/ \' c2 j
C.GetDlgItemInt()* ]) I- C6 B% N/ i6 b' x2 |( Q
D.Hmemcpy函数: S8 ?3 P$ m- L9 Q0 h
资料:CD
* Q& ?9 Y+ a7 @, N# f. u/ p
) N0 y" z. q/ B6 _33.有关进程和线程的数据结构有()。
: O, h, n3 O, Y j4 hA.EPROCESS
1 p$ [6 H) d7 |* X" m9 j1 tB.ETHREAD
( n) y; G) D8 P7 sC.PEB
% F: @9 H! ]+ D+ y" z) ^% cD.TEB
x3 g9 G! w5 T9 Y3 v: g! H% I9 I资料:CD+ a" Z3 w- H/ q
$ U$ l2 D l3 X& Y/ O8 i34.查找具有相同窗口类名和标题的窗口的Windows API函数都有()
* j7 R! L& [- a3 {A.FindWindowA( Y" O1 e' H' r* V" D
B.GetWindowText4 G4 u# j: A" y! U8 X3 e
C.CreateMutexA
; D4 }/ R* p" R- v- nD.GetLogicalDriveStrings()) g# U4 x/ q( p7 ^/ N
资料:( ]6 K A+ p& |" Q% s- b# V! ?
9 N: r' D* Z$ O, l% t s3 B
35.去除警告窗口常用的3种方法是()?- a# \, n) ~% A# q# [
A.修改程序的资源
9 i9 |, Z& _; ^3 X# ]9 E J9 YB.静态分析( l' e* }( q" P# C7 ~
C.动态分析4 l Z4 u) w- \6 O$ c. X
D.放置不管7 C& `; \" w# f, q+ n
资料:C
& g$ }0 U/ N6 i, N6 C- A0 ?# ^& ?1 z9 g1 E. ~! {* v
三、资料来源:谋学网(www.mouxue.com) (共 15 道试题,共 30 分)( P5 h4 q ^1 V/ [4 k/ F' Y% g; G5 I
36.共享区块拥有读取、写入和共享保护属性,可以让多个实例共享同一内存块。
* N8 V9 Q( [! E' b- c: w, |资料:正确
p/ a4 u3 G! x& ~) h( X; o2 {) I2 U9 q- z6 T
37.TEB与PEB不一样,在系统内核空间中,而不是在应用层中的结构。
7 L4 F7 K* X1 i* \. J( d' x资料:错误4 |# ]1 w, ~3 |
3 ^) d( y' v; I( q5 `: b
38.WinDbg在内核态最多支持32个软件断点,在用户态则支持任意个。% O# r+ \, K: g
资料:正确
1 v( l$ }, k8 D2 T$ J
/ K/ L9 F8 h) U# V& I7 Z39.减法指令的格式是sub value,destination
; n8 s& y) c4 l2 {; p A资料:错误! K: [. b' r+ ~
# K" v, E% F/ C ?+ E1 W) n+ d40.在单击某个按钮时,Windows通过消息来判断单击了哪一个按钮,然后发送相应的句柄来通知程序。( n' q9 ^7 f; _) `* l
资料:错误
; f5 H6 Y6 A" t4 x5 @6 V
: D8 {$ n. q8 I3 E* d; N% d41.PEB有一个指针指向TEB( ~1 {5 [7 t1 e! m- j0 G. \. |; c
资料:错误. F4 z F. F. K Y, c7 K9 ~+ {+ a
3 ~+ y3 q3 ~; ?9 ~5 `3 ?42.虚表的最后一项一定是以0结尾的$ w2 B$ h4 p6 g; V
资料:错误
7 g$ C7 }8 H& J* J! u' e }7 q7 Y, X; C X
43.附加进程时的非入侵模式调试、Dump文件调试、本地内核调试都属于实时调试模式,它们能直接控制被调试目标的中断和运行
4 d4 X7 Q( \5 h: W' C资料:错误
5 U, M( K0 Z/ [5 N
( I9 {& x8 v/ G; r7 M: l/ ~' \44.应用程序可以直接访问内核空间的驱动程序。8 |: u8 y7 m3 y: S, L) ^5 i
资料:正确4 _, }, O1 z- e) E; R8 G
) [! o6 }2 a9 a7 Z. @& j
45.x64dbg是一款开源的调试器,只支持64位程序的调试,不支持32位程序的调试。
7 A$ [( \( w4 n. p% y" q ~资料:错误
0 z( [! ~" J, x9 s
$ j6 K. Y- M/ \. Z46.PEB 存在于用户地址空间中,记录了进程的相关信息。每个进程都有自己的PEB信息。! V( ]8 Y2 R* l; W6 E% y# _
资料:正确' U( {2 C' R- d6 P( \
" E2 W( w; K5 j- H/ Z: t
47.程序在运行时,先调用main函数执行用户编写的代码,再执行初始化函数代码。 v3 Y9 f5 H- _# E% Y, b8 i* @9 c
资料:错误
7 e! T* }7 j( h. t8 ~. L
( Q) {& D) O' s8 q48.BSOD俗称蓝屏错误! d0 a/ k0 ^2 K8 e
资料:正确
e; G$ P) D4 [$ H, v; U0 t& @8 B) J
6 @8 H7 v2 L9 k; m49.OllyDump是OllyDbg最常使用的插件,它能够将一个被调试的进程转储成一个EXE文件。
& l0 p, [6 U$ L' @# u h& B资料:错误
( G% Q. V Q1 m- t
4 `8 J" E9 l+ |& a! h: s/ t50.Unicode是ASCII字符编码的一个扩展,只不过在Windows中用2字节对其进行编码。) j, J% g* T4 e
资料:正确+ K+ o. x6 n3 B
' T, _5 P" q) y5 q$ T+ s
( O- x8 h6 d K, Y8 M6 m( e" k: J) {& G% b: V B& Z; O
; \; h& T7 u# P9 `8 @
: l* J6 K5 z4 U6 C, t1 |" P2 h+ k4 z# g. r, Z
& S- E+ S' j! w9 i
+ x! i0 P7 Q3 Z( B# O) p0 d) w
7 w$ }+ t+ c% F! h& W
, X6 P8 F7 L- h7 v5 N
/ ~; x' a( p8 v4 X |) H ^/ a |
|