一、使用Hitool打包固件
接上一篇,尝试使用HITOOL打包固件
参考ZNDS HItool备份固件:【玩机必看】海思机顶盒备份线刷包 制作分区表xml文件_ZNDS刷机/救砖_ZNDS
HITOOL下载:https://cloud.189.cn/web/share?code=rU3aEzji2quq(访问码:lid3)
首先用HITOOL 打包未修改(仅使用工具解包),看看前后固件是否有大的变化,来验证HITOOL打包是否靠谱。
我先加载了部分文件验证下,也方便做对比分析
查看fastboot文件大小是999424字节对应16进制就是F4000,很可能打包头部信息记录了分区的文件大小,文件地址、烧录地址,这样才能将固件中国取出对应分区文件并写到EMMC对应地址上。
继续看看下个文件是否也有此信息,可以看到bootargs同样符合
我们验证下0F419C这个地址偏移8个字节是不是第二个分区(bootargs)的文件内容
可以看到这个地址就是bootargs,第二个分区并没有紧接着第一个分区存放,这也解释了为什么上篇博客读取固件前2M,后面部分是recovery文件,而不是bootargs
到此基本证明HItool打包固件是可靠的,开始打个完整包验证下
二、正式开始打包完整固件
注意misc前面的开始地址需要手动调整下,看bootargs misc前有两个分区,但是解包没这两个文件的。可能因为这两个分区文件不需要烧录
打包得到新的固件,对比下头部信息,发现略微差异,这个差异是system的,看起来是新打包的将system分割了(可能是工具判断文件大小自己调整的)
system烧录起始地址0E500000,大小为2F645F2C,分割后第一部分1E000000,第二部分起始地址
2C500000 == 0E500000 + 1E000000
第二部分大小11645F2C,加上第一部分的1E00000 刚好等于2F645F2C
文件在固件中存放地址035E9B93加上第一部分大小也刚好是215E9B93再偏移8个字节就是
215E9B9B
说一下偏移8个字节的含义,前4个字节是这个分区文件大小比如第一个fastboot分区大小是0F4000
第二个分区bootargs分区文件大小100000
后四个字节估计是校验和之类的,所以实际分区内容需要安照这个地址偏移8个字节。打包的时候这8个字节是自动填充的
看起来分割后,也是连续的,应该没什么问题。
对比重新打包后header信息
可以看到因为打包工具将system分割为2部分,上面也说了地址是连续的,应该没问题。再深入研究下。system之前分区文件的起始地址都比原始文件偏移0x20字节,这是因为header多了两行,也就是记录system第二段的存放地址和大小。system之后分区偏移了0x28字节,这是因为新增一个system数据段,也需要8个字节存放大小和校验和。这一切都能完美对应,打包绝对没问题,开整。
补充Header信息解释
精简APP列表:
rm -rf com.egame.tv/
rm -rf com.qiyi.tv.changhongappstore/
rm -rf huan.tv.strongtv/
rm -rf UpdateLocalSystem/
rm -rf UpgradeSystemUI/
rm -rf UserLoginManager/
rm -rf com.tencent.qqmusictv/
rm -rf com.changhong.chhongbaofortv/
rm -rf CHAppUpgrade/
rm -rf com.changhong.ipptv
rm -rf com.changhong.chchoujiangfortv
rm -rf Lexue_CHIQ
55D3P(ZLH74GiR2G) 基于官方upgrade_ZLH74GiR2G_V1.00099.bin开启usbdebug删除部分系统APK,重新打包固件下载地址:
官方救砖包:
链接: https://pan.baidu.com/s/10xtnlkgzzjieIOJlp2fSxw?pwd=w2dh 提取码: w2dh 复制这段内容后打开百度网盘手机App,操作更方便哦
修改固件只修改boot和是system,即使无法开机也可以用官方救砖包刷回来!
但一定要确认好自己的机芯,机芯不一致会导致变砖!!!