Skip to content

Record, open, and analyze

Goal: record an iOS function and run a first analysis.
Prerequisite: a deployed QBDITrace library, a reachable Frida service, and the target’s static entry offset.

Terminal window
python3 tools/qbditrace/qbditrace_runner.py \
--target com.example.app \
--entry 0xEE91EC \
--output /var/mobile/Documents/trace.bin

Use runtime addresses when configuring the C ABI directly. The runner resolves the module and ASLR information for its supported flows.

Open the .bin file in Tenet Desktop. The first open builds a persistent index; later opens reuse it. Navigate by instruction ID or PC and compare the register panel before and after a selected instruction.

Start with structure recovery: functions, XRefs, CFG, and call graph. Then choose an output register or memory sink and run backward taint to find contributing sources.

You can move between repeated executions of a PC, inspect register state, and follow the evidence behind a value rather than reading a static path that may never execute.