微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android应用程序在没有本机库的情况下进行本机调用

如何解决android应用程序在没有本机库的情况下进行本机调用

为了好玩和了解android ndk,我正在反转这个android应用程序 我在 x86 android studio 模拟器上运行这个应用程序,该应用程序不包含任何 x86 共享库,它只包含 arm 库,但该应用程序仍在以某种方式进行本机调用?当我检查应用程序加载的模块时,我没有从 lib 文件夹中找到任何库,我只找到了这个奇怪的 .odex 文件? 我尝试使用 frida https://[identifier1].s3.amazonaws.com/[path and filename.csv] ?X-Amz-Algorithm=[identifier2] &X-Amz-Date=20210602T001523Z &X-Amz-SignedHeaders=host &X-Amz-Expires=3599 &X-Amz-Credential=[identifier3] %2Fus-east-1%2Fs3%2Faws4_request &X-Amz-Signature=[identifier4] 加载库,但出现 dlopen 错误 我用 ghidra 反编译了 arm 库,现在我能将从 ghidra 得到的东西编译回 x86 .so 库吗? 如果一个应用程序有一个本地方法并且它没有一个实现该方法的库,那么如果我们调用本地 java 方法会发生什么?会报错吗?

编辑:我知道它进行本地调用是因为我尝试挂钩正在调用的本地方法并返回一个字符串?这怎么可能? 我知道在 android studio 模拟器上运行的 android 11 可以将 arm 二进制文件转换为 x86,那么为什么 libs 没有加载到内存中,为什么我不能挂钩然后使用 frida-trace?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。