安卓调试 .so 断到 JNI_OnLoad 或者 .init段

一、设置全局调试状态

android:extractNativeLibs="true"
su getprop ro.debuggable               // 查看是否开起了全局调试 su magisk resetprop ro.debuggable 1        stop;start

 

 

当然,如果app本身有 debeggable属性的话,可以不用设置

 

二、启动server,设置端口转发

cd /data/local/tmp ./android_server64 adb forward tcp:23946 tcp:23946 // 再开一个终端,做端口转发

之后下断点

 

三、调试模式启动目标

adb shell am start -D -n <包名>/.入口 # am命令启动app(如:adb shell am start -D -n com.com.sec2023.rocketmouse.mouse/com.unity3d.player.UnityPlayerActivity

 

现在让IDA attach上去

四、端口转发,并让程序继续运行

adb forward tcp:8700 jdwp:<pid> jdb -connect com.sun.jdi.SocketAttach:hostname=127.0.0.1,port=8700

 

此时我们 ida 直接 F9即可。我们也可以在 IDA->Debugger->Debugger Options 上进行设置,设置在加载 任何一个.so文件的时候断下来

 


__EOF__

本文作者_TLSN
本文链接https://www.cnblogs.com/lordtianqiyi/p/18596055.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   TLSN  阅读(33)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示