zoukankan      html  css  js  c++  java
  • IDA动态调试安卓

    从我接触CTF以来,对于IDA的运用其实已经有挺久的历史了,但是对于IDA我的用途可以简单的归咎于看看汇编、查看字符串以及F5大法好,买来的IDA权威指南也就在第一二章徘徊了很久。害,感慨就到这,正式开始IDA动态调试安卓程序 

    准备

      

      右键查看资源管理器,找到IDA目录下的dbgsrv文件夹,找到android_server文件,复制        (现在也有很多app会检测android_server文件,这个另有机会再说)

      

      启动模拟器,我用的雷电,启动window的cmd,输入adb dervices查看当前连接

      

       这个5554就是我开启的雷电模拟器了,当然这里你用的实体机或者别的模拟器可能有区别,要是在这里开启了多个模拟器或者连接了多个安卓程序记得用adb命令选中你要的那个adb -s xxxxx shell,当然这里就开启了一个就不用这么麻烦了,直接adb shell进入shell就可以了,例如:

      

      如果是真机USB连接记得su提权,这里先用不到,exit命令返回cmd窗口

      

      用push命令将android_server文件放入安卓设备中,具体命令是adb push "xxxxxxx(你的android_server路径)/android_server"  /data/local/tmp,即将android_server放入data/local/tmp路径下

      

       然后可以shell查看一下有没有导进去,也可以直接用安卓自带的文件管理器查看,再用ll命令查看一下权限

      

      这里只有rw权限,没有x权限,需要用户手动加入,777或者755都可以,具体权限的认识可以看这篇博客:https://www.cnblogs.com/ccw869476711/p/9213398.html(他最下面的更改权限的命令打错了)

      然后通过chmod 777 android_server修改权限,再用ll查看一下

      

       OK,然后用./android_server启动,注意./后面不要加空格

      

       

      再打开一个cmd窗口,输入adb forward tcp:23946 tcp:23946设置端口转发,这个端口是在IDA可以设置的,并不一定要使用23946,有些app也可能检测23946端口,所以如果之后调试出现问题可以考虑更换端口(在后文会说),端口转发相关问题自行百度。

      

      到这一步为止,我们在cmd和设备的操作就已经完成的差不多了,接下来就可以打开IDA,但是如果在此之前你就已经打开IDA,那就有可能报“由于目标计算机积极拒绝,无法连接。”这样的错误,如果出了这个报错请尝试按我上面的流程来一遍。

      打开IDA:

      

      在这里设置转发,点击:

      

      因为这个功能是用来远程调试的,所以也就可以通过账户和密码登录其他服务器进行调试,但是我们就在讲本机,所以这个hostname就可以用localhost或者在cmd ipconfig出来的ip地址链接,不用写密码

      然后Ctrl+F搜索想要的包名就可以了:

      

      

  • 相关阅读:
    [学习记录]Flask会话维护
    [学习记录]MarkDown语法
    [学习记录]jinja2模板语法
    [学习记录]flask资源加载
    [学习记录]flask初步
    [常用操作]使用github桌面版上传代码
    [学习记录]简明扼要的Sass
    接口Mock测试
    12 | 从0到1:你的第一个GUI自动化测试
    navicat导出DDL语句
  • 原文地址:https://www.cnblogs.com/CimeLi/p/12430245.html
Copyright © 2011-2022 走看看