概述
介绍
本帖主要讲解动态调试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
-
装插件 file → settings → plugins → install plugin from disk 选择刚刚下载好的smalidea这个插件,然后重启生效
-
第二步:导入smali工程(和导入android工程一样) , file → new → import Project 选择刚刚导出来的smali项目
3:将AndroidStudio运行模式设置为远程调试模式
-
打开Edit Configurations…
-
在出现的界面,点击左上角的“+”,在出现的下拉列表中再点击“Remote”
-
设置远程调试的名称和监听远程的端口→将远程名称设置为“8700” ,Name可以设置也可以不设置
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是不是出现了进程名,如下图
3.2:在ADM里面选中需要调试的进程名
3.3:在开始打开smali工程的AS里面点击debug的图标
3.4:这时候ADM会出现一个小瓢虫,说明正常的debug了
3.5:smali工程就可以断点调试了,如果程序走到这里就会断住
收工
最后
以上就是勤劳枕头为你收集整理的Android逆向-动态调试release-apk介绍开发工具开始收工的全部内容,希望文章能够帮你解决Android逆向-动态调试release-apk介绍开发工具开始收工所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复