Skip to content

XiaoWaaay/VixlDebugger

Repository files navigation

VixlDebugger

一个面向 Android/arm64 的“真机进程接管式”调试/跟踪引擎:通过 Dobby 将执行流切入 Unicorn,在 Unicorn 中实现跨模块/跨匿名内存的持续执行、断点、单步与 trace 输出;遇到 svc 等需要内核能力的指令时,通过宿主桥接执行后把控制权交回 Unicorn 继续。

本仓库包含两类能力:

  • 调试(Debug):断点、单步、寄存器/内存查看、暂停/继续、远程交互命令通道。
  • 跟踪(Trace):只打印执行流程信息(格式保持项目既有输出规则),覆盖范围与接管能力对齐调试。

项目说明

VixlDebugger 是一套面向 Android/arm64 的“真机接管式”动态调试引擎,核心技术是 Dobby Hook + Unicorn 指令级模拟 + 真机桥接执行。它把目标进程的入口切入 Unicorn 持续执行,并在 svc 等系统调用场景回到真机执行再写回结果,从而让调试过程在复杂环境中保持连续性与可控性。

它主要解决的问题是:

  • Unicorn 补环境痛点:无需在unicorn、unidbg的模拟器里完整复刻系统环境,遇到需要内核/系统库能力的指令就桥接到真机执行,减少“补环境”成本。
  • IDA 动态调试速度慢:通过全局接管与按需映射,把执行流拉进高可控的调试通道,减少反复 attach/重跑的时间成本。
  • 跨模块与匿名区断流:支持跨 so、跨匿名映射的连续执行,降低断点跑飞与上下文丢失概率,展示跨模块调用的完整流程。

项目能力聚焦在调试:

  • 断点、单步、寄存器/内存读写、暂停/继续与远程交互控制
  • 稳定接管复杂执行路径,提高调试链路完整性与可重复性

对逆向分析的作用在于:把静态难以还原的控制流转为可交互的动态执行链,便于快速定位关键函数入口、复现条件分支与隐藏逻辑,为后续还原与分析提供可验证的运行证据,也可以对算法逆向进行辅助分析,实现真正可利用的调试器。

项目地址:https://github.com/XiaoWaaay/VixlDebugger

About

基于unicorn+Vixl+dobby项目的trace技术

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors