Android安全-HookStudioAndroid开发经验谈

Android Studio动态调试第三方APK

2018-02-23  本文已影响318人  2baf611355d8

1. 下载、安装smalidea插件

smalidea插件下载地址:https://bitbucket.org/JesusFreke/smali/downloads/

下载 smalidea-0.05.zip

打开AndroidStudio,点击Preferences... | Plugins, 选择Install plugin from disk

安装插件

2. 下载apktool,反编译要调试的apk文件

Apktool下载地址

通过以下命令反编译APK文件

        java -jar apktool.jar d MyApp.apk

3. 将反编译的文件夹导入AndroidStudio

选择Import Project

导入工程

选择Create preject from existing sources

创建工程

一直选择“Next”,直至导入工程完成

 4. 修改代码

代码需要修改两个地方:

AndroidManifest.xml文件中在application中加上:

         android:debuggable="true"

找到主Activity或者Application,在其中加上Debug.waitForDebugger的smali代码

        invoke-static{}, Landroid/os/Debug;->waitForDebugger()V

修改代码

5. 在AndroidStudio工程中右键点击smali文件夹,设定Mark Directory as -> Sources Root

设置Source Root

 6. 使用apktool在把刚才修改完成的文件夹编译成apk文件,编译完成之后再签名一下,编译命令如下

        java -jar apktool.jar b MyApp -o newMyApp.apk

7. 在AndroidStudio里面配置远程调试的选项,选择Run -> Edit Configurations

配置远程调试的选项1 配置远程调试的选项2

8. 远端调试选项设置端口为8700

远端调试选项设置端口为8700

9. AndroidStudio的File -> Project Structure, 配置JDK。

配置JDK 配置JDK

10. 安装之前编译好的APK,以调试状态启动APP

        adb shell am start -D -n PACKAGE_NAME/ACTIVITY_NAME

11. 下好断点之后, AndroidStudio点击Run -> Debug就可以调试了

上一篇 下一篇

猜你喜欢

热点阅读