«

»

21 2017

折腾 VIVO Y51A 全纪录(Recovery、维修、纯净ROM、国产手机的现状)(其二)

上一篇文章,写了如何对 VIVO Y51A 进行 ROOT。操作过程非常简单,只需要不到一个小时就全部能搞定。

然而实际探索过程非常讨厌,花了一个多星期,期间还把手机变砖了一次。纯砖,既没有 Recovery 也没有 Fastboot,连充电都失效了,变成纯的 QHSUSB_BULK 设备,只能到维修中心修理。

本文就写一下大致的经历。因为时间太久了,所以很多事都不太想仔细写,毕竟都不是什么美好的回忆,都是些狗屎。

Recovery

之前也说了,第一想法便是 root,root 最标准方法就是解锁,官方封杀任何 root 渠道,解锁不可能。

但是突然发现,VIVO Y51A 这款手机,可以直接刷任何 IMAGE 进去……如果有对应的镜像文件,那么即使不解锁,也能随便刷……这TMD就没有锁!太TMD没原则了

于是面临第二个难题,没有 Custom Recovery!

Stock Recovery

原机自带的 Recovery 是完全报废的,因为不论你刷什么包,都需要经过二次证书检查。完全不知道证书问题该怎么办,官方不提供标准 ROM,所以连证书报错都不知道到底报的是什么原因。校验码签名虽然好办,但是 OEM 签名则只有 VIVO 官方能做。我也没见到过类似的证书文件,也没有标准 ROM,我甚至怀疑这个 RECOVERY 功能就是废的。因为这也是我头一次见到一款只有线刷包的手机。

IMG_20170524_015050

你要知道,线刷的风险永远要比卡刷大非常非常多!

卡刷最惨的情况就是数据区损坏,但永远不会影响 bootloader,可以用 Fastboot 救回来,非常容易。

而线刷如果出了问题,那么包括bootloader在内的手机硬件都会受损,手机就会变成真砖,接电脑没反应,也不能充电。修复方法就只有靠厂家的量产工具重新刷主板。

Custom Recovery

最知名的 Custom Recovery,当属 TWRP,而TWRP的官网上 没有 VIVO 品牌的任何一款手机,看来品牌臭名昭著到国外了,被世界鄙视。

在 xda-developers 也搜了非常久,没有任何有用资料。

也就是说目前没有任何一个人为 VIVO Y51A 这款手机制作过 Custom Recovery。

既然没有人做过,那我就自己做。

TWRP 是开源的,CPU 又都是高通的,所以做一个可运行的 Custom Recovery 倒是不难。

IMG_20170525_191227

问题在于,无法正确显示……

国产手机不识数的问题我不是第一次遇到了。厂家在底层乱改配置文件,以伪造前台的分辨率识别,导致系统无法正确显示的问题。

我第一次见到这个问题是在华为的手机上,当时是为了做一个微信页面的浮动特效,需要知道屏幕的宽度高度,并根据数据来计算出显示效果,多数手机效果都是好的,但华为的数据全部都是错的。

这也是为什么相同的内容,相同的浏览器,却在不同安卓手机上显示不一样,在安卓上做开发,即使是本来无平台限制的 WEB 开发,也是非常麻烦的。

然而这时就遇到另一个问题了,不仅屏幕分辨率不对,连闪存分区表也不对。在不同操作系统上,分区表也是不一样的,直接套用了官方 Recovery 的分区表文件,然而并没有正常工作。机器的分区表很快就变砖了。


 

变砖

设备分区表受损,直接导致设备变成了高通通用硬件 QHSUSB_BULK。没有 Fastboot,接上电脑或充电器也无法充电,完全变砖。

使用国内软件尝试救砖

我还天真的以为国内会有什么软件能从这个状态下救砖,我还下了个名叫奇兔线刷大师的破软件。

结果这破软件不仅不能正确识别手机型号,还尝试下载并刷入另一个机型的ROM。

snap1256

直接将本地ROM导入,还期望着有什么奇迹会发生……

snap1255

结果等了几十分钟,跳出来让我进入 FASTBOOT 的提示……

snap1258

他妈的如果能进 FASTBOOT 我就可以直接刷进去了,为什么还要你这破软件?

QHSUSB_BULK

