关于小米MiFlash新款机型9008线刷与救黑砖需要售后账号权限
参考文档

https://www.52pojie.cn/thread-1143511-1-1.html
https://www.52pojie.cn/thread-1194795-1-1.html
https://www.52pojie.cn/thread-1204527-1-1.html



分隔线一

一 、小米机型线刷有几种?

  有两种方式。1、 fastboot模式也就是通常所说的兔子模式.
2 、 短接9008模式线刷
二 、怎么才可以线刷。那种线刷方式比较好?
1、一般不需要线刷,但降级版本推荐兔子模式线刷降级较好。
2、9008模式一般用作深度修复分区表和救砖使用。
三.哪种情况需要9008刷机解决?  答: 刷错rom导致的黑砖、卡米,不管怎么操作手机都是黑屏状态,或者无线重启进不去rec和fastboot模式。有的可能链接电脑会出现9008端口,有的没有反应,个别需要拆机短接主板进入9008端口进行相应操作.四、什么是9008授权? 答: 小米售后所谓的安全措施,只有小米授权的售后网点账号才可以对手机内存进行读写操作,普通用户账号没有9008刷写权限.而且最新措施是开启了查找手机功能的机型。必须要云端关闭这个查找才能授权读写操作 。五、为什么有的机型9008可以直接刷,有的需要登录账号?答 :小米机型从小米6开始基本高版本固件9008线刷都需要售后账号授权才可以刷入。个别机型有免授权资源。可以参考我主页相关帖子,
米6低版本9008直接刷。
米6x有个别免授权,
红米note5有个别免授权,
红米note7有个别免授权。
米8青春版有个别免授权。
平板4与4p有个别免授权。
红米s2个别免授权。
小米max3 免授权。
其他后续机型暂时都需要授权账号9008才可以刷写进系统
六、黑砖机型怎么办?
答:万一刷错rom或者其他操作导致的黑砖机型。在保修建议直接售后解决,过保也建议先咨询售后,我遇到个别的网友,过保机售后也可免费授权刷写的。实在遇到那种明明就是刷机导致的黑砖。售后确要换板来解决的网友。建议找渠道授权刷写尝试,售后的换板解释其中道理各位应该懂得,七、关于个别机型免授权资源说明?
答:前面所述的几个机型有几率免授权
八、如何刷写rom注意防止黑砖?
答: 网友刷写第三方rom,一定要看清楚型号。尤其是k20与 k20p,k30版本、几个note与pro版本区分开。另外就是刷写rom对应机型版本,安卓8  9  10跨版本操作和各自rom对应rec版本操作。


               

分隔线二

小米最新机型都对【9008】进行了加锁,即线刷只能fastboot线刷,无法使用【9008】线刷。以后的新机型肯定会继续对【9008】加锁的,这对玩机来说,是一个非常困难事儿了。必须解之。。。。不然以后新机型都没得玩了。经过我多日的研究,很大概率,不敢说100%,但是有99%的把握认为是小米对线刷包中的【prog_ufs_firehose_sdm855_ddr.elf】文件(是个二进制文件,9008线刷就是靠它)进行了加密。miflash进行【9008】线刷,其实本质就是调用高通的驱动。高通线刷工具叫【qpst】,百度都可以下载。

我先说说其大概的工作原理:
电脑会把这个【prog_ufs_firehose_sdm855_ddr.elf】文件下载到手机,
通过此文件来把线刷包中的所有文件按照各个xml的配置代码,依次写入手机中。
小米对【9008】加密,其实就是把【prog_ufs_firehose_sdm855_ddr.elf】给加密了,导致miflash或者高通的qpst在读取这个【prog_ufs_firehose_sdm855_ddr.elf】文件时,强制报错。miflash强制报错后,就会弹出登陆框,让你登陆小米账号,如果此小米账号有【9008】权限的话,便重启线刷并走完。这就是整个刷【9008】的过程。


