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

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

一、ida动态启动调试

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

总结IDA调试app so库的三种方法_第1张图片

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

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

总结IDA调试app so库的三种方法_第2张图片

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

总结IDA调试app so库的三种方法_第3张图片

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

图片.png总结IDA调试app so库的三种方法_第4张图片

(4)设置进程选项

总结IDA调试app so库的三种方法_第5张图片

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

总结IDA调试app so库的三种方法_第6张图片

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

总结IDA调试app so库的三种方法_第7张图片

(7)ida 运行即可

总结IDA调试app so库的三种方法_第8张图片

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

 二、ida+jdb动态启动调试

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

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

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

总结IDA调试app so库的三种方法_第9张图片

(4)以调试模式启动app

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

图片.png

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

总结IDA调试app so库的三种方法_第10张图片

总结IDA调试app so库的三种方法_第11张图片

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

总结IDA调试app so库的三种方法_第12张图片

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

总结IDA调试app so库的三种方法_第13张图片

(8)ida调试app

 三、ida动态附加调试

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

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

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

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

总结IDA调试app so库的三种方法_第14张图片


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

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

 

你可能感兴趣的:(总结IDA调试app so库的三种方法)