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

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/zzwlpx/article/details/80543359

        本文总结网上一些做法,结合自己的经验,提供不反编、修改、重新编译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

 

展开阅读全文

没有更多推荐了,返回首页