最近刷到了一個長虹55D3P海思平臺固件,很多人想問長虹55D3P海思平臺固件如何解包?今天就給大家分享一個長虹55D3P固件刷機(jī)教程。
一、長虹55D3P海思平臺固件如何解包?長虹55D3P固件刷機(jī)教程
目前網(wǎng)上還沒有長虹海思平臺智能電視的固件打包解包教程,僅有一個znds的解包,但大佬遲遲沒更新打包教程和工具。帖子中也沒講解解包的原理,對于不熟悉海思平臺的來說,感覺無從下手。
znds海思解包貼:#長虹整機(jī)廠USB升級包-海思格式bin解包工具
1.固件研究
根據(jù)工具解包出來的image看,可以知道每個image的地址和大小,這些信息來源于bootargs分區(qū)
長虹55D3P海思平臺固件如何解包.png (479.16 KB, 下載次數(shù): 2)
下載附件
保存到相冊
2024-6-20 13:59 上傳
但是這些地址并不是相對于固件包的偏移地址,無法直接用來合成固件包。 探索是否raw分區(qū)沒被壓縮,只是帶文件系統(tǒng)的分區(qū)被壓縮,如果這樣的話就可以用dd制作raw格式包,再轉(zhuǎn)稀疏格式 先拿fastboot來試試 - dd if=upgrade_ZLH74GiR2G_V1.00099.bin of=fastboot bs=1M count=2
復(fù)制代碼對比dd得到的fastboot,與工具解包的fastboot差異
長虹55D3P海思平臺固件如何解包2.png (301.42 KB, 下載次數(shù): 2)
下載附件
保存到相冊
2024-6-20 14:00 上傳
可以看到其實(shí)fastboot分區(qū)前面還有一段數(shù)據(jù),目前不清楚這是什么信息(分區(qū)表?head?)
另外讀出的2M fastboot除了有頭外,比工具解析出來的fastboot多出部分不是全0,看來raw分區(qū)也無法直接dd來合并,通過對比發(fā)現(xiàn)后面的信息也不是下一個分區(qū)bootargs的,而是recovery的
長虹55D3P海思平臺固件如何解包3.png (310.08 KB, 下載次數(shù): 2)
下載附件
保存到相冊
2024-6-20 14:01 上傳
看來使用dd來生成新的固件無望 不過dd生成固件也大致研究了下,寫在這里備忘 - dd if=/dev/zero of=firmware.bin bs=1k count=0 seek=total_size
- 注:total_size = 所有分區(qū)大小之和(可以再大一點(diǎn),不超過emmc容量即可)
- dd if=kernel of=firmware.bin bs=1k seek=offset conv=notrunc
-
- offset 為kernel的偏移地址,也就是bootargs中kernel之前所有分區(qū)大小加起來的總和
-
- dd if=system.bin of=firmware.bin bs=1k seek=offset conv=notrunc
-
- 注意:system.bin為raw格式的,不是稀疏格式的
-
- ./img2simg firmware.bin firmware_sparse_fip.bin 262144
-
- 將整個firmware轉(zhuǎn)換為稀疏格式
-
- 262144代表256K對齊,非必須,也可調(diào)整
復(fù)制代碼
2.解包
用大佬提供的解包工具可以成功解包,system可以成功掛載 - 解包出來的image是稀疏格式,需要先轉(zhuǎn)換為raw格式才能掛載
- ./simg2img 229M_1024M-system system.ext4
-
- mount -t ext4 system.ext4 mnt/
-
- ~/tools/ext4_tool/mnt#ls
- app bin build.prop etc fonts framework lib lib64 lost+found media priv-app tts usr vendor xbin
- ~/tools/ext4_tool/mnt#cd app
- ~/tools/ext4_tool/mnt#ls
- AppPermission ChanghongMisc CHPointStore com.changhong.chhongbaofortv com.tencent.qqmusictv iPPTV_agent QLive tv.huan.recognizecore webview
- AtvMain CHAppManager CHPowerEmpty com.changhong.ipptv Easysetting karaoke RdTvEntry tv.huan.screensaveralbum XiriIme
- Bluetooth CHAppUpgrade CHRecommenderSystem com.changhong.remoteassistance factory LauncherVideoPlayer rtkbtAutoPairService tv.huan.sdk.pay2
- BluetoothWizard CHFileExplorer CHThemeStore com.changhong.tvos.dtv HiRMService Lexue_CHIQ SourceMenu tv.huan.xmpp
- BootWizard ChGlobalSearch CHUserCenter com.egame.tv huan.tv.strongtv MiniLauncher SourceService TvManager
- ChAccountSystem CHistory CHVoiceControlApp com.iflytek.xiri IflytekTVService Miracast Spanner UpdateLocalSystem
- CHAirPlay CHLogoService com.changhong.appstore com.ktcp.video inspection MultiScrInteraction StoreShow UpgradeSystemUI
- ChangHongImagePlayer CHNoticeSystem com.changhong.chchoujiangfortv com.qiyi.tv.changhongappstore IntelligentService PCMRecorder SystemXiri UserLoginManager
復(fù)制代碼
可以修改build.prop 刪除長虹自帶APP來定制rom
- 修改build.prop
-
- 將persist.sys.usb.config=none 改為 persist.sys.usb.config=adb
-
- 將ro.adb.secure=1 改為 ro.adb.secure=0
-
- 確認(rèn)下service.adb.tcp.port=5555有沒有,沒有加上
-
- 注意:修改文件可能會導(dǎo)致文件selinux和權(quán)限變化,注意改回來。改之前執(zhí)行l(wèi)s -lZ看下文件權(quán)限
-
- ~/tools/ext4_tool/mnt# ls -lZ
- total 76
- drwxr-xr-x. 68 root root u:object_r:system_file:s0 4096 May 30 2018 app
- drwxr-xr-x. 2 root 2000 u:object_r:system_file:s0 8192 May 30 2018 bin
- -rw-r--r--. 1 root root u:object_r:system_file:s0 3843 May 30 2018 build.prop
- drwxr-xr-x. 16 root root u:object_r:system_file:s0 4096 May 30 2018 etc
- drwxr-xr-x. 2 root root u:object_r:system_file:s0 4096 May 30 2018 fonts
- drwxr-xr-x. 2 root root u:object_r:system_file:s0 4096 May 30 2018 framework
- drwxr-xr-x. 9 root root u:object_r:system_file:s0 12288 May 30 2018 lib
- drwxr-xr-x. 7 root root u:object_r:system_file:s0 8192 May 30 2018 lib64
- drwx------. 2 root root u:object_r:system_file:s0 4096 Jan 1 1970 lost+found
- drwxr-xr-x. 3 root root u:object_r:system_file:s0 4096 May 30 2018 media
- drwxr-xr-x. 11 root root u:object_r:system_file:s0 4096 May 30 2018 priv-app
- drwxr-xr-x. 3 root root u:object_r:system_file:s0 4096 May 30 2018 tts
- drwxr-xr-x. 7 root root u:object_r:system_file:s0 4096 May 30 2018 usr
- drwxr-xr-x. 4 root 2000 u:object_r:system_file:s0 4096 May 30 2018 vendor
- drwxr-xr-x. 2 root 2000 u:object_r:system_file:s0 4096 May 30 2018 xbin
-
- 修改selunx 標(biāo)簽,可以用chcon 指令,可以找一個和你目標(biāo)權(quán)限一致的文件做參考來改,簡單些
-
- chcon --reference etc/clatd.conf build.prop
-
-
-
- APP 精簡
-
- 刪除app目錄下不需要的app
-
- rm -rf com.egame.tv/
- rm -rf com.qiyi.tv.changhongappstore/
- rm -rf huan.tv.strongtv/
- rm -rf tv.huan.sdk.pay2/
- rm -rf tv.huan.xmpp/
- 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 com.changhong.remoteassistance
- rm -rf Lexue_CHIQ
- rm -rf LauncherVideoPlayer
復(fù)制代碼打包新的system
注意:不建議使用mkuserimg.sh 和mkfs.ext4等工具打包system,因為我們沒有selinux的file-contents文件,直接打包會丟失selinux 標(biāo)簽,系統(tǒng)可能無法啟動
打包直接umount mnt/ 即可,仍然保留了文件的selinux 標(biāo)簽
生成稀疏格式system,可能沒必要 - ./img2simg system.ext4 new_system
復(fù)制代碼
3.打包
網(wǎng)上查到海思固件合并可以使用hitool,待嘗試
長虹55D3P海思平臺固件如何解包4.png (115.38 KB, 下載次數(shù): 4)
下載附件
保存到相冊
2024-6-20 14:01 上傳
4.另一種思路
長虹電視有工廠模式和遠(yuǎn)程協(xié)助功能,這里是否有突破口,通過反編譯,工廠模式?jīng)]發(fā)現(xiàn)什么暗門開網(wǎng)絡(luò)adb或提權(quán),遠(yuǎn)程協(xié)助倒是有可能是個突破口,librd.so看到遠(yuǎn)程協(xié)助是ssh方式連接
長虹55D3P海思平臺固件如何解包5.png (177.23 KB, 下載次數(shù): 5)
下載附件
保存到相冊
2024-6-20 14:02 上傳
APK反編譯看啟動這個APK就會自動啟動連接,就看我們能不能拿到連接的密碼或私鑰了
長虹55D3P海思平臺固件如何解包6.png (221.15 KB, 下載次數(shù): 4)
下載附件
保存到相冊
2024-6-20 14:02 上傳
啟動遠(yuǎn)程協(xié)助服務(wù)的方法: am start com.changhong.rdtventry/.RdTvEntryActivity 或 am start -a com.changhong.rdtventry.action.SHOWUI
但是終端模擬器沒權(quán)限啟動這個APK,還是得從固件入手了
以上就是我對“長虹55D3P海思平臺固件如何解包?長虹55D3P固件刷機(jī)教程”的內(nèi)容分享,希望對大家有幫助。
相關(guān)閱讀:
長虹智能電視55D3P(機(jī)芯:ZLH74GiR2G)海思平臺固件解析打包
|