内容简介:动态调试Smali有多种方式,可以用IDA Pro,Eclipse或者Android Studio等,IDA Pro折腾了下没弄好,于是就折腾Android Studio,因为主要用android studio开发,用起来比较顺手,下面记录下Android Studio的动态调试Smali的主要过程。反编译得到Smali源码,反编译过程较简单,之前讲过,不在这里讲解。反编译后需要在Application上添加 android:debuggable=”true” 选项,然后重新回编,签名APK,安装到手机上
动态调试Smali有多种方式,可以用IDA Pro,Eclipse或者Android Studio等,IDA Pro折腾了下没弄好,于是就折腾Android Studio,因为主要用android studio开发,用起来比较顺手,下面记录下Android Studio的动态调试Smali的主要过程。
1.APK 反汇编及回编
反编译得到Smali源码,反编译过程较简单,之前讲过,不在这里讲解。反编译后需要在Application上添加 android:debuggable=”true” 选项,然后重新回编,签名APK,安装到手机上
2.安装smalidea Android Studio 插件
安装ideasmali插件,File->Settings->Plugins->Install plugin from disk…,安装之前下载的ideasmali插件。
下载地址: https://bitbucket.org/JesusFreke/smali/downloads/
3.命令启动要调试的APK
adb shell am start -D -n com.example/.start.StartupActivity
4.启动DDMS
DDMS可以在开发 工具 里找到,找不到去到你的Android SDK安装目录tools/ddms.bat,双击ddms.bat启动DDMS,记下红色选择的端口7697,8700
5.进行端口转发
打开命令行,执行
adb forward tcp:8700 jdwp:7697
记得要关闭DDMS再执行该命令,否则会提示端口被占用
6.Android Studio导入Smali源码
File->New->Import Project…,一直下一步
Run->Edit Configurations..,
点击+,输入一个名称如:DebugSmali,Port填入刚刚的8700
7.配置JDK
File->Project Structure…,按如下图配置,红框内内容根据你实际情况选择:
8.启动调试
点击工具栏的调试按钮即可启动调试
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
逆向工程权威指南
Dennis Yurichev(丹尼斯) / 安天安全研究与应急处理中心 / 人民邮电出版社 / 2017-3-1 / 168
逆向工程是一种分析目标系统的过程,旨在于识别系统的各组件以及组件间关系,以便于通过其它形式、或在较高的抽象层次上,重建系统的表征。 本书专注于软件的逆向工程,是写给初学者的一本经典指南。全书共分为12个部分,共102章,涉及X86/X64、ARM/ARM-64、MIPS、Java/JVM等重要话题,详细解析了Oracle RDBMS、Itanium、软件狗、LD_PRELOAD、栈溢出、EL......一起来看看 《逆向工程权威指南》 这本书的介绍吧!