zoukankan      html  css  js  c++  java
  • AS无源码调试APK

    AS无源码调试APK

    https://www.usmacd.com/2020/03/19/apk_debug/

    Apk无源码调试的方法有很多,现在发现使用Android Studio 结合 JEB 感觉良好,
    主要是参考 http://www.jianshu.com/p/c7899e5ea182 这篇记录下了具体步骤。

    1. 下载 smalidea

    https://bitbucket.org/JesusFreke/smali/downloads/smalidea-0.03.zip

    在Android studio的插件仓库中没有找到这个插件,需要下载本地安装
    File -> Settings -> Plugins -> Install plugin from disk 选择下载的插件,重启后生效。

    2. apktool 输出源码文件

    https://github.com/iBotPeaches/Apktool/releases/download/2.2.0/apktool_2.2.0.jar

    1
    java -jar apktool_2.2.0.jar d -f xx.apk -o xx

    如果正常的将输出 smali 源码文件

    3. Android Studio 导入源码

    File -> New -> import project 选择刚才导出的xx文件夹

    4. 增加Android Stuido的调试选项

    Android Studio 界面上选择 Run-> Edit Configurations,点击+号,新建remote类型调试
    器,默认的监听端口为5005,如果默认端口被占用则需要修改端口号。

    5. 以调试模式启动应用

    1
    adb shell am start -D -n aa.bb/.activity

    进程将挂起,aa.bb是package name,.activity 是要启动的activity 一般指定MainAcvitiy即可

    6. 建立调试通道

    1
    adb shell ps | grep aa.bb

    获得调试进程的pid

    1
    adb forward tcp:5005 jdwp:debug_process_pid

    执行命令后,可以看到adb监听本地5005 端口。

    1
    2
    > netstat -antp | grep 5005
    tcp 0 0 127.0.0.1:5005 0.0.0.0:* LISTEN 4728/adb

    7. 设置断点,调试

    点击源码左侧栏可以设置断点,点击工具栏上的debug (一个小虫的按钮),开始调试。在
    这个步骤上我遇上了一个错误。

    java.io.IOException “handshake failed - connection prematurally closed”

    这个错误是因为adb版本问题,取消Android内部的adb集成就可以了。具体方法是
    Tools -> Android -> Enable adb integration 取消掉前面的勾就可以了。

    如果看到Connected to the target VM, address: ‘localhost:5005’, transport: ‘socket’ 就大功告成了。

    8. 其他一些说明事项

    要调试apk程序是有一些要求的,下面几种情况可以调试apk程序。

    • /default.prop ro.debuggable=1

    我的手机就属于这种情况

    1
    2
    getprop  | grep ro.debug
    [ro.debuggable]: [1]
    • APK 中AndroidManifest.xml 有这句 android:debuggable=true

    =================== End

  • 相关阅读:
    本学期3个sprint的团队贡献分
    sprint3个人总结
    12.17第九天
    阶段二总结
    sprint 1 总结
    冲刺一
    课程设计团队信息
    学习进度表
    Sprint3总结
    Res_Orders_02
  • 原文地址:https://www.cnblogs.com/lsgxeva/p/13501270.html
Copyright © 2011-2022 走看看