首页
社区
课程
招聘
[原创]让你的Android Studio能够对任意进程进行源码级native debug
发表于: 2021-11-6 19:40 20077

[原创]让你的Android Studio能够对任意进程进行源码级native debug

2021-11-6 19:40
20077

    在进行逆向分析时我们经常需要将自己的代码注入到第三方进程内悄咪咪的干一些事情,为了能够更直观的看到注入代码是如何工作的,我们往往会使用Android Studio配套的debug工具在被注入的进程内观察自己的代码执行,可以说是相当之舒服了。

    然鹅很不幸的是,有时候用Android Studio attach到第三方进程时会报错,提示"Cannot find module that matches process name xxxxxxx",如下图所示

可以说是相当之蛋疼了,稍微有经验的分析者可能会知道这和native debug有点关系,只需要在attach时选择只debug java代码就能够避免这个问题 ,如下图所示。选择Java Only后就能给继续愉快地debug了。

    一般来说,问题到这里就可以告一段落了,毕竟我们还能借助无敌的ida来完成完成native部分的debug。然鹅ida的汇编级debug很多时候还是不够直观,使用体验终究是不如Android Studio的源码级debug。如果我们能够想办法让Android Studio能够像ida那样对任意进程的native code进行debug,配合上idea良好的debug交互体验,许多问题解决起来就会变得轻松许多了。

太长不看的可以直奔github的release内下载最终文件进行替换。

    正式开始之前先放一下最终结果,如下图所示,我们成功对MT管理器开启了Android Studio的native + java级debug,接下来只需要像debug自己的程序一样快乐滴下源码级断点就好了。

    但是这还不够,实际上我们在进行某些特殊的开发时可能需要debug这些进程的子进程,例如分析那些通过execve启动的elf进程等。他们可能是fork出来的,也可能是execve出来的,不过这不重要,可以看到Android Studio的可debug进程列表里显示出了MT管理器的所有子进程

成功将Android Studio的native debugger attach上了pid值为19765的MT管理器的子进程。


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2021-11-7 20:47 被不吃早饭编辑 ,原因:
收藏
免费 2
支持
分享
最新回复 (11)
雪    币: 269
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
2
火钳刘明
2021-11-7 10:24
1
雪    币: 17
活跃值: (891)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3

替换文件之后启动as报错

2021-11-7 10:47
0
雪    币: 29
活跃值: (5908)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
amwpecel 替换文件之后启动as报错
这个是基于最新版AS进行的修改,如果是其他版本的话可以根据github提交记录进行移植
2021-11-7 12:15
0
雪    币: 10758
活跃值: (1501)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
有时间试试效果!!
2021-11-7 14:07
0
雪    币: 0
活跃值: (86)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
然后你没有写完,我补充一点,,只需要把注入代码 的buildid 改成目标的包名就能附加上去调试java 和c 代码了。
2022-10-31 17:22
0
雪    币: 29
活跃值: (5908)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
cc_debug 然后你没有写完,我补充一点,,只需要把注入代码 的buildid 改成目标的包名就能附加上去调试java 和c 代码了。
不需要改,打的patch里有一个地方就是解决这个问题的
2022-10-31 18:55
0
雪    币: 5315
活跃值: (9913)
能力值: ( LV9,RANK:181 )
在线值:
发帖
回帖
粉丝
8
不吃早饭 这个是基于最新版AS进行的修改,如果是其他版本的话可以根据github提交记录进行移植
你补的版本:android-studio-2020.3.1.25-windows.exe
2022-11-3 12:17
0
雪    币: 1745
活跃值: (2342)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
有时间试试
2022-11-15 00:37
0
雪    币: 1110
活跃值: (3384)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
10
mark,催更
2022-11-17 15:22
0
雪    币: 1
活跃值: (150)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
老板接开发吗?可否留个联系方式
2023-4-1 22:29
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
12
前辈 可否留个邮箱简单沟通一下
膜拜一下前辈的技术
2023-9-24 15:23
0
游客
登录 | 注册 方可回帖
返回
//