Glossary
Basic Block
A maximal straight-line sequence of instructions with a single entry point and a single exit (branch or return) — the node unit of a CFG.
A basic block is the smallest unit of control flow: a contiguous sequence of instructions that is always entered at the first instruction and always exits at the last, which is a branch (JMP, JZ, CALL, RET, etc.) or the end of the function. No instruction in the middle can be the target of a jump, and no instruction in the middle can jump elsewhere. Basic blocks are the nodes of a Control Flow Graph (CFG). Obfuscation techniques like opaque predicates or junk-code insertion artificially inflate the number of basic blocks to complicate analysis.