QHSUSB_BULK 是高通通用方案的叫法。高通像手机厂家卖方案,这个方案包括天线、芯片、系统驱动等很多非常核心的硬件和软件,国内这些手机厂家再根据高通提供的这些几乎是完成品的东西,在上面套一层定制系统,接上外壳和一些诸如话筒或摄像头的零件,就成为了手机了。说得直白点,满大街的手机,硬件大部分都是高通的,高通收大钱,国内厂家就是花大钱买个方案,再花钱把活扔给富士康之类的生产线。国内厂家除了瞎改点开源的系统,从第三方进口摄像头和其他硬件之外,什么都做不了。可以说,毫无任何竞争力可言!

砖到 QHSUSB_BULK 这个地步,并不是无药可救的。国内虽然没有技术资料,但国外的资料还是比较全的,对应的驱动和救砖方式都比较多。有些比较成熟的方案甚至异常的简单,因为高通的核心方案也并不是很多,硬件很固定,几乎只要把所需的文件都准备好,点个确定,就能搞定。

多数文件,包括CPU、天线等数据都能搞定,只要能让系统初始化,之后靠线刷包,就可以强行刷入bootloader,之后就可以启动fastboot,之后什么都能解决了。

然而立刻卡在一个非常棘手的文件上了:分区表。没错,需要 emmc 的分区表。本身核心问题就发生在 emmc 上,就是因为 emmc 中的引导数据受损才出的这个问题。然而这个文件,可以肯定地说,只有 VIVO 才会有,而且可能只有系统开发者和工厂才会有,包括客服和维修的人都不可能有这个文件。能从其他地方得到这个文件的可能性,就是从相同的已 root 机器上通过 Shell 提取数据,再在 Android Studio 或类似开发环境上生成这个文件了,我可不相信这个手机的用户,在世上还有比我更有耐心和技术来折腾这个破手机的。

自己救砖的可能性立刻归零了。


 

送修

海淀售后

当晚预约了 VIVO 在海淀区的售后维修。第二天坐了将近两个小时的地铁。客服折腾了半个多小时后,认为是主板问题,需要换主板,然而维修点并没有这款手机的备件。

IMG_20170526_105334

(给员工打个码)

客服提出了两个方案,一是我把手机放在服务网点,从厂家调配元件,修好后我还要自己亲自过去去取,不支持邮寄。你说我能乐意么,来回光是路上就得4个小时,我还得再折腾一天?

第二个方案是他们联系北京的其他服务网点,确定哪个网店有元件,我当天直接去网店进行维修。最终确认了朝阳大悦城的网店和公益西桥的网店都有。朝阳大悦城一听名字就知道人多,我直接去了公益西桥。

丰台售后

公益西桥的网点倒是不难找,但是当时差不多下午一点了,我也没想到会折腾这么久,以为一上午就能解决,所以早饭都没吃。到了那里首先先解决午饭。

本来那里吃饭的地方挺多的,然而那个大商场是乐天的,你知道的。大商场入口贴着明显的消防封条,连带着所有内部餐饮以及周围餐饮全部都嗝屁了,底商包括吉野家在内的餐饮商户也全关门。走了好远最后只能吃嘉和一品。

IMG_20170526_141429

吃完了就想上厕所……嘉和一品是开在一个商场内的,看指示牌,厕所的位置在……商场办公区另一次……你想一个外人穿过一个大办公区,两边都是工位,还不一定能找得到另一侧的出口……

那就去售后的办公楼吧。嘛本以为既然是办公楼,公共卫生间总该有的……我真是太天真了。到楼里一看,全部都是非常标准的商住两用一居室。

里面很多小公司,还有很多培训班,还有很多房间在装修或待出租。大门开着,入口都放着一台滚筒洗衣机(啥)……但是就是没有公共厕所……算了。

IMG_20170526_133000

来公益西桥网点的用户量和海淀的差不多。与工作人员说明情况后,直接换了主板,搞定,非常快。

临走时发现,网店门口就是卫生间,但不是公共的……算了,不如去地铁站了。

留不住的意外收获:纯净 ROM

回到家之后检查手机,发现系统版本是 4.15.0,比之前 OTA 的版本还要高。

然而最令我惊讶的是,系统极为纯净!没有任何预装垃圾软件!

是的,系统非常干净,除了 VIVO 官方服务软件之外,没有 360、没有百度、没有今日头条,系统特别的干净,没有预装任何垃圾软件!

