Skip to content

bobmis/TraceAnalyzer-main

Repository files navigation

================================================================================
                    寄存器数据流分析追踪系统 (TraceAnalyzer)
================================================================================

【简介】
TraceAnalyzer 用于加载、解析和浏览 ARM64 指令执行日志,支持按指令查看寄存器
状态变化、内存转储,以及追踪寄存器来源。采用虚拟滚动和后台缓存,可处理百万
级指令日志。

【运行环境】
- Python 3.8+
- PySide6(Qt for Python)

安装依赖:
  pip install PySide6

【启动方式】
1. 进入 TraceAnalyzer 目录
2. Windows: 双击 run.bat 或命令行执行 python main.py
   Linux/macOS: 执行 ./run.sh 或 python3 main.py

【使用说明】
- 通过菜单或 Ctrl+O 打开 .txt 格式的指令日志文件
- 左侧「指令执行序列」显示行号、地址、偏移、指令、操作数、注释
- 点击某行指令后,右侧显示该指令执行后的寄存器状态和内存转储
- 双击寄存器可追踪该寄存器的来源(PgUp 继续向上追踪,PgDn 返回历史)
- Ctrl+F 聚焦搜索框,F3 搜索;支持按行号或地址/偏移搜索
- 在指令表中选中一行后按 Ctrl+C,可复制整行数据(对齐格式)
-测试用例log.txt、test.txt
【项目结构】
TraceAnalyzer/
  main.py            - 主窗口、加载流程、快捷键与导航
  parser.py          - 日志解析(指令、寄存器变化、内存操作/转储)
  lazy_parser.py     - 延迟解析:先建索引,再按需加载文件行与解析
  register.py        - 寄存器与寄存器状态定义
  register_calc.py   - 寄存器状态计算(依赖检查点)
  cache_worker.py    - 后台检查点与范围缓存线程
  instruction_view.py - 虚拟滚动指令表格、行数据缓存、复制整行
  ui_components.py  - UI 组件与深色样式
  run.bat / run.sh  - 启动脚本

【日志格式】
程序期望的文本格式大致为:
- 以 "0x" 开头的指令行,包含地址、偏移、指令、操作数,可选 ";注释"
- 支持 "Original SP:" 等元信息
- 指令后可跟内存操作、内存转储等行(详见 parser.py / lazy_parser.py)
【新增功能】
搜索框可以命中“访存地址”,不再只匹配指令地址/偏移
输入地址后可查找所有命中位置,不止第一个。
支持前缀模糊匹配:例如输入 0xbfffeb0,会命中 0xbfffeb01 到 0xbfffeb0f(以及同前缀的其它地址)。
结果会显示:
行号
指令地址
访问类型(R/W/D/D*)
内存地址
对应数据(如 0x74 (W17=0x74))
在搜索框输入 ldr,会弹出“指令全查”列表。
列表会展示所有匹配助记符的指令(默认前缀匹配,所以 ldr 会匹配 ldr/ldrb/ldrh/ldrsw...)。
每条结果包含:行号、指令地址、助记符、完整指令、内存地址、数据。
双击结果可直接跳到对应指令位置。
直接点原来的“查找”按钮,如果输入是助记符(比如 ldr),也会自动走这个全量列表逻辑。
已优化完成,“地址全查”和“指令全查”两个结果表都支持全选复制。

现在可用的操作

Ctrl+A:全选结果行
Ctrl+C:复制选中行(如果没选中任何行,会复制全部)
右键菜单:
复制选中
复制全部
全选
右键寄存器进行污点追踪
新增地址全查、指令全查
【关联项目】
https://github.com/jiqiu2022/vm-trace-release
https://github.com/lxz-jiandan/TraceAnalyzer
================================================================================

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors