100天精通Andriod逆向——第3天:真机环境配置
Posted Amo Xiang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了100天精通Andriod逆向——第3天:真机环境配置相关的知识,希望对你有一定的参考价值。
目录
安卓是基于 Linux 内核的一个移动操作系统。在 Linux 这种 Unix 系统中,通常都有两种账户,一个是普通用户,一个是 root用户。 一般来说我们在安卓手机上都是普通用户。因为市面上的 App 良莠不齐,出于安全的考虑,只有开发者才会去获取整个操作系统的更改权限,普通用户是没有高级权限的。
对于我们而言,为了进行 App逆向和协议分析,获取整个安卓设备的权限是至关重要的。不论是 Frida,Xposed 还是 Cydia Substrate 这类应用,都需要开发者能完全控制自己的文件系统,所以本节我们一起来学习安卓刷机与 Root。
一、真机环境配置(刷机基础教程)
1.1 刷机方式的分类
线刷:插USB线,刷的比较彻底,可以刷bootloader、radio
卡刷:将安装包弄到手机sd卡中,刷完后需要双清、三清、四清等
1.2 刷机包的分类
根据刷机方式的不同,将刷机包分为两大类:
- 线刷包/工厂镜像包(本文采用这种)
- 卡刷包/OTA全量包/OTA增量包
1.3 谷歌手机工厂镜像
下载地址:https://developers.google.com/android/images
注意:“sailfish” for Pixel 能刷的版本,是由 Version 决定,如果在 Version 下没有找对应版本,则表示该机是刷不了此系统的
等待下载完成即可,如下图所示:
如果不能下载的小伙伴,我已经将其放入百度网盘中,凭下面的链接可以直接从网盘中进行下载:
链接:https://pan.baidu.com/s/1z2yWdfOaxZe7NXghXkSIjw
提取码:bsf7
--来自百度网盘超级会员V8的分享
1.4 简单配置
手机通过 USB 连接电脑,需要用到 adb,刷机包通过线刷刷入手机,需要用到 fastboot,这俩个东西在安卓 SDK 中自带,路径为 SDK\\platform-tools 添加到系统环境变量即可,可以参考文章:https://blog.csdn.net/xw1680/article/details/126117653
https://blog.csdn.net/xw1680/article/details/126130893
开启开发者选项: 选择 设置 --> 关于手机 --> 版本号
,连续点击版本号开启 开发者模式(具体需要点击几次,系统是会有提示的)
如果是英文系统,大佬自行解决。
开启USB调试: 选择 设置 --> 系统 --> 高级--> 开发者选项
,开启 USB 调试
,老规矩,如果是英文系统,请通过百度或者谷歌自行翻译。
通过数据线将手机连接至电脑,手机端会弹出 USB 调试申请,允许即可,开启成功的标志,cmd 中输入 adb devices,如下图所示:
1.5 进入 Bootloader 模式
进入 Bootloader 默认有两种方式,如下:
- 关机状态下
按住音量减少键 + 电源键
使用这种方式不用开启开发者选项以及 USB 调试
- 开机状态下,在 cmd 中通过 adb 命令进入 adb reboot bootloader,可以用 fastboot devices(如果没有安装驱动,执行该命令啥都没有) 来验证是否成功,如下图所示表示解锁是成功的:
备注:要想刷机首先要 Bootloader 解锁,而要 Bootloader 解锁,又要先开启 oem 解锁。不过,如果我的手机是某宝买的二手机,一代不分都是已经解 BL 锁了的。所以我这里直接跳过 oem 解锁与 Bootloader 解锁,有需要的朋友可以百度,我这里简单写下过程把,不一定保证能解锁成功(因为我没试过):
- 手机先退出谷歌账号,取消锁屏,指纹识别等
- 从手机设备中取出 sim 卡
- 开启开发者选项
- 开启 USB 调试
- 开启 oem 解锁(这个选项也在开发者选项中,但是需要科学上网)
- 手机连接至电脑,进入 Bootloader 模式(进入方式在上文有给出哈)
- 在 cmd 中输入 fastboot oem unlock 或者 fastboot flashing unlock
- Bootloader 解锁界面中,用音量键
+/-
控制光标,选择【Yes】并按下电源键进行 Bootloader 解锁 - 确认完毕后,稍作等待。通过 fastboot reboot 命令重启手机
成功解锁 Bootloader 后,每次手机启动时,都会出现黑底白字的英文警告页,提示 Your device software can’t be checked for corruption. Please lock the bootloader
。这仅仅提示你 Bootloader 被解锁了,忽视即可。
1.6 安装谷歌驱动
在 Windows 设备管理器中查看 USB 连接的手机,如下图所示:
选好了之后,直接单击 下一页
,如下图所示:
控制台再次输入命令 fastboot devices 的时候,如下图所示(奇迹出现了):
1.7 刷机详解
将 1.3 谷歌手机工厂镜像 中下载后的刷机包解压,刷机包的组成如下图所示:
很明显我们进入的 bootloader 需要这玩意。bootloader-sailfish-8996-012001-1908071822.img
基带,image-sailfish-qp1a.191005.007.a3.zip
是安卓系统,有了前面的步骤的铺垫,刷机非常简单了。进入 bootloader,Windows 系统双击 flash-all.bat,Linux、mac 系统运行 flash-all.sh 即可,我在上述的步骤中已经进入了 bootloader,并且我是 Windows,所以我直接双击 flash-all.bat,如下图所示:
耐心等待几分钟即可,刷机完成如下图所示:
zip 压缩包中的 img 镜像有很多,其实有一些并不是必须要刷的,如果你编译过安卓系统就知道了 (以前大三的时候真的该好好学 Andriod 的,这里说明了一个道理,有备无患,不要觉得你所学习的知识没用,说不定未来的哪一天就能派上用场呢呢!)。同样的我们在魔改系统的时候,可以只单独刷其中几个修改过的 img 镜像。刷机相关命令:
adb reboot bootloader
fastboot flash boot boot.img
fastboot flash recovery recovery.img
fastboot flash system system.img
fastboot flash bootloader bootloader.img
fastboot boot <recovery_filename>.img
注意:分开刷,要注意各分区镜像是否兼容。 刷机完成之后,按照上述方法进入开发者模式并且开启 USB 调试。
二、真机环境配置(root)
从 https://github.com/topjohnwu/Magisk/releases 下载软件包,如下图所示:
百度网盘下载地址:
链接:https://pan.baidu.com/s/1mn51I3_8swEE5Lt_0ExUsg
提取码:dlag
--来自百度网盘超级会员V8的分享
使用 adb 安装 Magisk-v25.2.apk,如下图所示:
安装成功,在手机端查看,如下图所示:
单击 Magisk 图标打开软件,并点击安装(弹出框选择允许),如下图所示:
将之前下载好的刷机包中的 image-sailfish-qp1a.191005.007.a3.zip
里面的 boot.img
拖到桌面,如下图所示:
将桌面的 boot.img
推送到手机的 sd 卡种,如下图所示:
命令:adb push C:\\Users\\AmoXiang\\Desktop\\boot.img /sdcard/
推送完成之后,手机中查看,如下图所示:
拖出文件到桌面,如下图所示:
命令:adb pull /sdcard/Download/magisk_patched-25200_z3qMB.img
桌面查看,如下图所示:
手机再次进入 Bootloader 模式:adb reboot bootloader、fastboot devices、fastboot flash boot C:\\Users\\AmoXiang\\Desktop\\magisk_patched-25200_z3qMB.img,如下图所示:
然后重启手机即可。单击打开 Magisk 软件,如下所示:
控制台测试,如下图所示:
三、真机环境配置(其他)
3.1 调整时间
修改 boot 刷机以后,在设置里在调整下时间。时间不对,访问网络会出问题。目前时间,如下图所示:
连接 Wifi,访问百度,出现错误,如下图所示:
修正时间,如下图所示:
重新访问百度,如下图所示:
可以看到,修正时间之后,我们是可以正常上网了。
3.2 关闭 wifi 信号上的×
7.0 系统以后连接 wifi 会出现一个 ×(还老是说我连接受限), 这是由于原生安卓系统验证 wifi 是否有效,是去访问谷歌的服务器来进行判断的,如下图所示:
运行命令:adb shell settings put global captive_portal_mode 0,紧接着开启飞行模式,再关闭飞行模式即可解决!如下图所示:
3.3 停用设置向导
设置:
应用和通知:
查看全部 28 个应用:
显示系统程序:
Andriod 设置向导:
停用:
停用应用:
感谢您阅读本篇博文,希望本文能成为您编程路上的领航者。祝您阅读愉快!本专栏所有文章仅用于安全技术学习和探讨,不允许任何人利用技术进行违法违规操作。
好书不厌读百回,熟读课思子自知。而我想要成为全场最靓的仔,就必须坚持通过学习来获取更多知识,用知识改变命运,用博客见证成长,用行动证明我在努力。
如果我的博客对你有帮助、如果你喜欢我的博客内容,请点赞
、评论
、收藏
一键三连哦!听说点赞的人运气不会太差,每一天都会元气满满呦!如果实在要白嫖的话,那祝你开心每一天,欢迎常来我博客看看。
编码不易,大家的支持就是我坚持下去的动力。点赞后不要忘了关注
我哦!
以上是关于100天精通Andriod逆向——第3天:真机环境配置的主要内容,如果未能解决你的问题,请参考以下文章
100天精通Andriod逆向——第5天:app逆向流程简介
100天精通Andriod逆向——第5天:app逆向流程简介
100天精通Andriod逆向——第1天:ADB原理及其常用命令
100天精通Andriod逆向——第6天:Andriod 开发入门