forked from lxz-jiandan/TraceAnalyzer
-
Notifications
You must be signed in to change notification settings - Fork 0
CrackerCat/TraceAnalyzer-
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
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 0
No packages published
Languages
- Python 99.8%
- Other 0.2%