Android逆向-动态调试release-apk

介绍

本帖主要讲解动态调试release-apk,可以查看apk运行中变量值和运行逻辑,本篇为android逆向基础篇

本帖涉及到android一些基础知识
1: android基础知识
2: AndroidStuduo的基本使用
3: smali的基本语法

开发工具

工具名称 工具类型 说明
AndroidStuduo 编辑工具 看android源码和smali用的
monitor SDK工具 这个sdk自带的工具用于debug
apkToolr java工具 将apk解成smali项目
jadx java工具 将apk解成java项目
smalidea AndroidStuduo插件 这个是识别smali用的
VirtualApp apk 可理解成虚拟手机,打开VirtualApp添加需要调试的应用,这样就可以成debug模式

开始

1:将apk解成smali文件和java文件

  • 将apk转smali(用于调试)
    控制台输入 java -jar apkTool的绝对路径 d apk的绝对路径
    例如:java -jar apktool.jar d test.apk
    
  • 将apk转成as项目(用于看源码)
    1:打开jadx的bin目录的 jadx-gui.bat 文件(会弹出选择文件的界面)
    2:选择你的apk,等待加载完毕
    3:可以选择选择file → save as gradle project导出去(也可以直接在里面看代码)
    

2: AndroidStuduo导入smali

  1. 装插件 file → settings → plugins → install plugin from disk 选择刚刚下载好的smalidea这个插件,然后重启生效

  2. 第二步:导入smali工程(和导入android工程一样) , file → new → import Project 选择刚刚导出来的smali项目

3:将AndroidStudio运行模式设置为远程调试模式

  • 打开Edit Configurations…
    在这里插入图片描述

  • 在出现的界面,点击左上角的“+”,在出现的下拉列表中再点击“Remote”
    Android逆向-动态调试release-apk_第1张图片

  • 设置远程调试的名称和监听远程的端口→将远程名称设置为“8700” ,Name可以设置也可以不设置
    Android逆向-动态调试release-apk_第2张图片

4:ADM(AndroidDeviceMonitor)+ AS(AndroidStudio) + VirtualApp协同开始动态调试

1: 打开ADM

找到SDK 根目录 → tools → 打开monitor.bat

2: VirtualApp使用,添加需要调试的app

1: 安装VirtualApp,
2:安装需要调试的apk,
3:VirtualApp添加需要调试的apk(有个添加app)

3: 开始调试
3.1:打开刚刚添加的apk,查看ADM是不是出现了进程名,如下图
Android逆向-动态调试release-apk_第3张图片

3.2:在ADM里面选中需要调试的进程名

Android逆向-动态调试release-apk_第4张图片
3.3:在开始打开smali工程的AS里面点击debug的图标
Android逆向-动态调试release-apk_第5张图片
3.4:这时候ADM会出现一个小瓢虫,说明正常的debug了
Android逆向-动态调试release-apk_第6张图片
3.5:smali工程就可以断点调试了,如果程序走到这里就会断住
Android逆向-动态调试release-apk_第7张图片

收工

你可能感兴趣的:(andorid,Android逆向)