一、配置插件
下载插件smalidea
地址: https://bitbucket.org/JesusFreke/smali/downloads
下载smalidea-0.03.zip
下载完成后,打开android studio的Settings | Plugins,选择 Install plugin from disk
二、反编译apk,修改AndroidManifest.xml中的debug属性
java -jar apktool.jar d AliCrackme_1.apk
修改AndroidManifest.xml中的android:debuggable=”true”
修改完成之后,回编译apk并且进行签名安装
java -jar apktool.jar b AliCrackme_1
然后对APK重新进行签名
三、动态调试
1、安装上面重新签名得到的apk应用
2、创建目录Smali/src,并且使用baksmali反编译输出到该目录下
java -jar baksmali-2.0.8.jar AliCrackme_1.apk -o ~/Downloads/SmaliDebug/src
3、使用Android Studio导入该目录SmaliDebug
4、选择Create project from existing sources,之后一直选择next
5、成功导入工程后右键点击 src 目录,设定Mark Directory As->Sources Root
6、配置远程调试的选项,选择Run–>Edit Configurations:
7、增加一个Remote调试的调试选项,端口选择:8700
8、设置端口号
9、选择File–>Project Structure 配置JDK
10、以调试状态启动app
adb shell am start -D -n com.example.simpleencryption/.MainActivity
11、下好断点之后Run->Debug
12、调试程序
参考文章:
Android逆向之旅—动态方式破解apk前奏篇(Eclipse动态调试smail源码)