首页
课程
问答
CTF
社区
招聘
峰会
发现
排行榜
知识库
工具下载
看雪20年
看雪商城
证书查询
登录
注册
首页
社区
课程
招聘
发现
问答
CTF
排行榜
知识库
工具下载
峰会
看雪商城
证书查询
社区
Android安全
发新帖
7
3
[原创] 基于eBPF的安卓CLI调试器——eDBG
发表于: 2025-3-21 15:11
1810
[原创] 基于eBPF的安卓CLI调试器——eDBG
ShinoLeah
2025-3-21 15:11
1810
## 简介 eDBG 是一款基于 eBPF 技术实现的调试工具,为强对抗场景下的安卓 native 逆向工作打造,提供调试器应有的基本功能,在调试时**不产生任何附加到目标进程的行为**,不使用传统的调试方案,调试器与被调试程序**相互独立**,仅各自与内核产生交互行为,难以被目标进程调试或干扰。 除此之外,eDBG 和被调试程序运行状态互不干扰,断点注册不基于运行时地址,即使一方意外退出或重启,另一方也依旧能正常工作。 eDBG 的使用方式与 gdb 的使用方式几乎相同,无需学习便可直接上手使用。 项目地址:<a href="elink@68eK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6e0K9r3W2F1L8@1I4W2j5h3S2Q4x3V1k6W2c8p5u0s2"><mark class="encrypted">155K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6e0K9r3W2F1L8@1I4W2j5h3S2Q4x3V1k6W2c8p5u0s2</mark></a> 直接从 <a href="elink@e54K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6e0K9r3W2F1L8@1I4W2j5h3S2Q4x3V1k6W2c8p5u0s2i4K6u0r3M7X3g2D9k6h3q4K6k6i4x3`.">Release</a> 下载即可使用。 ## 主要功能 主要支持的功能如下: - 断点:基于 uprobes 功能实现,在断点处可暂停程序并且读取任意想要的上下文。 - 单步调试:支持步入或步过。 - 内存读写:在断点触发时可以读取任意地址内存,也可以自由写入任意有写权限的地址。 - 线程过滤:你可以仅调试一个或多个想要的线程。 - 符号解析、反汇编等其他调试器应该有的功能。 支持的 gdb 指令列表:`break / continue / step / next / finish / until / examine / display / quit / list / info / thread` 额外的,你可以使用 `write` 指令写入内存,`set` 指令为指定的地址标注你的自定义符号。 eDBG 也支持将你的进度保存到文件或读取工程文件,以便下一次调试。 详细的使用方式请移步<a href="elink@f51K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6e0K9r3W2F1L8@1I4W2j5h3S2Q4x3V1k6W2c8p5u0s2i4K6u0r3j5X3I4G2j5W2)9J5c8X3#2S2K9h3&6Q4x3V1k6d9c8f1q4p5e0f1g2Q4x3X3g2E0k6l9`.`.">README</a> ## 运行环境 - 目前仅支持 ARM64 架构的 Android 系统,需要 ROOT 权限,推荐搭配 <a href="elink@e3bK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6@1K9h3q4F1L8W2)9J5c8V1E0W2M7X3&6W2L8q4y4g2">KernelSU</a> 使用 - 系统内核版本5.10+ (可执行`uname -r`查看) ## 功能演示 整体的界面设计和信息展示参考了 <a href="elink@576K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6H3N6$3&6V1j5X3N6Q4x3V1k6H3N6$3&6V1j5X3M7`.">pwndbg</a>,会在断点处自动分析当前代码和寄存器信息,当然你可以在选项里关掉这些显示。  ## 进阶使用 <a href="elink@3f0K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4N6%4N6Q4x3X3g2K6K9o6q4F1L8#2)9J5k6h3W2U0N6g2)9J5c8Y4m8G2M7%4c8K6i4K6u0r3x3U0R3K6y4o6S2U0y4q4)9J5c8R3`.`.">eDBG 使用进阶:避免 uprobes 产生可被察觉的特征</a> ## 其他 本项目主要受到 <a href="elink@f5bK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6e0k6h3g2r3L8r3!0%4k6i4u0j5i4K6u0r3M7%4c8S2j5$3E0H3L8s2Z5`.">stackplz</a> 启发,在实际逆向工作中我常常使用 stackplz 辅助 ida 进行动态调试,但常常被堆积如山的反调试手段或蜜罐打得鼻青脸肿...(菜菜),因此突发奇想将 eBPF 技术直接用于打造一个调试器,虽然比 ida 缺少了图形化界面和反编译(但是现在的 app 还有可以直接 F5 的吗),但是我认为功能也足够作为一个逆向辅助工具进行日常使用。 喜欢的话可以<a href="elink@95bK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6e0K9r3W2F1L8@1I4W2j5h3S2Q4x3V1k6W2c8p5u0s2">赏个小星星</a> QAQ 也欢迎提出建议或 issue 或 PR 喵
传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!!
最后于
2025-3-21 15:17 被ShinoLeah编辑 ,原因: 更换失效链接
#逆向分析
#混淆加固
#脱壳反混淆
#源码框架
#工具脚本
收藏
・
7
点赞
・
3
打赏
分享
分享到微信
分享到QQ
分享到微博
赞赏记录
参与人
雪币
留言
时间
万里星河
+10
谢谢你的细致分析,受益匪浅!
2026-4-20 17:27
wx_墨_198
感谢你分享这么好的资源!
2025-7-3 09:56
龙飞雪
你的分享对大家帮助很大,非常感谢!
2025-4-7 19:42
查看更多
赞赏
×
1 雪花
5 雪花
10 雪花
20 雪花
50 雪花
80 雪花
100 雪花
150 雪花
200 雪花
支付方式:
微信支付
赞赏留言:
快捷留言
感谢分享~
精品文章~
原创内容~
精彩转帖~
助人为乐~
感谢分享~
最新回复
(
1
)
万里星河
雪 币:
273
活跃值:
(2389)
能力值:
( LV2,RANK:10 )
在线值:
发帖
3
回帖
603
粉丝
8
关注
私信
万里星河
2
楼
这么牛逼的东西居然没有评论?
2026-4-20 17:27
0
游客
登录
|
注册
方可回帖
回帖
表情
雪币赚取及消费
高级回复
返回
ShinoLeah
3
发帖
7
回帖
10
RANK
关注
私信
他的文章
[原创] uprobes 使用小技巧:如何避免在 maps 中产生 [uprobes] 特征?
6015
[原创] 基于eBPF的安卓CLI调试器——eDBG
34487
[原创] 基于eBPF的安卓CLI调试器——eDBG
1810
关于我们
联系我们
企业服务
看雪公众号
专注于PC、移动、智能设备安全研究及逆向工程的开发者社区
看原图
赞赏
×
雪币:
+
留言:
快捷留言
为你点赞!
返回
顶部