赞
踩
笔者因为想研究西安一码通小程序背后的接口,所以需要抓包。抓包就需要给手机安装证书,而且是安装【系统证书】。又因为是小米手机,无法直接把证书移动到系统目录下,因而需要刷机取得ROOT权限后方可安装系统证书,这样才能解决抓包工具显示的HTTPS的Path是UNKNOWN的问题。
通过这篇文章,可以了解这些知识:
手机USB连接电脑,手机进入FAST BOOT状态 ==》
申请解锁小米手机 =》
下载安装包(截止博客发文,小米官方解锁工具仅支持Windows) ==》
小米账号登录解锁 ==》
后续暂省略
因为小米只支持Windows来解锁手机,笔者是Mac,又因为疫情不方便借电脑,所以想到的方案是:可不可以通过虚拟机来解锁?——实践证明是可以的。
具体步骤:参考官网:
解锁官网:http://www.miui.com/unlock/index.html
BL问题:http://cache.baiducontent.com/c?m=16TW8Fw1gxSDwRFArW2bgWBrkJsty4rf6r7jdiLpd5BsSJn0OhMQhFI6Y7kLopU5yCOYJMO6U_TfYsh0y5AcU3x6M3MpdE548xxVMsFZOv6nWRhh9cuw7sSH_yDED_yVKpnQXi_8lu-40-sPiEMq3ftGXZcUXSS3SqvT5Gv2HKC1G_VDsTY3bkXpdW47-8VQnTnLMAkV3wiUQL-6KvOONiQvId78BlWcRtgFzuP2S7pI9ix3-Z6AFiRqF6fXpJUyW8r-cIAmCk0qKcJC9cd4RWWt3EU8EoDr03ZtpD3nBYzf5KUlr_ECwVkmUnI8dsFQqF1g16Dvc6VCgmh06oFwJrDzEhpMNsslF9xSiWwCo3y&p=aa63c54ad5c346fa0ab8c7710f5689&newp=8b2a970e968202ff57ee94795a41cf231610db2151d1d701298ffe0cc4241a1a1a3aecbe25251000d2c17e6d0baa4d5fe0f637763d0034f1f689df08d2ecce7e64c86677&s=cfcd208495d565ef&user=baidu&fm=sc&query=%C4%FA%B5%C4%D5%CB%BA%C5%D3%EB%C9%E8%B1%B8%B5%C4%B0%F3%B6%A8%CA%B1%BC%E4%CC%AB%B6%CC%2C%C7%EB52%B8%F6%D0%A1%CA%B1%BA%F3%D4%D9%CA%D4%2C&qid=8a1760c400009ed8&p1=5
结论:虽然过程折腾,肯定不如直接借用Windows电脑来解锁,不过“虽然浪费了不少时间”,也有别的收获。
1) 解锁工具提示“您的账号跟设备的绑定时间太短, 请 X 个小时后再试,等待期间请经常使用该设备。
详细解释请见上方的:BL问题快照链接。
2)手机和Mac连接需要一个USB- USB-TypeC接口转换头。
大家购买的时候可以买多个接口的,一步到位。
比如:接口的接口支持:HDMI、VGA、USB3.0、USB2.0等。
3)其他问题
待52h之后方能解锁操作。
之所以没选用VMware,是因为发现网上大多数建议Mac下用VirtualBox,说好用。
VirtualBox安装Windows过程不多介绍,网上内容很多。这里罗列核心流程:
下载Windows镜像(.iso) ==>
新建虚拟机 ==》
一直下一步即可(分配内存、分配空间),其他都使用默认值 ==》
指定镜像==》
启动。
注意:
1)虚拟机创建好之后需要指定镜像文件.iso,指定方式如下。
.vdi是创建虚拟机时候自动创建的,不必理会。
2) 镜像文件要正确
镜像文件有问题,会导致启动失败,直接halt住,启动后会报错:
fatal: No bootable medium found! System halted
此时,不要犹豫,不要纠结,果断更换镜像。
笔者用的是Windows镜像,正确的Windows镜像应该这样的:
cn_windows_7_ultimate_with_sp1_x64_dvd_u_677408.iso
cn_windows_10_multiple_editions_x64_dvd_6848463.iso
下载地址:https://msdn.itellyou.cn/
从官网下载的是这样的,VirtualBox安装会有问题。
#以下镜像VirtualBox启动会直接halted住。
Windows10_x64.iso
GHOST_WIN10_X86.iso
建议用Windows10,而不是Windows7。
其实,1)选定正确的Windows版本,比如Windows10(截止博客发布时间)
2)选定正确的镜像
这两步做对了,无法识别USB的问题基本就避过了很多“坑”。
根据网上观点,要想正确识别USB,需要:
1) Host机(宿主机)需要安装USB扩展包-
VirtualBox Extension Pack;
2)在【主机的端口=》USB设备】指定正确的识别设备。
3)虚拟机是否能自动安装驱动来识别对应版本的USB.
若不能,需要手动安装USB驱动。比如:Windows7是无法识别USB3.0的,
安装了低版本的USB3.0驱动,还是识别不了;安装高版本的USB3.0驱动,
又提示OS不支持。所以笔者果断更换了Windows10。Windows10会自动识别USB3.0
并且自动更新驱动,非常丝滑。
大多数人这一步都没问题。
安装好后的效果是什么呢?
可能部分人这一步有疑惑,到底该怎么配?是配一个通用的筛选器?还是配置精准的识别到的设备?(就是你插在主机的U盘、或者USB)
结论: 笔者发现直接添加一个空的筛选器没效果,需要精准的添加对应的设备。
配置如下:
如果设备识别出来了,会自动在你指定具体设备列表中展现出来:比如这里的Sansung Flash Drive——笔者的U盘。如果没有出现,那说明设备坏了,首先要确保主机能够识别这些设备,然后在看虚拟机能否同步识别到主机的设备。
特别要关注虚拟机顶部的tips提示和桌面右下角设备识别情况。
ailed to create a proxy device for the usb device. (error: VERR_PDM_NO_USB_PORTS)
1、确定端口那里指定了正确的【USB设备筛选器】
1)要明确自己的设备到底是USB2.0还是USB3.0.
上面的这个错,表明这里配置是正确的,如果没有这个错,什么动静都没有就有必要检查下。可以用个U盘先试一下。正确的情况是主机和虚拟机都能正确看到U盘(Windows10系统里,无需在主机中强制退出U盘)
2) 明确虚拟机系统版本,尽量用较新的版本
结论:最新的系统会在设备连接主机时候,虚拟机一旦检查到会自动更新驱动,省略手动下载驱动的麻烦。
所以尽量安装比较新的操作系统
笔者最开始安装的是Windows7,按照网上说的手动下载USB3.0驱动,安装后没效果,依旧无法识别。
更换思维,下载不同版本的驱动,发现新一点的USB3.0驱动在W7下无法安装,所以更换思维,把虚拟机更换为W10,设备连接后驱动就自动识别了!
详细参考此篇即可:
Virtualbox中如何实现主机与虚机(Ubuntu 14.04)之间传输文件
参考:
如何安装Virtual Box的VBox Guest Additions扩展程序
注意,这个扩展是.iso,在虚拟机里面直接打开,会发现里面直接就是可执行文件,有支持Win的exe,有支持Mac的pkg.
验证安装好了?
发现在虚拟机里面Ctrl+C 在主机里面就可以Command +V 了!
同时还发现设置==》 存储 这里之前的系统.iso被替换了。
暂无需求,就没去尝试。
如果需要,可以在网盘中直接传输文件,不也方便?
VirtualBox和Vmware类似,都是虚拟机管理软件。由此联想到了容器——Docker。Docker就是使这个过程更加快!更强!
他们要解决的问题都是快速创建一个虚拟的系统,这个系统要和宿主机隔离并且又能相互通信。我们不妨从具体的点来对比一下
维度 | 虚拟机 | Docker |
---|---|---|
隔离 | HOST和GUEST之间完全隔离,互不影响 | 类似 |
创建方式 | GUI方式,从下载镜像到创建到启动,至少10min | 非常快 docker pull imageName 启动:docker run -it --name=containerName -p 8091:8090 |
网络 | Windows虚拟机网路自动就是通的 | 待研究 |
文件共享 | 需要安装这扩展包,那扩展包之后方能互相传输文件 | docker cp a.txt containerName:/etc/a.txt |
其他 | 待发现 | 待发现 |
一句话,用Docker真的非常爽。安装MySQL、Nginx、Redis真的是分钟级的,而且迁移系统非常方便。如果没有Docker,都用传统方式安装各种软件,真是非常非常大的工作量,可以试想一下,如果是大数据,那么多集群,那么多软件,运维工作多么繁重啊。
不过,我们能从中体会到的就是这种容器一步步简化虚拟机的思想:
考虑宿主机和主机如何隔离?网络如何通信?文件如何共享?如何使这一切都变得更快!
好了,今天就分享到这吧。再会。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。