介绍
本帖主要讲解动态调试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介绍开发工具开始收工内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复