首页
社区
课程
招聘
[求助]有什么工具可以找到android apk里面两个不同类方法的调用关系?
发表于: 2021-5-26 10:17 3855

[求助]有什么工具可以找到android apk里面两个不同类方法的调用关系?

2021-5-26 10:17
3855

分析apk经常遇到一个问题,发现类A的方法A_a,以及类B的方法B_b,假定我已经知道A_a有一条路径一定调到B_b,但问题是吭哧吭哧逆向很难还原出这条路径。原因有几个:

  1. 异步操作:调用路径中如果出现异步操作,则很可能将被跟踪的对象弄丢,因为它会在另外一处代码进行操作。
  2. 路径太长:假定没有异步操作,单纯调用路径太长,也很难逐一排查每条路径,太费劲。
    请问有什么工具或者方法能帮助我解决这个问题,不胜感激!

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

收藏
免费 1
支持
分享
最新回复 (5)
雪    币: 410
活跃值: (5952)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
2
可以试试ddms的方法跟踪功能并把捕捉的方法数设的大一点或者试一下动态调试能不能强制跟进去。当然,上述方法某些时候可能不会奏效。
除了上面所提的那两种情况外,某些动态加载的dex也会比较难跟踪。
2021-5-26 11:28
0
雪    币: 477
活跃值: (1412)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
异步或协程很难
2021-5-26 11:56
0
雪    币: 29
活跃值: (5647)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
非异步的话可以hook一下被调用函数,然后输出一下调用堆栈
2021-5-26 13:43
0
雪    币: 116
活跃值: (1012)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
异步可以试试hook Thread的start方法 打印堆栈看哪里开启的线程
2021-5-26 13:51
0
雪    币: 265
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
6
hook类B的方法B_b,然后打印出调用堆栈
2021-6-2 23:45
0
游客
登录 | 注册 方可回帖
返回
//