首页
社区
课程
招聘
[求助] ida动态调试看不到java代码中的native函数名
发表于: 2018-4-4 16:14 4548

[求助] ida动态调试看不到java代码中的native函数名

2018-4-4 16:14
4548
一般来说,在java层看到的这个native函数能在相应的so里面找到对应的函数名。
但是我发现有些不是这样的
有些加载到so里就变成了sub_xxxx这样的了。

求各路大神传下功~点个火~ || 留个科普url啥的




[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

最后于 2018-4-4 16:21 被切丝怕怕编辑 ,原因: 有些内容怎么没有了,内容不完全
收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 5357
活跃值: (1690)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
别搞事啊
2018-4-4 16:57
0
雪    币: 233
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
RegisterNatives
2018-4-4 17:58
0
雪    币: 2709
活跃值: (1632)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
4
指令换了      VMP
2018-4-6 16:40
0
雪    币: 7
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
native函数名有两种写法,第一种是java_xxx_xxx_xxx_xxx,包名和函数名拼接起来的,这种逆向能一下就找到;第二种是二楼说的用RegisterNatives  注册,这样native函数就被替换成本地函数,如果编译so的时候隐藏符号表不导出本地方法名,你看到的就是sub_xxx,达到混淆的效果。
2018-4-16 10:56
0
雪    币: 7
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
对了,注册一般是在jni_onload函数中,也有可能在.init_array段中,这个加载的更早
2018-4-16 11:01
0
雪    币: 281
活跃值: (201)
能力值: ( LV3,RANK:35 )
在线值:
发帖
回帖
粉丝
7
PanzerT 别搞事啊[em_1]
2018-4-16 17:12
0
雪    币: 281
活跃值: (201)
能力值: ( LV3,RANK:35 )
在线值:
发帖
回帖
粉丝
8
烟雨破解 RegisterNatives
我再去瞅瞅这个,不太了解这个<(_ _)>
2018-4-16 17:15
0
雪    币: 281
活跃值: (201)
能力值: ( LV3,RANK:35 )
在线值:
发帖
回帖
粉丝
9
四楼说的隐约听人说过[捂脸]我还系再看看吧
2018-4-16 17:16
0
游客
登录 | 注册 方可回帖
返回
//