lift_handler
Lift machine code (x86, x86_64, aarch64, arm32) to VTIL intermediate language for static analysis. Supports base address mapping and returns structured IL blocks.
Instructions
Lift arch / code to VTIL intermediate language.
Args:
arch: target architecture — one of x86, x86_64,
aarch64, arm32
code: machine-code bytes, base64-encoded (base64 is
transport-friendly; the CLI decodes back to bytes
before passing to VTIL's lifters)
base_address: where the code is mapped in virtual memory
(default 0x400000 — the ELF .text convention)
Returns::
{"arch": "x86_64", "base_address": 0x400000,
"il": {"blocks": [{"vaddr": N, "instructions": [...]}]}}Each lifted instruction is one of VTIL's IL primitives
(mov, add, sub, jmp, if, vmov, etc.).
The structure is enough for optimize and emit to work
on the output.
On a missing binary, returns {"status": "WARN", "error":
"vtil-cli not built", ...} so the agent knows to retry
after install.sh.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| arch | Yes | ||
| code | Yes | ||
| base_address | No |