奇迹啊!

仔细想想,VIVO 官网上的 ROM 虽然版本不对,但是仍然包含不可卸载的预装垃圾软件,网上流传的售后 ROM 也包含不可卸载的预装垃圾软件,但从真正的 VIVO 客户服务中心这里,就有 纯净的 ROM

也就是说纯净的官方 ROM 是存在的,然而用户却永远获取不到……

我甚至想把这个 ROM DUMP出来。然而非常令人失望的是,想要 DUMP ROM 的话,需要获取读取 存储设备 权限,这个权限要求非常高,不仅要在 root之后,由于系统是基于 Android 5.1.1 的,还需要过 SELinux权限。

尝试获得纯净 ROM

我还曾妄想过从官网提取纯净 ROM 来着。因为手机是支持在线升级的,而如果我刷了 3.8.1 之后,在线升级功能就会被恶意阉割掉,所以要做就趁现在。

根据这些毫无安全意识的厂家而言,升级肯定使用的 HTTP,这个时候直接在链路上抓包就 OK 了。

能看到发了一个HTTP请求,非常的 Ugly 的 HTTP 请求。


参数特别多,带了 IMEI和emmcid(我已经打码了)。

服务器回应:

目前没搞明白到底回应的都是什么内容,只能确定其包含了版本更新内容以及链接。

伪造请求,做了一下劫持:


抠了一个包下来

很显然这是一个增量包,而不是完整版,没有什么意义。

看来,想获得纯净版 ROM,是没戏了……


 

国产手机的现状

社区

最初接触红米的时候,小米的社区还算干净,不像现在,只有水军和机器人。其他品牌更是糟糕,根本无法搬上台面。

像 VIVO 自己的社区,即使官方内容,也是驴唇不对马嘴。

snap1297

没看到……

snap1298

第三方社区,则是垃圾网站则大行其道,比如这个名为安致网的网站,乍一看内容很多,但点进去发现多数内容都是关键字替换,根本没法使用。

snap1211

snap1212

把三星和小米的文章粘贴到一块,之后把关键字替换成了Y51A。

厂家

国内厂家永远想的是:如何榨干用户价值,而不是:如何提升品牌价值。

苹果手机没有预装任何垃圾,但不仅卖的贵,软件环境还纯封闭,个人开发者还要交会费才能掺一脚。这还是世界上最好的智能手机……

索尼旗舰手机卖的比苹果普通货还要贵,但系统非常干净(据称还是有百度啥的,但不是全家桶,可以完全禁用),而且索尼的硬件都非常拼命,防水,960fps慢拍,4K录影,很多技术即使是一般相机也是要吓尿裤子的。

国外的其他厂家我不知道,三星和HTC这几年混得都不好,品牌做的更像老年机;NEXUS则一直被谷歌当做 DEMO 玩具;摩托罗拉被收购后已经被整死了;LG和夏普一直只做零件供应而一直不自己推主机;诺基亚……

再看看国内手机,华为照片作假、存储作假、抽奖作假、宣传作假,而且还做到了官商勾结;小米已经把曾经(红米1之前)的优势抛之脑后,现在除了性价比,什么都不剩;锤子只有根本不存在的情怀……剩下的,僵尸水军已经覆盖中文全网。

顺带说一句,预装软件真的很赚钱啊!

snap1269

snap1443

在此也希望大家在不了解 ROM 包中每个文件的意义之前,不要随便刷 ROM。

12 comments

