IDA+夜神模拟器的动态调试
IDA7.0,夜神模拟器(安卓系统5.0)
先用adb连接夜神模拟器,第一次失败了再试一次。成功后用 adb devices查看当前设备。
https://img-blog.csdnimg.cn/20210127100640580.png
连接成功后,需要把IDA的 android_server 复制到模拟器中。
https://img-blog.csdnimg.cn/20210127100759333.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzU4MjEwMQ==,size_16,color_FFFFFF,t_70
使用adb push 命令上传文件。
https://img-blog.csdnimg.cn/20210127101019316.png
然后进入adb shell ,给文件可授权并启动。
https://img-blog.csdnimg.cn/20210127101214494.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzU4MjEwMQ==,size_16,color_FFFFFF,t_70
接下来重新开启一个cmd,进行端口转发 。(23946是固定的)
https://img-blog.csdnimg.cn/20210127101310595.png
打卡IDA,选择go,然后进入界面,点击Debugger—> Run---->ARM android
https://img-blog.csdnimg.cn/20210127101436641.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzU4MjEwMQ==,size_16,color_FFFFFF,t_70
然后输入hostname
https://img-blog.csdnimg.cn/20210127101502808.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzU4MjEwMQ==,size_16,color_FFFFFF,t_70
如果报错这个,则换成32的IDA,相反换64。安卓系统需要跟IDA匹配。
https://img-blog.csdnimg.cn/20210127101701616.png
点击确定后,在弹出的进程框中选择app包名
https://img-blog.csdnimg.cn/20210127102129500.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzU4MjEwMQ==,size_16,color_FFFFFF,t_70
然后就进到调试界面了
https://img-blog.csdnimg.cn/2021012710241490.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzU4MjEwMQ==,size_16,color_FFFFFF,t_70
一般断点都是先断在libc.so,因为他是最基本的函数库,里面封装了io、socket 等基本系统调用
所以可以 ctrl+s 查看段信息(段信息是相对位置,不是so映射之后的位置)
然后search,然后断点,启动即可。
----
最后推荐一个github的爬虫库:(有案例和工具下载)
https://github.com/lixi5338619/lxSpider
upload/attach/202102/2827_6KK7CHP76W9XV6B.png
666 学到了 学到了 6666 666 好家伙 强 学习,谢谢了 4444