首页
社区
课程
招聘
16
[原创] 基于eBPF的安卓CLI调试器——eDBG
发表于: 2025-3-21 15:58 3610

[原创] 基于eBPF的安卓CLI调试器——eDBG

2025-3-21 15:58
3610

简介

eDBG 是一款基于 eBPF 技术实现的调试工具,为强对抗场景下的安卓 native 逆向工作打造,提供调试器应有的基本功能,在调试时不产生任何附加到目标进程的行为,不使用传统的调试方案,调试器与被调试程序相互独立,仅各自与内核产生交互行为,难以被目标进程调试或干扰。

除此之外,eDBG 和被调试程序运行状态互不干扰,断点注册不基于运行时地址,即使一方意外退出或重启,另一方也依旧能正常工作。

eDBG 的使用方式与 gdb 的使用方式几乎相同,无需学习便可直接上手使用。

项目地址:https://github.com/ShinoLeah/eDBG
直接从 Release 下载即可使用。

主要功能

主要支持的功能如下:

  • 断点:基于 uprobes 功能实现,在断点处可暂停程序并且读取任意想要的上下文。
  • 单步调试:支持步入或步过。
  • 内存读写:在断点触发时可以读取任意地址内存,也可以自由写入任意有写权限的地址。
  • 线程过滤:你可以仅调试一个或多个想要的线程。
  • 符号解析、反汇编等其他调试器应该有的功能。

支持的 gdb 指令列表:break / continue / step / next / finish / until / examine / display / quit / list / info / thread

额外的,你可以使用 write 指令写入内存,set 指令为指定的地址标注你的自定义符号。

eDBG 也支持将你的进度保存到文件或读取工程文件,以便下一次调试。

详细的使用方式请移步README

运行环境

  • 目前仅支持 ARM64 架构的 Android 系统,需要 ROOT 权限,推荐搭配 KernelSU 使用
  • 系统内核版本5.10+ (可执行uname -r查看)

功能演示

整体的界面设计和信息展示参考了 pwndbg,会在断点处自动分析当前代码和寄存器信息,当然你可以在选项里关掉这些显示。

进阶使用

eDBG 使用进阶:避免 uprobes 产生可被察觉的特征

其他

本项目主要受到 stackplz 启发,在实际逆向工作中我常常使用 stackplz 辅助 ida 进行动态调试,但常常被堆积如山的反调试手段或蜜罐打得鼻青脸肿...(菜菜),因此突发奇想将 eBPF 技术直接用于打造一个调试器,虽然比 ida 缺少了图形化界面和反编译(但是现在的 app 还有可以直接 F5 的吗),但是我认为功能也足够作为一个逆向辅助工具进行日常使用。

喜欢的话可以赏个小星星 QAQ
也欢迎提出建议或 issue 或 PR 喵


[招生]科锐逆向工程师培训(2025年3月11日实地,远程教学同时开班, 第52期)!

收藏
免费 16
支持
分享
赞赏记录
参与人
雪币
留言
时间
MochaCo
感谢你分享这么好的资源!
1天前
Yangser
感谢你分享这么好的资源!
2天前
Mark.
感谢你的贡献,论坛因你而更加精彩!
5天前
东方玻璃
感谢你分享这么好的资源!
6天前
zhczf
+1
感谢你的积极参与,期待更多精彩内容!
6天前
R0g
+10
感谢你分享这么好的资源!
6天前
马来
谢谢你的细致分析,受益匪浅!
6天前
英俊
感谢你分享这么好的资源!
6天前
Je2em1ah
期待更多优质内容的分享,论坛有你更精彩!
6天前
sinker_
这个讨论对我很有帮助,谢谢!
2025-3-22 13:27
熊趴趴来
谢谢你的细致分析,受益匪浅!
2025-3-22 11:12
ldljlzw
非常支持你的观点!
2025-3-22 10:24
安卓逆向test
你的帖子非常有用,感谢分享!
2025-3-21 20:39
ChuXinﻬ.
非常支持你的观点!
2025-3-21 17:53
Imxz
+1
为你点赞!
2025-3-21 16:42
mb_ldbucrik
感谢你的贡献,论坛因你而更加精彩!
2025-3-21 16:28
最新回复 (7)
雪    币: 104
活跃值: (5216)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
真牛逼 
2025-3-21 16:36
0
雪    币: 104
活跃值: (5216)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
是否能支持硬件断点呢?
2025-3-21 16:43
0
雪    币: 373
活跃值: (85)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
Imxz 是否能支持硬件断点呢?
暂时还没有实现这部分..
2025-3-21 16:47
0
雪    币: 519
活跃值: (1897)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
一直希望有这样一个工具,终于来了!
2025-3-22 15:55
0
雪    币: 424
活跃值: (117)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
牛逼大佬66666666666666
6天前
0
雪    币: 954
活跃值: (4700)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
7
优雅了
6天前
0
雪    币: 855
活跃值: (1220)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
8
牛逼大佬6666666666666
5天前
0
游客
登录 | 注册 方可回帖
返回

账号登录
验证码登录

忘记密码?
没有账号?立即免费注册