Skip to comment form

  1. 大致

    “他妈的如果能进 FASTBOOT 我就可以直接刷进去了,为什么还要你这破软件?”
    笑死我了。
    我没想到中华万年历也是这样,回头就把它卸载掉!

  2. youbei

    国产手机必须换系统,不然没法用。但是固件驱动难搞,而且又不能花那么多时间在这破手机上。所以直接买个预装GOOGEL全家桶的洋货最好,但是进口关税又那么贵。淘宝水货能便宜点,但是售后问题大。

  3. 灰狼

    这篇文章,让我看到了希望。之前的酷派手机,就是被我刷系统刷挂了。刷个小米系统后,屏幕全黑

    1. 石樱灯笼

      你咋从充满绝望的文章里看出希望的。折腾没有支持的机器实在太烦了,要不是旧手机实在太慢,每次扫码结账光是等APP打开就得两分钟实在太尴尬,不然我也不会轻易换手机的。
      还有你的评论怎么被Akismet当做垃圾评论了……感觉Akismet有问题,放跑了不少垃圾评论,正常评论却被当成垃圾。

      1. 灰狼

        我之前就折腾到没脾气,看到你这样都可以折腾成功,我想我应该也可以成功的。
        这个评论是我用手机,连着移动网络提交,当时好像提交了,但却没显示,我还以为是网络不好导致。。

        1. 石樱灯笼

          我能折腾成功是因为我之前已经折腾过三款不同的手机,可以说经验丰富了。而且本身计划内的东西几乎都没有完成,没有开源且安全的ROM,也没有官方的ROM,现在也算是顶着巨大风险在用野生ROM。
          APP层面的安全隐患如果被植入到了系统应用,或者系统内部有用C写的.so等lib库有病毒木马的话,是没有办法解决的。
          我早就有折腾到把手机顺窗户撇出去的想法了,这个手机本来是别人送的,我给毁了就不好了。之前有个亲戚没手机,我还想送人呢。

  4. xiozf

    哈哈哈,我也折腾砖了,aboot分区手贱刷了其它vivo的文件,然后就over了。还以为去售后能刷机刷回来,看来要换主板才行?请问lz花了多少大洋,可否告知?我的已经过保修了。

    1. 石樱灯笼

      按道理其实刷机可以刷好,不过量产文件只有生产厂有,所以售后没办法刷。我猜估计也没那个技术。安卓的方案不像其它开发机需要焊跳线,直接就能用专用工具线刷,高通的刷机工具满地都是。
      我是在保修期内的,所以没花钱。
      我觉得如果花钱修的话,不如买一台其他型号的,这破玩意一千块钱都不值,根本不值得修。

      1. xiozf

        我也这么觉得,这手机亲戚送的,我拿来当备用机。想想也是,主板价格肯定高出我的心理预期,售后如果能刷就刷来用,硬称要换主板这手机还是不要了。
        现在能搜到一坨的“vivo步步高售后资料下载”,解压后看了下,里面分区表等Rom文件貌似是齐全的,虽然知道会植入广告什么的,不过为了救砖也顾不上那么多,总要先能开机了才能继续折腾。问题是我的机子接上电脑后没有任何显示,设备管理器里完全找不到任何端口,那些工具没有用武之地。

        1. 石樱灯笼

          售后资料下载里并没有 scatter file 或 prog_emmc_firehose 等相关文件啊,哪里齐全了?
          接上电脑没有显示是正常的,要从QHSUSB_BULK开始刷,工具可以用 UFI Android ToolBox 或者类似工具。

          1. xiozf

            有的,解压后有个文件夹“PD1510_A_2.11.5”,2.29GB,里面有“prog_emmc_firehose_8916.mbn”。
            电脑没显示是正常的?我看其它教程,都有提示未知设备,安装相应驱动后识别出QHSUSB_BULK,然后开始相关操作啊。我这里没QHSUSB_BULK,进行不下去。
            有关键字么?我去搜搜相关教程。非常感谢。

            1. 石樱灯笼

              这个是类似的教程:可以供参考
              需要关键的三个核心文件:
              – prog_emmc_firehose
              – rawprogram0.xml
              – patch0.xml
              第一个文件在ROM包里已经有了,是bootloader。剩下两个很难找,因为不是通用的,必须找Y51A对应硬件的才行,这两个文件是负责emmc的分区和硬件信息。只要这三个文件刷进手机,手机就可以进入fastboot,之后就可以线刷了。
              识别不出QHSUSB_BULK可能是因为电池没电了,因为充电模块也是软件驱动的,机器变砖后无法开机到充电模式,所以充不了电。把电池拆下来用万能充充一下试试,反正你的已经过了保修了,死马当活马医吧,不过风险自负。

              如果这样也识别不了QHSUSB_BULK的话,把emmc焊下来,接到一个SD卡卡托上,直接用rawprogram0.xml的信息在PC上进行分区。当然如果有量产工具的话还可以直接在机器上焊跳线用串口直接刷,不过我没有相关资料。

发表评论

电子邮件地址不会被公开。 必填项已用*标注