首页
社区
课程
招聘
[原创] IDA7.2 android_server 在 Android10 下无法获取子线程问题修复
2020-3-14 22:18 10887

[原创] IDA7.2 android_server 在 Android10 下无法获取子线程问题修复

2020-3-14 22:18
10887
最近在Android 10 的机器上用 IDA 调试的时候发现进程附加后,线程列表只有主线程。
周末有时间就看看,具体是什么问题。

问题定位:

尝试1:

手头有idasdk72,看到里面有android_server相关的实现代码,尝试自己编译出 android_server,最后发现idasdk包中还是缺少下面的静态库。


尝试2:

虽然没法自己编译 android_server,通过源码+二进制+frida调试,最后还是可以定位出问题的位置


出问题的函数在 idasdk72/dbg/linux/linux_threads.cpp 文件中,主要是因为判断libc.so是否已经加载成功逻辑有问题,导致 tdb_new 在 判读 libc_loaded 后直接退出。
Android 10 以后为了方便系统更新将系统一些重要功能按模块封装,详情可以看 
其中 libc.so 被封装到 Runtime 模块

 进程加载的 libc.so 的真实路径应该为 /apex/com.android.runtime/lib/bionic/libc.so。但是 tdb_new判断 libc.so 是否加载的时候依旧使用 /system/lib/libc.so 跟  /system/lib64/libc.so

修复

因为缺少一些静态库,没法重新编译 android_server ,修复方式只能通过修改二进制的形式,直接跳过libc是否加载成功的判断流程。

修改方式如下:



修改效果:




跟我有相同问题的人,可以按照我上面的修改。


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

收藏
点赞5
打赏
分享
最新回复 (12)
雪    币: 8270
活跃值: (4786)
能力值: ( LV4,RANK:45 )
在线值:
发帖
回帖
粉丝
v0id_ 2020-3-15 11:36
2
0
很有用,收藏了
雪    币: 2
活跃值: (140)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
sllax 2020-3-15 16:29
3
0
学习了
雪    币: 6500
活跃值: (3482)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
cxbcxb 2020-3-15 20:53
4
0
学习啦
雪    币: 236
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
黑手刺客 2020-3-15 22:28
5
0
感谢大佬,学习了
雪    币: 5233
活跃值: (3255)
能力值: ( LV10,RANK:175 )
在线值:
发帖
回帖
粉丝
挤蹭菌衣 1 2020-3-16 10:08
6
2
大佬你好,求个ida7.2
雪    币: 2261
活跃值: (1403)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
boyving 2020-3-21 11:26
7
0
羡慕有ida7.2的大佬
雪    币: 1686
活跃值: (868)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9521 2020-12-3 11:27
8
0

7.4开始可以

export IDA_LIBC_PATH=/apex/com.android.runtime/lib/bionic/libc.so
or export IDA_LIBC_PATH=/apex/com.android.runtime/lib64/bionic/libc.so

最后于 2020-12-3 11:30 被9521编辑 ,原因: 补充
雪    币: 477
活跃值: (1412)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
mb_foyotena 2020-12-4 09:54
9
0
9521 7.4开始可以export IDA_LIBC_PATH=/apex/com.android.runtime/lib/bionic/libc.soor export& ...
羡慕有7.4的大佬
雪    币: 15
活跃值: (55)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
ﺭ并亲了你一下ﺭ荒 2021-1-23 18:38
10
0
插眼 关注
雪    币: 1
活跃值: (946)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wx_阿达西 2021-4-9 16:03
11
0
请问大佬,在android10上有试过 调试方式启动app,然后IDA 附加进程调试吗?我这里IDA附加上去让后程序就崩溃了。(自己写的测试程序,没有反调试)
雪    币: 16150
活跃值: (5921)
能力值: ( LV13,RANK:861 )
在线值:
发帖
回帖
粉丝
大帅锅 4 2021-4-9 16:52
12
0
wx_阿达西 请问大佬,在android10上有试过 调试方式启动app,然后IDA 附加进程调试吗?我这里IDA附加上去让后程序就崩溃了。(自己写的测试程序,没有反调试)
https://bbs.pediy.com/thread-266922.htm
已经可以调试了,就是modules窗口不会显示加载的so而已
雪    币: 3268
活跃值: (4289)
能力值: ( LV9,RANK:160 )
在线值:
发帖
回帖
粉丝
乐子人 3 2023-11-15 21:41
13
0
感谢大佬救我于水火
游客
登录 | 注册 方可回帖
返回