1What is static code analysis in malware analysis?
Static code analysis
Easy
A.Running code inside a debugger
B.Examining code without executing it
C.Restoring files from a backup
D.Monitoring live network traffic
Correct Answer: Examining code without executing it
Explanation:
Static code analysis examines a program's structure and instructions without running the program.
Incorrect! Try again.
2Which tool converts machine-code instructions into assembly language?
Static code analysis
Easy
A.Disassembler
B.Packet analyzer
C.File compressor
D.Text editor
Correct Answer: Disassembler
Explanation:
A disassembler translates machine code into assembly instructions that an analyst can inspect.
Incorrect! Try again.
3Which information can commonly be found by extracting strings from a suspicious binary?
Static code analysis
Easy
A.Current processor temperature
B.Active network bandwidth
C.Live keyboard input
D.Embedded URLs and file paths
Correct Answer: Embedded URLs and file paths
Explanation:
Strings can reveal readable artifacts such as URLs, file paths, commands, and error messages.
Incorrect! Try again.
4What is the main purpose of calculating a cryptographic hash of a malware sample?
Static code analysis
Easy
A.To repair the file automatically
B.To identify the file uniquely
C.To execute the file safely
D.To increase the file size
Correct Answer: To identify the file uniquely
Explanation:
A hash acts as a fingerprint that helps identify and compare malware samples.
Incorrect! Try again.
5Which part of a Windows Portable Executable (PE) file lists external functions used by the program?
Static code analysis
Easy
A.Import table
B.Audio stream
C.Recycle Bin
D.Bitmap header
Correct Answer: Import table
Explanation:
The import table identifies external functions and libraries that the executable uses.
Incorrect! Try again.
6What does a Windows API call allow a program to do?
Disassembling Windows API
Easy
A.Request services from Windows
B.Replace the processor firmware
C.Disable all hardware interrupts
D.Rewrite assembly as source code
Correct Answer: Request services from Windows
Explanation:
Windows API calls let programs request operating-system services such as file, process, and memory operations.
Incorrect! Try again.
7Which Windows API function is commonly associated with opening or creating a file?
Disassembling Windows API
Easy
A.CreateFile
B.CreateThread
C.RegOpenKey
D.VirtualAlloc
Correct Answer: CreateFile
Explanation:
CreateFile is used to create or open files and certain other input/output resources.
Incorrect! Try again.
8Which Windows API function is commonly used to allocate virtual memory?
Disassembling Windows API
Easy
A.CloseHandle
B.VirtualAlloc
C.DeleteFile
D.OpenProcess
Correct Answer: VirtualAlloc
Explanation:
VirtualAlloc reserves or commits virtual memory in the calling process.
Incorrect! Try again.
9What is the purpose of GetProcAddress in Windows?
Disassembling Windows API
Easy
A.Create a new user account
B.Read data from a network socket
C.Find an exported function address
D.Calculate a file checksum
Correct Answer: Find an exported function address
Explanation:
GetProcAddress retrieves the address of an exported function from a loaded module.
Incorrect! Try again.
10In disassembled code, which instruction commonly transfers control to a Windows API function?
Disassembling Windows API
Easy
A.CALL
B.INC
C.NOP
D.CMP
Correct Answer: CALL
Explanation:
The CALL instruction transfers execution to a function and records a return address.
Incorrect! Try again.
11What is debugging?
General concepts of debugging
Easy
A.Designing and installing network cables
B.Observing and controlling program execution
C.Encrypting and archiving program files
D.Deleting and restoring system accounts
Correct Answer: Observing and controlling program execution
Explanation:
Debugging allows an analyst to observe, pause, and control a program while it executes.
Incorrect! Try again.
12What is a breakpoint?
General concepts of debugging
Easy
A.A location where execution pauses
B.A file that stores source code
C.A protocol for sending email
D.A method for compressing binaries
Correct Answer: A location where execution pauses
Explanation:
A breakpoint tells the debugger to pause execution at a selected instruction or event.
Incorrect! Try again.
13What does single-stepping allow an analyst to do?
General concepts of debugging
Easy
A.Scan every file for signatures
B.Execute one instruction at a time
C.Run several programs in parallel
D.Download multiple updates together
Correct Answer: Execute one instruction at a time
Explanation:
Single-stepping executes instructions individually so their effects can be observed.
Incorrect! Try again.
14Which processor component stores temporary values such as addresses and calculation results?
General concepts of debugging
Easy
A.Sectors
B.Packets
C.Directories
D.Registers
Correct Answer: Registers
Explanation:
Registers are small, fast storage locations used by the processor during execution.
Incorrect! Try again.
15What does the instruction pointer normally identify?
General concepts of debugging
Easy
A.The size of the system disk
B.The current network gateway
C.The next instruction to execute
D.The last file opened by Windows
Correct Answer: The next instruction to execute
Explanation:
The instruction pointer contains the address of the next machine instruction to be executed.
Incorrect! Try again.
16Why should a suspicious binary be debugged in an isolated environment?
Debugging binaries
Easy
A.To reduce risk to other systems
B.To improve the monitor resolution
C.To simplify the binary's license
D.To increase the processor clock rate
Correct Answer: To reduce risk to other systems
Explanation:
Isolation helps prevent malicious activity from affecting production systems or external networks.
Incorrect! Try again.
17What does stepping into a function do in a debugger?
Debugging binaries
Easy
A.Deletes the called function
B.Skips the entire called function
C.Pauses inside the called function
D.Renames the called function
Correct Answer: Pauses inside the called function
Explanation:
Stepping into follows a function call and allows its internal instructions to be examined.
Incorrect! Try again.
18What does stepping over a function call usually do?
Debugging binaries
Easy
A.Displays only the function's source file
B.Executes the function without entering it
C.Stops the function from ever running
D.Copies the function into another process
Correct Answer: Executes the function without entering it
Explanation:
Stepping over runs the called function but pauses at the instruction following the call.
Incorrect! Try again.
19Which debugger feature can pause execution when a selected memory location is accessed?
Debugging binaries
Easy
A.Import table
B.Checksum
C.File signature
D.Watchpoint
Correct Answer: Watchpoint
Explanation:
A watchpoint can pause execution when a chosen memory location is read, written, or changed.
Incorrect! Try again.
20What is the purpose of viewing the call stack while debugging a binary?
Debugging binaries
Easy
A.To display the installed device drivers
B.To list the available disk partitions
C.To measure the current network speed
D.To inspect the active function calls
Correct Answer: To inspect the active function calls
Explanation:
The call stack shows the sequence of active function calls that led to the current execution point.
Incorrect! Try again.
21A suspicious Windows executable has very high entropy in its .text section and contains only a few readable strings. What is the most likely explanation?
Static code analysis
Medium
A.The executable was compiled without optimization
B.The executable uses position-independent code
C.The executable contains only debug symbols
D.The executable is packed or encrypted
Correct Answer: The executable is packed or encrypted
Explanation:
Packing and encryption make byte distributions more uniform, resulting in high entropy and fewer readable strings.
Incorrect! Try again.
22During static analysis, a function repeatedly references the strings cmd.exe, /c, and CreateProcessW. What behavior should an analyst investigate first?
Static code analysis
Medium
A.Credential collection through browser databases
B.Registry persistence through a service
C.Command execution through a child process
D.Network communication through a socket
Correct Answer: Command execution through a child process
Explanation:
CreateProcessW combined with cmd.exe /c commonly indicates that the program launches a shell command.
Incorrect! Try again.
23A disassembler incorrectly treats embedded data as executable instructions. Which action is most useful for correcting the analysis?
Static code analysis
Medium
A.Rename every function using its virtual address
B.Redefine the region as data and reanalyze references
C.Convert the entire section into writable executable memory before continuing the static examination
D.Disable all cross-reference generation in the disassembler
Correct Answer: Redefine the region as data and reanalyze references
Explanation:
Correctly marking embedded data prevents invalid instructions and helps the disassembler rebuild accurate code and data references.
Incorrect! Try again.
24Why is examining cross-references to a suspicious string such as Software\\Microsoft\\Windows\\CurrentVersion\\Run useful?
Static code analysis
Medium
A.It calculates the executable's cryptographic file hash
B.It identifies code that may configure registry persistence
C.It reveals every process that has loaded the executable
D.It determines the compiler's exact optimization level
Correct Answer: It identifies code that may configure registry persistence
Explanation:
Cross-references show which instructions use the registry path, helping locate code that may create a startup entry.
Incorrect! Try again.
25An executable imports VirtualAlloc, WriteProcessMemory, and CreateRemoteThread. Which capability is most strongly suggested by this combination?
Static code analysis
Medium
A.Encrypting files with a symmetric cipher
B.Creating a scheduled task for persistence
C.Capturing packets from a network adapter
D.Injecting code into another process
Correct Answer: Injecting code into another process
Explanation:
These APIs are commonly combined to allocate remote memory, write a payload into it, and execute it in another process.
Incorrect! Try again.
26In 32-bit x86 code using stdcall, several values are pushed immediately before a Windows API call. In what order are the function arguments normally pushed?
Disassembling Windows API
Medium
A.In register order followed by stack order
B.From leftmost argument to rightmost argument
C.From rightmost argument to leftmost argument
D.In alphabetical order by parameter name
Correct Answer: From rightmost argument to leftmost argument
Explanation:
The 32-bit stdcall convention normally places arguments on the stack from right to left, and the callee cleans the stack.
Incorrect! Try again.
27A binary imports only LoadLibraryA and GetProcAddress, but later performs network operations. Why might the network APIs be absent from its import table?
Disassembling Windows API
Medium
A.The APIs are resolved dynamically at runtime
B.The APIs are automatically inserted by the debugger
C.The APIs execute entirely inside the processor firmware
D.The loader converts network instructions into API calls and records them only after the process terminates
Correct Answer: The APIs are resolved dynamically at runtime
Explanation:
LoadLibraryA and GetProcAddress allow malware to load DLLs and resolve API addresses without listing those APIs in the static import table.
Incorrect! Try again.
28A call to CreateFileW returns 0xFFFFFFFF in the EAX register on a 32-bit system. How should this result usually be interpreted?
Disassembling Windows API
Medium
A.The function returned a valid kernel object address
B.The file operation failed with INVALID_HANDLE_VALUE
C.The file was created with maximum access rights
D.The call succeeded but produced an empty file
Correct Answer: The file operation failed with INVALID_HANDLE_VALUE
Explanation:
CreateFileW returns INVALID_HANDLE_VALUE, represented as all bits set, when it cannot open or create the requested object.
Incorrect! Try again.
29While analyzing a call to RegSetValueExW, which argument is most important for determining the actual data written to the registry value?
Disassembling Windows API
Medium
A.The return address stored by the call instruction
B.The pointer passed through the lpData parameter
C.The handle passed through the hKey parameter
D.The reserved value passed through the third parameter
Correct Answer: The pointer passed through the lpData parameter
Explanation:
lpData points to the buffer containing the bytes written to the registry value, while other parameters describe the key, name, and type.
Incorrect! Try again.
30A disassembly shows calls to InternetOpenW, InternetConnectW, and HttpOpenRequestW. What behavior is most directly indicated?
Disassembling Windows API
Medium
A.Installing a kernel driver for packet filtering
B.Enumerating local user account information
C.Opening a named pipe for local communication
D.Preparing an HTTP request to a remote server
Correct Answer: Preparing an HTTP request to a remote server
Explanation:
These WinINet APIs initialize an Internet session, connect to a server, and create an HTTP request.
Incorrect! Try again.
31Why might an analyst prefer a hardware execution breakpoint over a software breakpoint when examining self-checking malware?
General concepts of debugging
Medium
A.It avoids replacing the target instruction with INT 3
B.It allows unlimited breakpoints without processor support
C.It permanently disables all anti-debugging checks
D.It automatically reconstructs imports and repairs the executable's PE headers after every breakpoint event
Correct Answer: It avoids replacing the target instruction with INT 3
Explanation:
A software breakpoint modifies the code byte to 0xCC, while a hardware breakpoint uses debug registers and leaves the instruction unchanged.
Incorrect! Try again.
32What is the practical difference between stepping into and stepping over a CALL instruction?
General concepts of debugging
Medium
A.Stepping into changes the stack; stepping over preserves every register
B.Stepping into ends the process; stepping over restarts the process
C.Stepping into enters the function; stepping over pauses after it returns
D.Stepping into skips the function; stepping over enters the function
Correct Answer: Stepping into enters the function; stepping over pauses after it returns
Explanation:
Step into follows execution inside the called function, whereas step over executes the function and breaks at the next instruction in the caller.
Incorrect! Try again.
33A breakpoint set at a hard-coded virtual address works during one run but fails after restarting the program. Which Windows security feature most likely caused this?
General concepts of debugging
Medium
A.Address Space Layout Randomization
B.User Account Control
C.Data Execution Prevention
D.Structured Exception Handling
Correct Answer: Address Space Layout Randomization
Explanation:
ASLR can load modules at different base addresses between runs, so breakpoints should often be set using module-relative offsets or symbols.
Incorrect! Try again.
34A debugger reports a first-chance access violation, but the program continues normally after the exception is passed to it. What does this indicate?
General concepts of debugging
Medium
A.The executable was rebuilt with valid relocation entries
B.The program handled the exception internally
C.The debugger repaired the invalid memory automatically
D.The operating system silently removed the failing instruction
Correct Answer: The program handled the exception internally
Explanation:
A first-chance exception is first reported to the debugger. If the application has a suitable handler, it may process the exception and continue.
Incorrect! Try again.
35Which breakpoint is most appropriate when an analyst wants execution to stop only when a buffer at a particular address is modified?
General concepts of debugging
Medium
A.A temporary breakpoint on the process exit routine
B.A conditional breakpoint on every imported API
C.A hardware write breakpoint on the buffer
D.A software execution breakpoint at program entry
Correct Answer: A hardware write breakpoint on the buffer
Explanation:
A hardware write breakpoint monitors a memory location and triggers when an instruction writes to that location.
Incorrect! Try again.
36A packed binary decrypts its original code and then jumps into a newly readable code region. What should the analyst do near this transition?
Debugging binaries
Medium
A.Terminate the process before the unpacked code executes
B.Clear every breakpoint and disable memory map monitoring for the remainder of the analysis
C.Break at the jump and inspect the possible original entry point
D.Replace the jump with a return instruction and save the file
Correct Answer: Break at the jump and inspect the possible original entry point
Explanation:
The jump from an unpacking stub into restored code often leads to the original entry point, where dumping and deeper analysis can begin.
Incorrect! Try again.
37After dumping an unpacked process from memory, the resulting executable does not run because its imported functions cannot be resolved. What is the likely next step?
Debugging binaries
Medium
A.Reconstruct the import address table
B.Convert every writable section into a resource section
C.Replace all API calls with no-operation instructions
D.Delete the executable's relocation section
Correct Answer: Reconstruct the import address table
Explanation:
Runtime unpacking may leave the dumped file with missing or invalid imports, so the import address table often needs to be rebuilt.
Incorrect! Try again.
38A sample exits when IsDebuggerPresent returns a nonzero value. Which debugging action best allows analysis to continue while preserving the surrounding control flow?
Debugging binaries
Medium
A.Force the process to restart after every API call
B.Change all conditional branches in the program into unconditional jumps
C.Remove the executable's entire import directory
D.Modify the return value to zero before the comparison
Correct Answer: Modify the return value to zero before the comparison
Explanation:
Changing the API result to zero makes the sample behave as though no debugger is attached without broadly altering unrelated logic.
Incorrect! Try again.
39A malware sample creates a child process and then terminates its original process. How should the analyst continue debugging the active behavior?
Debugging binaries
Medium
A.Set a breakpoint only on the terminated parent's entry point
B.Configure the debugger to follow or attach to the child process
C.Disable process creation so the parent remains permanently active
D.Dump the parent's static resources and assume they contain all code executed by the child
Correct Answer: Configure the debugger to follow or attach to the child process
Explanation:
If execution continues in a spawned process, the debugger must follow process creation or attach to that child to observe the remaining behavior.
Incorrect! Try again.
40A loop executes thousands of times, but the analyst only wants to stop when register ECX becomes 0x20. What is the most efficient debugging technique?
Debugging binaries
Medium
A.Patch the loop condition into an unconditional branch
B.Set breakpoints on every instruction in the containing module
C.Set a conditional breakpoint based on ECX
D.Single-step through every loop iteration
Correct Answer: Set a conditional breakpoint based on ECX
Explanation:
A conditional breakpoint pauses only when the specified register condition is true, avoiding unnecessary stops during earlier iterations.
Incorrect! Try again.
41A PE32+ sample is loaded at 0x00007FF700000000. A disassembler reports an instruction at RVA 0x2A3C0 containing call qword ptr [rip+0x195A]. The instruction is 6 bytes long. Which virtual address contains the 8-byte call target pointer?
Static code analysis
Hard
A.0x00007FF70002BD20
B.0x00007FF70002BD1A
C.0x00007FF700044D20
D.0x00007FF7000195A0
Correct Answer: 0x00007FF70002BD20
Explanation:
RIP-relative addressing uses the address immediately after the instruction. Thus the pointer is at 0x00007FF700000000 + 0x2A3C0 + 6 + 0x195A = 0x00007FF70002BD20.
Incorrect! Try again.
42A recursive-traversal disassembler misses a region that later executes, while a linear-sweep disassembler decodes many nonsensical instructions in the same region. Which code pattern best explains both observations?
Static code analysis
Hard
A.A sequence of ordinary functions separated by compiler alignment bytes and complete unwind metadata
B.A jump table reached through a register-indirect branch
C.An imported function referenced through the PE import table
D.A direct call followed by a standard function epilogue
Correct Answer: A jump table reached through a register-indirect branch
Explanation:
Recursive traversal may not resolve all targets of an indirect branch, while linear sweep can incorrectly interpret embedded jump-table data as instructions.
Incorrect! Try again.
43In a 32-bit malware function, the sequence call next; next: pop esi; sub esi, 0x1050 is observed. The call instruction begins at RVA 0x2050 and is 5 bytes long. What value does ESI hold after the sub, assuming normal call semantics?
Static code analysis
Hard
A.The module image base
B.The current stack pointer
C.The preferred entry-point VA
D.The import-directory RVA
Correct Answer: The module image base
Explanation:
call pushes RVA 0x2055; pop esi retrieves it, and subtracting 0x1050 produces RVA 0x1005. In this position-independent idiom, the constants are selected so the resulting runtime value is the module base; the stated sequence therefore implies that next is at base plus 0x1050.
Incorrect! Try again.
44Static inspection shows a small import table, a writable and executable section with high entropy, and an entry point that repeatedly writes bytes into that section before branching there. Which conclusion is most defensible?
Static code analysis
Hard
A.The missing imports prove the binary invokes every service through direct system calls
B.The high-entropy section must contain an encrypted configuration only
C.The sample is certainly compressed with a specific commercial packer
D.The sample likely reconstructs or decrypts executable code at runtime
Correct Answer: The sample likely reconstructs or decrypts executable code at runtime
Explanation:
The combined evidence supports runtime code generation or unpacking. Static indicators alone do not identify a particular packer or prove how every external service is invoked.
Incorrect! Try again.
45A PE file's declared entry point appears benign, but malicious initialization occurs before it. Which static structure should be examined first for code that the Windows loader may execute before the entry point?
Static code analysis
Hard
A.The bound import table
B.The debug directory
C.The TLS callback array
D.The base relocation table
Correct Answer: The TLS callback array
Explanation:
TLS callbacks are invoked by the loader before control reaches the executable's normal entry point, making them a common location for early initialization and anti-analysis logic.
Incorrect! Try again.
46Immediately before a Windows x64 call, the disassembly sets RCX to a process handle, RDX to a base address, R8 to a buffer, and R9 to a size. It stores a pointer at [rsp+0x20]. If the target is WriteProcessMemory, what does [rsp+0x20] represent?
Disassembling Windows API
Hard
A.The fifth argument, lpNumberOfBytesWritten
B.The first slot of the callee's local-variable area
C.A mandatory pointer to the caller's saved nonvolatile registers and exception-unwind metadata
D.The return address for WriteProcessMemory
Correct Answer: The fifth argument, lpNumberOfBytesWritten
Explanation:
Windows x64 passes the first four integer or pointer arguments in RCX, RDX, R8, and R9. Additional arguments begin on the stack after the 32-byte shadow space, so [rsp+0x20] holds the fifth argument before the call.
Incorrect! Try again.
47A 32-bit call site pushes five arguments, executes call eax, and then immediately continues without adjusting ESP. Runtime inspection identifies EAX as CreateFileW. Which calling-convention inference is correct?
Disassembling Windows API
Hard
A.The caller omitted required cleanup for a normal cdecl API
B.The absence of cleanup proves the function never returns normally
C.The callee normally removes its arguments using stdcall semantics
D.The arguments were passed using the x64 register convention
Correct Answer: The callee normally removes its arguments using stdcall semantics
Explanation:
Most 32-bit Win32 APIs use stdcall, under which the callee removes fixed arguments, commonly with a ret n instruction. Therefore no caller-side add esp, n is expected.
Incorrect! Try again.
48A sample walks loaded modules, parses export directories, hashes each exported name, and compares the result with embedded constants before calling the matched address. What is the primary analytical consequence?
Disassembling Windows API
Hard
A.API usage can be read directly from the normal import-name table
B.Every resolved address necessarily points to a kernel system-call stub
C.The export ordinal alone uniquely reveals each requested API across all Windows versions
D.API usage must be recovered by resolving the hash algorithm and constants
Correct Answer: API usage must be recovered by resolving the hash algorithm and constants
Explanation:
Hash-based dynamic resolution hides API names from the static import table. Analysts must reproduce or recognize the hash routine and map constants back to exported names.
Incorrect! Try again.
49While resolving an exported function manually, the export address-table entry points inside the export directory and contains the ASCII text KERNELBASE.CreateFileW. How should this entry be interpreted?
Disassembling Windows API
Hard
A.It is a forwarded export that must be resolved in KERNELBASE
B.It is executable code whose bytes happen to form an ASCII string
C.It is an API-set contract that must always be converted into a system-call number
D.It is a malformed relocation record that should be added to the current module base
Correct Answer: It is a forwarded export that must be resolved in KERNELBASE
Explanation:
An export RVA that falls within the export directory can identify a forwarder string. The loader or resolver must locate the named export in the referenced module.
Incorrect! Try again.
50Disassembly shows calls to VirtualAllocEx, WriteProcessMemory, and CreateRemoteThread, all using the same process handle. Which interpretation best synthesizes the API sequence?
Disassembling Windows API
Hard
A.It proves that a reflective DLL was injected without any intermediate loader code
B.It is consistent with allocating, writing, and executing code in another process
C.It exclusively implements local heap management for the current process
D.It only changes the target process's access token before resuming an existing suspended thread
Correct Answer: It is consistent with allocating, writing, and executing code in another process
Explanation:
The sequence is a classic remote-thread injection pattern. It supports that interpretation but does not by itself prove the payload format or exact loader technique.
Incorrect! Try again.
51A debugger implements a software breakpoint by replacing the first byte of an instruction with 0xCC. After the breakpoint exception is reported on x86, what sequence is required to execute the original instruction exactly once and then restore the breakpoint?
General concepts of debugging
Hard
A.Restore the byte, leave EIP unchanged, set a hardware write breakpoint, then resume
B.Restore the byte, decrement EIP, set the trap flag, resume, then reinsert 0xCC
C.Increment EIP, retain 0xCC, clear the trap flag, then resume execution
D.Decrement ESP, replace the return address, clear all debug registers, and continue until the function returns
Correct Answer: Restore the byte, decrement EIP, set the trap flag, resume, then reinsert 0xCC
Explanation:
INT3 advances the instruction pointer past the inserted byte. The debugger restores the original byte, moves the instruction pointer back, single-steps the instruction using the trap flag, and then reinstalls the breakpoint.
Incorrect! Try again.
52A debugger receives a first-chance access-violation notification from a program that uses structured exception handling as normal control flow. What is the correct default interpretation?
General concepts of debugging
Hard
A.The debugger may pass it to the program's exception handlers before treating it as unhandled
B.The exception has already bypassed every user-mode and kernel-mode handler
C.The process has necessarily crashed and must be terminated immediately
D.The faulting instruction must be patched because first-chance exceptions cannot be intentional
Correct Answer: The debugger may pass it to the program's exception handlers before treating it as unhandled
Explanation:
A first-chance exception is reported before application handlers run. If the program does not handle it, the debugger receives a second-chance notification, which usually indicates an impending crash.
Incorrect! Try again.
53You need to detect writes to a four-byte variable without modifying code or making its entire memory page read-only. Which mechanism is most appropriate on x86/x64?
General concepts of debugging
Hard
A.A data hardware breakpoint configured through debug registers
B.A guard page applied only to the variable's four-byte storage range
C.A software execution breakpoint placed at the variable's address
D.A trap flag left enabled continuously on the process's initial thread and inherited automatically by all future threads
Correct Answer: A data hardware breakpoint configured through debug registers
Explanation:
Hardware debug registers can break on reads, writes, or execution at configured addresses without altering code or page protections. Their limited number and per-thread state must still be managed.
Incorrect! Try again.
54A multithreaded sample intermittently bypasses a breakpoint because another thread restores the patched byte while the debugger is single-stepping the first thread. Which debugger strategy most directly prevents this race?
General concepts of debugging
Hard
A.Suspend the other threads during breakpoint restoration and single-step completion
B.Convert the software breakpoint into a conditional source-level breakpoint evaluated only after every thread reaches a synchronization barrier
C.Disable ASLR so all threads execute at fixed virtual addresses
D.Clear the process's PE checksum before resuming the faulting thread
Correct Answer: Suspend the other threads during breakpoint restoration and single-step completion
Explanation:
Temporarily suspending competing threads prevents them from executing the restored instruction while the breakpoint is absent. The breakpoint can be reinserted before those threads resume.
Incorrect! Try again.
55Single-stepping changes a malware sample's behavior because it compares timestamps around a short code region. Which response provides the strongest evidence that the timing check is anti-debugging rather than legitimate timeout logic?
General concepts of debugging
Hard
A.Set additional software breakpoints throughout the timed region so that every instruction and API transition can be inspected in greater detail
B.Disable network access and infer that any subsequent delay is caused by debugger detection
C.Rename the debugger executable and observe whether the sample's window title changes
D.Patch or normalize the timing source and observe whether the hidden path becomes stable
Correct Answer: Patch or normalize the timing source and observe whether the hidden path becomes stable
Explanation:
Controlling the timing source tests the causal role of the measured delay. A stable behavioral change after normalization is stronger evidence than correlations produced by unrelated environmental changes.
Incorrect! Try again.
56A breakpoint was recorded at 0x0042F130 when a module loaded at 0x00400000. On the next run, ASLR loads the module at 0x6A100000. At what address should the breakpoint be placed?
Debugging binaries
Hard
A.0x6A52F130
B.0x6A12F130
C.0x6A0D0ED0
D.0x0042F130
Correct Answer: 0x6A12F130
Explanation:
The original RVA is 0x0042F130 - 0x00400000 = 0x2F130. Adding it to the new base gives 0x6A100000 + 0x2F130 = 0x6A12F130.
Incorrect! Try again.
57A packed process has decrypted its original code, transferred control to a stable original entry point, and resolved APIs dynamically. To create a useful reconstructed PE, which action remains essential after dumping the process image?
Debugging binaries
Hard
A.Replace every indirect branch with a direct branch to its current runtime target
B.Remove all relocation entries because the dump already contains absolute addresses
C.Rebuild or repair imports and align dumped sections with valid PE metadata
D.Preserve the packer's original entry point and discard the unpacked entry-point address
Correct Answer: Rebuild or repair imports and align dumped sections with valid PE metadata
Explanation:
A raw memory dump often lacks a usable import table and correct on-disk section layout. Repairing imports, headers, section mappings, and the entry point makes the reconstructed file analyzable and potentially runnable.
Incorrect! Try again.
58A debugger stops on an execute access violation at a heap address. The bytes there form valid code that the sample just decoded, but the page protection is PAGE_READWRITE. What is the most likely immediate cause?
Debugging binaries
Hard
A.Control-flow guard rejected the page because it lacks an import-table entry
B.DEP or NX blocked instruction fetch from a non-executable page
C.The CPU requires all dynamically generated code to reside in the module's original .text section
D.ASLR relocated the heap allocation without applying PE base relocations
Correct Answer: DEP or NX blocked instruction fetch from a non-executable page
Explanation:
PAGE_READWRITE permits data access but not execution when DEP is active. Dynamically generated code normally requires an executable protection such as PAGE_EXECUTE_READ after writing.
Incorrect! Try again.
59A 64-bit debugger attached to a WOW64 process reports transitions through both 32-bit user code and 64-bit system components. Why can register and breakpoint handling become misleading?
Debugging binaries
Hard
A.WOW64 maintains distinct 32-bit and 64-bit execution contexts during mode transitions
B.The processor disables debug registers whenever a thread enters a 64-bit system DLL
C.All 32-bit addresses are automatically sign-extended and therefore refer to kernel memory after each API call
D.WOW64 converts every 32-bit instruction into a permanent 64-bit replacement in memory
Correct Answer: WOW64 maintains distinct 32-bit and 64-bit execution contexts during mode transitions
Explanation:
WOW64 switches between compatibility-mode and native 64-bit execution. A debugger must interpret the correct thread context and architecture when displaying registers, unwinding stacks, and managing breakpoints.
Incorrect! Try again.
60A self-modifying routine overwrites instructions that currently contain software breakpoints, causing missed events and corrupted decoded code. Which breakpoint strategy is most robust for the rewritten region?
Debugging binaries
Hard
A.Mark the region permanently non-writable and ignore resulting write exceptions
B.Set breakpoints only on imported APIs because self-modifying code cannot invoke them indirectly
C.Insert additional INT3 bytes before the routine begins rewriting the region
D.Use hardware execution breakpoints on selected addresses after the final rewrite
Correct Answer: Use hardware execution breakpoints on selected addresses after the final rewrite
Explanation:
Hardware execution breakpoints do not modify the target bytes, so code rewriting cannot erase or copy the breakpoint opcode. They are scarce, so they should be reserved for critical addresses.
Incorrect! Try again.
Did this save you a night before the exam?
LPU Notes is free, and it stays free. Ads cover part of the server bill.
The rest comes out of a student's own pocket: the domain, the storage,
and keeping the site up through the weeks everyone needs it at once.
The payment button didn't load. An ad blocker or a filtered network is the usual reason.
to try again.
Nothing here is ever locked, and nothing unlocks. Chip in only if it was worth it.
What it pays for →