Unit 3: Disassembly and Malware Debugging - Subjective Questions

INT251 — Malware Analysis And Cyber Defence • Practice Questions with Detailed Answers

20 questions

1

Define static code analysis in the context of malware analysis. Explain its objectives, advantages, and limitations.

2

Describe a systematic procedure for performing static analysis of a suspicious Windows executable.

3

Explain the important fields and components of the Windows Portable Executable (PE) format that are useful during malware disassembly.

4

Distinguish between a disassembler, a decompiler, and a debugger. State how each is used in malware analysis.

5

Explain how x86 or x64 assembly instructions, registers, flags, and the stack are interpreted during malware disassembly.

6

What is a control-flow graph? Explain how basic blocks, branches, loops, and cross-references assist static malware analysis.

7

Describe how imported Windows API functions can be used to infer the possible behavior of malware. Give suitable examples.

8

Explain the Import Address Table and describe how a disassembler identifies calls to Windows API functions through it.

9

Compare static imports with dynamic API resolution. Explain why malware frequently resolves Windows APIs at runtime.

10

What are calling conventions? Explain why knowledge of calling conventions is important when analyzing Windows API calls in a disassembly.

11

Define debugging and explain the general concepts of breakpoints, single stepping, register inspection, memory inspection, and execution control.

12

Distinguish among software breakpoints, hardware breakpoints, and memory breakpoints. Mention their advantages and limitations.

13

Explain the difference between step into, step over, step out, and run until return while debugging a binary.

14

Describe how registers, the stack, and function parameters can be examined at a breakpoint to determine the behavior of a Windows API call.

15

Explain how exceptions and structured exception handling can affect the debugging and analysis of Windows malware.

16

Describe common anti-debugging techniques used by malware and discuss general methods for recognizing and handling them during analysis.

17

Explain how packing and obfuscation affect static disassembly. Describe how debugging can be used to locate the malware's original entry point.

18

Compare static analysis and debugger-based dynamic analysis of binaries. Explain why a combined approach produces more reliable malware-analysis results.

19

Design a safe and systematic workflow for debugging an unknown malware binary in a laboratory environment.

20

A disassembly contains calls to OpenProcess, VirtualAllocEx, WriteProcessMemory, and CreateRemoteThread. Analyze this API sequence and describe how you would verify its purpose with a debugger.