一般来说,【prog_ufs_firehose_sdm855_ddr.elf】只有一个签名(由高通提供),用来保护手机型号,
因为不用型号的手机【prog_ufs_firehose_sdm855_ddr.elf】文件是不能通用的,签名就在这里发挥了作用,防止其它型号的手机刷入。而小米似乎就在这个【prog_ufs_firehose_sdm855_ddr.elf】里面多加了一个小米自家的签名,用来验证你的小米账号是否具有【9008】权限的。所以,破解方式有两种。

一、破解【prog_ufs_firehose_sdm855_ddr.elf】文件中的小米自家签名认证,删除掉那段签名认证的代码,这样线刷就不会报错(弹出没有【9008】权限)了。
二、直接对miflash下手,用com口抓包工具,对正处于【9008】线刷状态的miflash进行抓包,看看miflash到底对手机com发送了神马代码(这个代码就是把线刷包中的文件写入到手机),然后捕获此代码,将其稍加修改,使其能直接用高通qpst进行线刷,而无需用miflash来线刷,这样就算没有【9008】权限的小米账号,也能直接刷。因为高通qpst工具不需要任何登陆。

目前我试着改了【prog_ufs_firehose_sdm855_ddr.elf】中验证权限的代码,发现改了之后,需要重新用高通的签名来签名elf,因此,此法不通。所以,要想破解,就只能从miflash来入手了。

以下是我破解过程中总结出来的经验,我本人能力有限,分享出来,希望有能力更强的大佬,大家一起战斗。


IDA_Pro_v7.0(百度下载)反编译【prog_ufs_firehose_sdm855_ddr.elf】文件,查看其源代码,或者直接用16进制工具(010Editor.exe)也可以查看其代码。你能在源代码中,找到这样的代码【only nop and sig】,这个就是小米自家的签名权限认证。破解它,就完事了。就是它,让我们在【9008】线刷时,弹出登录框。你用老版本的miflash没有任何用,它只是让你miflash强制报错中止线刷而已,所以高通qpst也是如此被强制报错中止。所以要用最新的miflash,最新的miflash在接收到这样的强制报错后,就会弹出登录框,登陆成功后链接服务器,判读是否具有【9008】权限,没有则提示你没有【9008】权限,然后就没有然后了。如果判断为有【9008】权限,miflash便会自动清除错误信息并开始线刷(它会从服务器就收一些数据包,用来给【prog_ufs_firehose_sdm855_ddr.elf】文件中的【only nop and sig】这个代码验证判断用)。


然后我发现修改【prog_ufs_firehose_sdm855_ddr.elf】后,需要重新使用高通的签名对其签名,不然手机的cpu不认未签名的文件,也就无法下载。所以,似乎只能从miflash入手了。从miflash入手,用记事本(其他编辑工具可能看不到)打开【XiaoMiFlash.exe】,有很多乱码,不管他直接搜索代码【f h _ l o a d e r . e x e】,这个文件其实是高通提供的,【9008】线刷就是它把线刷包中的文件写入到手机的。miflash也是调用的它来写入刷机包的。你能在记事本中找到类似于这样的代码【fh_loader.exe   –port=\\.\\COM20 –sendxml=partition.xml,patch4.xml,rawprogram4.xml   –search_path=D:\\Users\\R\\Desktop\\test   –noprompt   –showpercentagecomplete   –memoryname=UFS】看不懂?链接:【查看附录1】我就懒得一个一个解释参数的含义了。【f h _ l o a d e r . e x e】文件就是通过这样的命令将线刷包中的文件,一个一个的写入到手机磁盘的。所以,对其正处于【9008】线刷状态的miflash用com抓包工具,进行抓包,看看miflash到底发送了神马样的指令。如果成功将指令截取出来了,那么以后的【9008】强刷都无需这坑爹的miflash了,直接高通qpst线刷之,或者直接用cmd命令,依次执行这些命令,就可以完成【9008】线刷,那么,小米所谓的【9008加密,售后账号才能刷写,这就完全成为了摆设】。

