总结IDA调试app so库的三种方法

        本文总结网上一些做法,结合自己的经验,提供不反编、修改、重新编译apk而调试app的方法。

一、ida动态启动调试

(1)打开ida,直接将apk拖到ida中,选择class.dex,如下图:

图片.png

注意:也可以将apk解压之后,直接将class.dex拖拽至ida。

(2)双击打开class.dex后,设置debug选项

图片.png

(3)点击set specific option,设定包名及入口方法

图片.png

注意:如果是低版本的ida,可能没有fill from AndroidManifest.xml按钮,需要手动填写包名和入口方法。此时,可通过aapt dump xmltree test.apk AndroidManifest.xml > manifest.xml命令,将apk的manifest导入manifest.xml文件,然后查看manifest.xml获取包名和入口方法:

图片.png图片.png

(4)设置进程选项

图片.png

(5)确保手机开启调试支持,并关闭SELinux

图片.png

(6)将ida安装目录下,dbgsrc目录中的android_server拷贝至手机并运行

图片.png

(7)ida 运行即可

图片.png

总结:这种方法并不需要过多其它操作,全部工作基本都是ida,adb映射也是ida自动操作,其它注意的就是确保手机开启调试支持,并关闭SELinux。

 二、ida+jdb动态启动调试

(1)同样需要确保手机开启调试支持,并关闭SELinux。

(2)同样需要将ida安装目录下,dbgsrc目录中的android_server拷贝至手机并运行

(3)需要将android_server监听端口通过adb forward出来

图片.png

(4)以调试模式启动app

adb shell  am  start -D  -n com.qipai.n1/com.fish.main.MainGameActivity

图片.png

(5)打开ida并附加进程,设置debug选项

图片.png

图片.png

(6)打开DDMS,查看dalvik调试端口

图片.png

(7)jdb连接,让app继续运行:jdb-connect com.sun.jdi.SocketAttach:hostname=127.0.0.1,port=8700

图片.png

(8)ida调试app

 三、ida动态附加调试

(1)同样需要确保手机开启调试支持,并关闭SELinux。

(2)同样需要将ida安装目录下,dbgsrc目录中的android_server拷贝至手机并运行

(3)需要将android_server监听端口通过adb forward出来

(4)手机端运行app,然后ida附加进程即可

图片.png


参考链接:https://blog.csdn.net/jiangwei0910410003/article/details/51500328

                  https://blog.csdn.net/deathmemory/article/details/51489818

 

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值