小米MiFlash刷机免认证的方法
小米对线刷包中的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)也可以查看其代码。你能在源代码中,找到这样的代码onlynop andsig,这个就是小米自家的签名权限认证。破解它,就完事了。就是它,让我们在9008线刷时,弹出登录框。你用老版本的miflash没有任何用,它只是让你miflash强制报错中止线刷而已,所以高通qpst也是如此被强制报错中止。所以要用最新的miflash,最新的miflash在接收到这样的强制报错后,就会弹出登录框,登陆成功后服务器,判读是否具有9008权限,没有则提示你没有9008权限,然后就没有然后了。如果判断为有9008权限,miflash便会自动清除错误信息并开始线刷(它会从服务器就收一些数据包,用来给prog_ufs_firehose_sdm855_ddr.elf文件中的onlynop andsig这个代码验证判断用)。然后我发现修改prog_ufs_firehose_sdm855_ddr.elf后,需要重新使用高通的签名对其签名,不然手机的cpu不认未签名的文件,也就无法下载。所以,似乎只能从miflash入手了。从miflash入手,用记事本(其他编辑工具可能看不到)打开XiaoMiFlash.exe,有很多乱码,不管他直接搜索代码f h _ l oa d e r . e xe,这个文件其实是高通提供的,9008线刷就是它把线刷包中的文件写入到手机的。miflash也是调用的它来写入刷机包的。你能在记事本中找到类似于这样的代码fh_loader.exe –port=.COM20 –sendxml=partition.xml,patch4.xml,rawprogram4.xml –search_path=D:UsersRDesktoptest –noprompt –showpercentagecomplete –memoryname=UFS看不懂? 查看附录1 我就懒得一个一个解释参数的含义了。fh _ l o a d e r . e xe文件就是通过这样的命令将线刷包中的文件,一个一个的写入到手机磁盘的。所以,对其正处于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文件,小米自家的签名认证就通了,接下来就是开始正常刷入手机磁盘了。1.下载qpst工具,在QFIL文件夹下找到fh_loader.exe和QSaharaServer.exe文件2.使用QSaharaServer.exe下载firehorse代{过}{滤}理,如下:QSaharaServer.exe –p .COM5 -s 13:C:imagesprog_emmc_firehose_8909.mbncom5是diag端口号C:imagesprog_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代{过}{滤}理后,通过代{过}{滤}理下载即可完成。以上来自吾爱破解网友的分享,希望大家也可以相互分享一下自己的一些刷机新心得!
小米软件相关内容
-
小米助手连接不上手机解决教程
小米助手连接不上手机的原因及解决方法: 原因一、数据线问题 首先应该检查小米手机与电脑是否连接好,电脑USB接口是否正常。 原因二、未打开USB调试 必须开启USB调试模式,新版小米助手连接小米手机已经无需开启USB调试,如果连接不上,请重启手机即可...2025-09-06 -
小米wifi放大器怎么设置,小米wifi放大器使用方法
相信在我们生活当中无论是家庭还是在工作中都会安装路由器来供我们进行热点的连接,而我们不得不面临一个问题就是离路由器过远的时候会出现WIFI信号变弱的情况,那么小米公司就为了改善这个问题推出了一款设备那就是WIFI信号放大器,有了它可以极大的方便了我们...2025-06-11
发表回复
评论列表 ( 0条)