Android-反编译调试smali文件

工具

  1. apktool

  2. smalidea插件(需要安装到as)

步骤

  1. 使用apktool反编译apk,修改manifest(在application下添加android:debuggable=true)

  2. 使用apktool回编生成新的apk

  3. 给新的apk签名

  4. 安装新的apk

  5. 将smali文件导入as中,将smali文件夹设置为source root

  6. 在as中创建remote调试(注意设置填写端口号为8800:将as的remote调试跟本机的8800端口“打通”)run->edit xxx

  7. 设置project的jdk

  8. 在as终端输入

    1
    adb shell am start -D -n com.xxx.xxx/com.xxx.xxx.xxx

    以调试模式开启安装的apk

  9. 1
    2
    adb shell ps | grep com.xxx.xxx     
    //查看手机中该apk程序的pid
  10. 1
    2
    3
    adb forward tcp:8800 jdwp:查找到的pid
    //将本机的8800端口跟该apk进程“打通”
    //记得设置remote调试的时候将本机的8800端口跟as的remote调试“打通”了,那么remote调试就跟手机的apk进程“打通”了;
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12

    10. 在smali文件中打好断点

    11. as-》run-〉debug





    参考https://www.cnblogs.com/gordon0918/p/5570811.html

    http://www.cnblogs.com/goodhacker/p/5592313.html