吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 584|回复: 4
收起左侧

[Android 求助] 如何确定native方法是在哪个so文件里

  [复制链接]
y03051022 发表于 2025-1-5 23:17
最近在学习安卓的hook和抓包,在跟踪socket发送数据的过程中最后是调用的一个native方法进行发送,如何确定这个native方法是在哪个so文件里。

socket代码如下:
Socket socket = new Socket("192.168.1.7", 65534);
socket.setSoTimeout(10000);
//发送数据给服务端
OutputStream outputStream = socket.getOutputStream();
outputStream.write("hi,hello".getBytes("UTF-8"));
socket.shutdownOutput();

跟踪outputStream.write的过程如下
0105.png
如何确定socketWrite0这个native方法是在哪个so文件里

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

zhuxiangyu1024 发表于 2025-1-5 23:32
本帖最后由 zhuxiangyu1024 于 2025-1-5 23:36 编辑

应用的so要先loadlibrary的,你这个底层实现研究了也没太大的用处吧,在java虚拟机的源码里面
 楼主| y03051022 发表于 2025-1-6 08:42
zhuxiangyu1024 发表于 2025-1-5 23:32
应用的so要先loadlibrary的,你这个底层实现研究了也没太大的用处吧,在java虚拟机的源码里面

如果应用直接在jni层 用socket发送数据包,不在java层发包,找到这底层位置进行hook应该是有用的吧
zhuxiangyu1024 发表于 2025-1-6 09:30
y03051022 发表于 2025-1-6 08:42
如果应用直接在jni层 用socket发送数据包,不在java层发包,找到这底层位置进行hook应该是有用的吧

用当然是有用,不过我遇到的一般要hook的时候最后都会在调用natvie的方法那边hook。你说的这种和你问题里提到的调用系统层的native还是有些区别的,开发人员自己写的一般直接搜system.loadlibrary就能看出来用了哪个so。
Doratmon 发表于 2025-3-6 20:32
试一下Module.findExportByName
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2025-3-30 20:35

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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