Skip to content

CrackerCat/TraceAnalyzer-

 
 

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,可复制整行数据(对齐格式)

【项目结构】
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)

【关联项目】
https://github.com/jiqiu2022/vm-trace-release
================================================================================

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.8%
  • Other 0.2%