以上就是我的个人经验,分享出来,希望有更多的大佬一起研究,我个人实在能力有限。。。。

【9008】线刷走向:
通过【QSaharaServer.exe】文件将【prog_ufs_firehose_sdm855_ddr.elf】文件下载到手机,再通过【fh_loader.exe】文件,执行刷写命令,把线刷包中的所有文件依次一个一个的写入手机磁盘中。
小米【9008】加密走向:使用miflash或者高通qpst开始线刷,调用【QSaharaServer.exe】文件将【prog_ufs_firehose_sdm855_ddr.elf】文件下载到手机,再调用【fh_loader.exe】文件,执行刷写命令,执行到小米自家的签名验证代码处,强制【return eoor】,迫使线刷工具(miflash或者高通qpst)报错中止线刷,高通qpst就没有然后了,最新版本的(MiFlash2018-5-28-0)miflash接收到这个强制报错信息,调用mi目录下的【account_auth.exe】进行登陆小米账号,链接服务器判断张否权限问题,无权限就没然后了,有权限,就从服务器下载相关数据包到本地,再次以接收的数据包去执行【fh_loader.exe】文件,小米自家的签名认证就通了,接下来就是开始正常刷入手机磁盘了。。。。

分隔线三
引导下载地址:
链接:https://pan.baidu.com/s/1ue8t5Cka2Ulur9aGE98uMQ 提取码:4vxj


备用:https://www.lanzoux.com/b0ee2a5wd
密码:6t35

【查看附录1】关于如何开发类似QFIL下载工具
1.下载qpst工具,在QFIL文件夹下找到fh_loader.exe和QSaharaServer.exe文件
2.使用QSaharaServer.exe  下载firehorse代{过}{滤}理,如下:
QSaharaServer.exe –p \\.\\COM5 -s 13:C:\\images\\prog_emmc_firehose_8909.mbn
com5是diag端口号
C:\\images\\prog_emmc_firehose_8909.mbn是firehose代{过}{滤}理路径
3.开始下载升级
fh_loader.exe –port=\\.\\COM5 –erase=0 –sendxml=rawprogram_unsparse.xml –
search_path=C:\\8909images –noprompt –showpercentagecomplete –
memoryname=eMMC –reset
–erase=0代表全擦升级,也代表物理分区0擦除。例如erase=x。
–sendxml代表要用的xml文件,如果是两个xml,可以这样使用:–sendxml=rawprogram_nand_p2K_b128K.xml,patch_p2K_b128K.xml。
–search_path下载版本路径。
–noprompt 取消用户与fh_loader交互。
–showpercentagecomplete 指示下载百分率
–memoryname内存类型。
–reset 下载完成后自动重启。
以上是主要下载的可选参数,也可以不选择,例如,不全擦升级,可以如下操作fh_loader.exe –port=\\.\\COM5  –sendxml=rawprogram_unsparse.xml –
search_path=C:\\8909images –noprompt –showpercentagecomplete –
memoryname=eMMC –reset。
总结:使用QFIL下载,实质就是下载firehorse代{过}{滤}理后,通过代{过}{滤}理下载即可完成,以上只是简单说明,由于版权的说明,就补贴高通文档了,如果大家开发中遇到任何问题,欢迎大家留言。


原文转自酷安

特别感谢 @Rannki  @xueyu人生

本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。

最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。 若排除这种情况,可在对应资源底部留言,或联络我们。

对于会员专享、整站源码、程序插件、网站模板、网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。

如果您已经成功付款但是网站没有弹出成功提示,请联系站长提供付款信息为您处理

源码素材属于虚拟商品,具有可复制性,可传播性,一旦授予,不接受任何形式的退款、换货要求。请您在购买获取之前确认好 是您所需要的资源