动态调试smali的步骤

http://www.cnblogs.com/gordon0918/p/5570811.html

1、使用apktool反编译要动态调试的apk,反编译apk后,设置androidmanifest.xml中 application的 android:debuggable="true"


2、合包并安装


3、android studio安装 smalidea后,android studio > file > new > import project ,只将smali代码导入

想要动态调试Smali还需要安装一个插件Smalidea,可以在AS的settings->plugins里面安装。(插件下载链接:http://pan.baidu.com/s/1o8RL9jW


4、studio > run > edit configuration >+号:添加一个remote:设置名称和端口


5、在AS的终端以调试模式启动应用,进程挂起,并找到进程号

adb shell am start -D -n com.packagename/com.hh.MainActivity (这个命令跟着包名和mainActivity)


adb shell ps | grep packagename (找到此包名进程号)


6、设置端口转发,这条命令的含义是在本地8800端口(AS  remote里配置的)与手机28881进程之间建立一条通道,当开始调试时,AS连接本地的8800端口,通过这条通道控制程序的运行

adb forward tcp:端口号 jdwp:进程号 (jdwp 是)


7、在as 工程的smali代码里打断点


8、as > run debug


9、注意打断点

{�

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,645评论 25 708
  • afinalAfinal是一个android的ioc,orm框架 https://github.com/yangf...
    passiontim阅读 15,581评论 2 45
  • 心中像有一团火烧我的急需发泄,这是我第一次在简书上发表文章,以前也想发表,但是感觉自己文笔不好,怕写出来的东西没有...
    Puff安阅读 487评论 0 0
  • 尊敬的市长先生, 您好!感谢您百忙之中查阅我的邮件! 高新西区地处*县,紧邻*县县城,这里上风上水,人杰地灵。作为...
    梁兄阅读 255评论 0 0