zoukankan      html  css  js  c++  java
  • 动态调试smali代码

    Android Killer对应用进行反编译为smali代码,看看Manifest文件中application标签里面是否有android:debuggable="true",没有的话自己添加,然后重新安装在手机上

    在工程管理器中找到smali文件夹,右键打开路径然后将smali文件夹复制到另一个自建的文件夹里(假设为 test),重命名为src

    为Android Studio安装smaliidea插件

    Android Killer打开应用,记住包名与入口点

    进入 adb shell 执行 ps | grep ${PackageName} 查看 PID

    执行adb shell am start -D -n ${PackageName}/${EntryActivityName}开启debug模式,此时设备将显示等待调试

    进行端口转发adb forward tcp:8700 jdwp:${PID},其中${PID}是上面记下来的那个值

    AS里File -> New -> Import Project -> 选中复制出的src的上级目录(即 test) -> ok -> 全部next直至finish,项目结构改为Project,对src文件夹右键Make Directory As ->Source Root

    配置远程调试选项,Run -> Edit Configurations -> 添加一个Remote配置 -> 改名 -> 改端口为8700,然后OK

    然后File -> Project Structure中选择你的JDK,然后OK

    再打开src中的smali文件,即可对其下断点

    接下来Run -> Debug ${Name}即可进行调试,这里的名称是上方调试选项的名称,Watches窗口中可以查看寄存器什么的值(需要自己添加),然后还可以执行中添加smali断点

  • 相关阅读:
    Java基础总结--面向对象1
    Java基础总结--数组
    Java基础总结--方法(函数)
    Java基础总结--流程控制
    Java基础总结--变量、运算符总结
    Java基础总结--Java编程环境变量配置
    OpenWrt源码结构
    OpenWRT介绍
    内存管理
    makefie中的几种用法
  • 原文地址:https://www.cnblogs.com/seliote/p/9313622.html
Copyright © 2011-2022 走看看