Recursive Descent Lifter
vtil::lifter::recursive_descent<input_type, arch> performs CFG discovery by decoding instructions, completing blocks, and forking to discovered branch destinations.
Primary members
| Member | Description |
|---|---|
entry | Entry basic block of the generated routine. |
leaders | Map of discovered leader VIPs to blocks. |
populate(block) | Build from one start block. |
explore() | Launch recursive exploration from entry. |
Minimal example
using rd = vtil::lifter::recursive_descent<
vtil::lifter::byte_input,
vtil::lifter::amd64::lifter_t
>;
rd parser(&input, entry_rip);
parser.entry->owner->routine_convention = vtil::lifter::host_preserve_all_convention();
parser.explore();