终端界面
在 SSH 或无图形会话的机器上使用 TUI:
./tenet --tui /path/to/trace.bin它与 Desktop 使用相同的 Reader、状态重建、PassManager 和缓存结果。两者只有展示差异,分析语义完全一致。
终端布局提供指令、寄存器、内存、调用栈、函数、字符串、线程、断点和 Hex Dump 视图。Goto、搜索、书签、XRef 导航和污点导航均作用于共享的 inst_id 时间轴。
常用操作:
| 动作 | 按键/命令 |
|---|---|
| 打开 Analysis Results | A |
| 下一个/上一个 XRef | x / X |
| 下一条/上一条污点指令 | ] / [ |
| 运行前向污点 | t |
| 运行反向污点 | B |
| 运行循环分析 | O |
| 切换 Hex Dump | H |
| 过滤列表 | / |
| 运行命名 Pass | :pass <name> |
| 列出 Pass | :passes |
| 启动分析流程 | :analyze |
当前构建会显示完整按键图例;若终端或版本调整映射,以界面图例为准。
Analysis Results
Section titled “Analysis Results”按 A 打开两级结果浏览器:
- 目录层: 显示 Pass 类别、状态、进度和单行摘要。
Enter运行未开始/失败的 Pass,或打开已完成结果;R强制重跑。 - 详情层: 展示 CFG 块、模式命中、ObjC 消息、搜索结果、VM handler 等结构化条目。对带指令位置的条目按
Enter跳转,Esc返回目录。
每个 catalog Pass 在 TUI 中都有可浏览结果。参数较多的查询通常更适合命令或 CLI,但结果仍进入同一详情浏览器。
远程会话建议
Section titled “远程会话建议”- 终端应足够大,以同时显示时间轴和状态面板。
- 首次索引完成前不要断开。
- 跨会话保留 Trace 的
.tenet/目录。 - 关闭前添加书签;光标与书签会持久化。
- 长时间批量导出应使用 CLI,避免终端渲染参与。