首页
社区
课程
招聘
java方法被native层调用,现在已知被调的java方法位置,有办法定位到是被哪个so调用了吗
2021-4-4 01:32 4297

java方法被native层调用,现在已知被调的java方法位置,有办法定位到是被哪个so调用了吗

2021-4-4 01:32
4297
收藏
点赞0
打赏
分享
最新回复 (8)
雪    币: 9417
活跃值: (1540)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Lunction 2021-4-4 02:17
2
0
hook registernative 
雪    币: 2771
活跃值: (4548)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
guduzhe 2021-4-4 12:11
3
0
修改字节码,把这个java函数重命名成其他的,看看报错信息会有提示。
雪    币: 6299
活跃值: (2333)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
xianhuimin 2021-4-4 21:26
4
0
hook registernative  之后看maps
雪    币: 831
活跃值: (2830)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
爬虫不看学历 2021-4-5 18:21
5
1

楼主遇到的可是这种问题?我的方案是看看Unicorn有没有打印invokeObjectMethod记录,没有的话只能自己编译系统输出日志了。

雪    币: 831
活跃值: (2830)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
爬虫不看学历 2021-4-5 18:30
6
0
https://my.oschina.net/caipeng/blog/2246034
雪    币: 831
活跃值: (2830)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
爬虫不看学历 2021-4-5 18:32
7
0
frida hook JNIENV里面所有调用java方法的函数,在enter的时候输出context看pc寄存器和堆栈的值能反推出来函数在物理内存中的位置。
雪    币: 1928
活跃值: (4961)
能力值: ( LV8,RANK:146 )
在线值:
发帖
回帖
粉丝
Simp1er 2021-4-6 17:33
8
2
雪    币: 29
活跃值: (5125)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
不吃早饭 2021-4-8 23:12
9
4

hook一下被调用的java方法,被调用时通过jni函数输出一下native堆栈,即可定位到通过反射调用该java方法的那条call指令所在的地址。这是输出native堆栈的代码

大概就是这种效果,具体是哪一行自己判断吧

最后于 2021-4-8 23:21 被不吃早饭编辑 ,原因:
游客
登录 | 注册 方可回帖
返回