APK调试(三) so调试

本文详细介绍了如何进行APK的SO文件调试,包括调试准备、使用IDA进行远程调试、解决断点问题以及如何定位和设置断点。在调试过程中,重点解释了为何会在libc.so中断点,如何定位到目标函数,并提示在多个SO文件中选择具有执行权限(X属性)的代码段进行调试。
摘要由CSDN通过智能技术生成

 

 

1.调试准备

在IDA目录下的dbgsrv目录下找到android_server。有点类似gdbserver,操作也是类似;

adb remount

adb push android_server /system/bin

adb shell chmod 755 /system/bin/android_server

adb shell android_server

adb forward tcp:23946 tcp:23946

 

2.IDA-attach

模拟器里启动要调试的APP

启动IDA,打开debugger->attach->remote Armlinux/andoid debugger

debugger->process options

填写hostname为127.0.0.1或localhost(推荐),端口确定为23946或你自定义转发的端口,其他默认,点击确定

attach to process

弹出Choose process to attach to窗口,找到app的进程名,点击ok,等待分析后即可进入调试界面

 

问题分析:为什么会断在libc.so中

问题解决:

android系统中libc是c层中最基本的函数库,libc中封装了io、文件、socket等基本系统调用。所有上层的调用都需要经过libc封装层。所以libc.so是最基本的,所以会断在这里,而且我们还需

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值