调试说明

模拟器安装

仅支持雷电模拟器 (3.x系列 android5)

下载后默认安装即可

下载地址

调试app - 安装

  • 安装vadapp 到模拟器中

  • 启动VAD.exe,查看标题上的本机IP 端口

  • 打开app 输入ip:端口 点击连接按钮,连接成功exe“连接标志"会变成已连接状态

  • 点击启动服务按钮(从上往下数第二个) 设置被调试app的包名

  • 点击 启动模拟器服务 (被调试程序会关闭属于正常)提示服务启动成功。

  • 打开app 即可开始调试

  • 重新调试app,只需重启 被调试app 即可

调试app - 下断

  • 连接成功后,点击调试按钮(蜘蛛图标)打开调试界面

  • 点击标题栏下方的 绿的加号 按钮 打开模块列表

  • 选择被调试模块(so) 双击选定 加载符号信息以及 架构信息

  • 可以通过导入导出表 或 静态分析的地址 进行下断 单步等操作。(操作说明界面快捷键说明)

调试快捷键

  • F2 设置断点/取消断点
  • F4 运行到选中地址
  • F7 单步步进(call bl blx)
  • F8 单步步过(call bl blx)
  • F9 运行
  • G 跳转到地址(反汇编区域 跳转thumb模式地址+1 ,支持偏移跳转,根据选定so的基址偏移)
  • esc 返回 (反汇编区域/数据区域)
  • ~ 前进 (反汇编区域/数据区域)
  • 地址跳转,可以输入模块偏移,也可以输入绝对地址
  • 数据区域跳转 输入 +xxx 为模块偏移地址 xxxxx为绝对地址

启动服务说明

ss

调试启动

  • 进程名称:输入被调试程序的进程名称
  • 调试启动:勾选后根据后面输入的so名字暂停(取消无效)
  • 中断模块:输入so名字(可以为空)

禁用优化

  • 一般情况下可以为空,如遇到指针乱跳,下断无效 需要设置
  • 模块名称 输入被调试so的名字。
  • 全模块禁用:适用于普通app 如抖音,微信(大型程序会非常卡)
  • 自定义区域:(输入模块偏移 起始地址 结束地址)偏移与IDA静态分析一致

注入模块

  • 目标模块(被hook 模块)
  • 注入模块(hook 模块,在vad 主目录 /sources 有hook 例子源码 以及说明)

  • 目标模块编码 必须与注入模块编码一致 (armeabi/armeabi-v7a/x86)

联合搜索

  • 格式 数据+类型:偏移;数据+类型:偏移
  • 类型 f 浮点 d 十进制 h 十六进制 大小写均可
  • 例 16d:0;3.0f:4;ab520h:20
  • 搜索 偏移为0 = 16 偏移为4 = 浮点数 3.0 偏移20 十六进制 ab520 满足三个条件