吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1793|回复: 6
收起左侧

[Android 求助] java层的native方法和so库的对应函数参数不一致是什么情况?

[复制链接]
泗銯釢 发表于 2021-9-14 22:51
java层代码:
[Java] 纯文本查看 复制代码
private static native int uploadCallback(long p0,ByteBuffer p1);


IDA在so库找到的函数:
[Plain Text] 纯文本查看 复制代码
.data.rel.ro:010578C4                 dd offset aUploadcallback ; "uploadCallback"
.data.rel.ro:010578C8                 dd offset aJljavaNioByteb ; "(JLjava/nio/ByteBuffer;)I"
.data.rel.ro:010578CC                 dd offset uploadCallback


[C++] 纯文本查看 复制代码
int __cdecl uploadCallback(_JNIEnv *env, int jobject, int a3, int unknownLong, int byteBuffer){}


那个多出来的a3是什么参数阿??? 新手不太懂,求dalao指点

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

梦想总要有的 发表于 2021-9-15 09:23
long p0   是64位的, 所以so层参数是 a3+unknwonlong才是64位

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
泗銯釢 + 1 + 1 我很赞同!

查看全部评分

lies2014 发表于 2021-9-14 23:20
 楼主| 泗銯釢 发表于 2021-9-15 00:03
lies2014 发表于 2021-9-14 23:20
你找错了,去Exports页面找Java_开头的方法

这个是动态加载的方法, 搜不到Java开头的方法,只有jni_onload
闷骚小贱男 发表于 2021-9-15 07:41
泗銯釢 发表于 2021-9-15 00:03
这个是动态加载的方法, 搜不到Java开头的方法,只有jni_onload

动态加载的话 好像是直接找不到函数名的吧。。。
 楼主| 泗銯釢 发表于 2021-9-15 09:27
闷骚小贱男 发表于 2021-9-15 07:41
动态加载的话 好像是直接找不到函数名的吧。。。

找得到呀 它调用JNI这个RegisterNatives接口 传入一个方法数组 这个数组是静态的 有函数名和参数名还有函数地址
 楼主| 泗銯釢 发表于 2021-9-15 10:43
梦想总要有的 发表于 2021-9-15 09:23
long p0   是64位的, 所以so层参数是 a3+unknwonlong才是64位

谢谢dalao 明白了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-23 01:21

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表