小米6x刷机及配置基础安卓逆向环境
start
虽说模拟器有诸多好处,还有快照这种方便的东西,但果然安卓逆向还是得用物理机。模拟器上调试各种报错和虚拟化检测,处理起来真是麻烦不少。
很可惜我的物理机经常因为调试或修改系统文件而成砖,recovery备份文件都救不回来的那种,所以常常需要刷机。网上通常只有刷机而没有配置逆向环境的教程,文章也较为零散,没啥关联性。所以也算是给自己做个参考,我打算完整记录一次刷机流程。
本文所用设备
1.小米6x(已解锁bootloader)
2.能传数据的TYPE-C线
3.装有完整驱动的电脑
刷机前置条件
手机解锁(仅针对小/红米手机)
我的设备>>全部参数与信息
点击右下角的MIUI版本7次,进入开发者模式
更多设置>>开发者模式>>设备解锁状态
绑定账号和设备,等待一个星期
然后使用miflash_unlock工具进行解锁
http://miuirom.xiaomi.com/rom/u1106245679/7.6.602.42/miflash_unlock_7.6.602.42.zip
(注意提前备份好相关数据)
另外一提,,miflash自带的"miusbdriver.exe"挺好用的,有一些关键的驱动可以通过它直接安装,没必要再去手动寻找安装野路子的驱动了。
显示解锁完毕后,手机的bootloader也就解锁了
刷入第三方REC
法1
先在twrp官网上下载设备对应的twrp的zip和img文件
将设备重启至fastboot模式,然后执行fastboot boot {twrp.img的路径}
然后执行“fastboot reboot”,进入rce界面。
adb将rce的zip包传入,然后在rce上选择install该zip包即可
对于android7以上版本,还需要去格式化data文件夹。然后就可以正常重启至RCE了。
法2
我包中的一键脚本工具()
刷入卡刷包
需要找找看手机版本所支持的线刷包,比如我这里使用了pixel
导入前需要清除所有数据,包括data
然后adb传入卡刷包(注意应刷入zip包,我这里传错了)
记得安装完后清除一下cache
至此,重启系统成功后,算是刷机完成了。
刷入面具
配置逆向环境,没有面具和框架那怎么行?
这里我选择magisk-delta,毕竟zygisk和magiskhide共存还是很香的,而且可以根据个人需求选择是否刷入shamiko模块。
首先是完成一些基础配置
到"关于手机"中,点7下版本号进入开发者模式
系统>>开发者选项
按需打开,一些必要功能得有
adb安装magisk-delta
可以按需看看是否需要debug版本——返回信息会更详细,功能多,但是相对会更不稳定。
adb上传卡刷包中的boot.img文件
在面具中修补boot文件
注意查看路径,将修补好的boot文件提取出来,然后重启至fastboot状态
刷入boot,然后重启
修复环境
这样子显示就算是安装成功了
记得开启zygisk和magiskhide(暂时先黑名单模式,工具装完后调成白名单)
安装模块
这里仅安装一些必需的模块
首先导入包
(因为我用了magiskhide,所以就不装shamiko了)
安装模块
重启后模块就可以生效了。
解决“adbd cannot run as root in production builds”问题
虽然我们可以通过adb shell进入后用su获得root权限,但是失去root权限的adb本身在操作上很受限制,比如无法直接读写某个目录、调试时报错等,所以有必要解决这个问题。
我的方法是使用"MagiskHide Props Config"模块
进入adb shell,输入props
输入5,n,ro.debuggable
输入y,1,y,n
输入ro.secure,y,0,y,y
成功
注意,该方法不一定对所有机型都有效,还是得多尝试。
安装调试工具
这种根据自己习惯来。我的工具主要是这些:
逐个安装,再将其在LSP框架中激活便全部完毕了
总结
其实这套流程不是很完善,因为就搭建逆向环境而言,有些工具如termux、frida等是可以完全提升逆向体验的。但是对其的配置可以说要花上成倍于本文的篇幅,所以有兴趣的师傅可以另行搜索教程,我这里只不过是撘个地基罢了。