IDA 动态调试详细介绍

  1. # IDA 动态调试要求

    • apkdebuggable 属性为 true 或者安卓系统的 ro.debuggable 的值为 1
    • 开启 anroid_server
  2. # apk 进入 debug 模式

    • 设置 apk 可调试,参考上一篇文章:http://blog.wen2go.site/2022/04/02/20220402/

    • AndroidManifest.xml 查看包名, manifest 标签 package 属性的值

      查看包名

    • AndroidManifest.xml 查看 activity , 找到包含 android.intent.action.MAINactivity

      查看activity

    • 输入下面指令,进入 debug

      adb shell am start -D -n com.sohu.newsclient/com.sohu.newsclient.boot.activity.SplashActivity

      debug界面

  3. # 开启 android_server 并转发端口

    android_serve r 在 ida 安装目录的 dbgsrv 下,找到自己的对应的版本推送到手机里,跟 frida_server 差不多

    adb push android_server64 /data/local/tmp	# 推送到手机 tmp 目录下
    adb shell
    su
    cd /data/local/tmp
    chmod 777 android_server64	# 添加执行权限
    ./android_server64	# 开启 server

    重新打开一个终端,转发端口

    adb forward tcp:23946 tcp:23946
  4. # 打开 ida pro ,动态调试

    • 选择 anroid_debugger

    • 输入 127.0.0.1 然后点击 Debug_options

    • 勾选以下配置,具体咱也不知道为啥这样选😢,希望大佬告诉我

    • 点击 ok ,然后跳转到选择进程界面,通过 search 搜索进程名

    • 点击 ok ,等待几秒进去 debug 界面

    • 然后打开终端,输入下面指令,让 app 继续执行

      jdb -connect com.sun.jdi.SocketAttach:hostname=127.0.0.1,port=8700

    • 如果出现以下错误,打开 ddms ,然后再执行上面指令即可

  5. # 然后就可以愉快的调试了

本篇文章主要是达到可以动态调试的目的,如果有兴趣可以加我好友一起学习研究😁

更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

渣渣文 微信支付

微信支付

渣渣文 支付宝

支付宝