首頁 收藏 QQ群
 網站導航

ZNDS智能電視網 推薦當貝市場

TV應用下載 / 資源分享區(qū)

軟件下載 | 游戲 | 討論 | 電視計算器

綜合交流 / 評測 / 活動區(qū)

交流區(qū) | 測硬件 | 網站活動 | Z幣中心

新手入門 / 進階 / 社區(qū)互助

新手 | 你問我答 | 免費刷機救磚 | ROM固件

查看: 7342|回復: 13
上一主題 下一主題
[原創(chuàng)]

◆串口大法就是好-酷開電視沒得跑◆(三)系統(tǒng)分析

[復制鏈接]
跳轉到指定樓層
樓主
發(fā)表于 2024-10-18 11:27 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式 | 來自陜西
本帖最后由 羅波波 于 2024-10-18 15:45 編輯

#@版主,配圖丟失,重新編輯#
●型號:褲開5S58_K5C
●系統(tǒng)版本:180524版(191223版刪除默認主頁后,無法長按菜單鍵呼出快捷菜單,所以選該版搞機)
●安卓版本:6.0
●上市年份:2018
●本心得也適用褲開的爸爸SkyWorth
■MBOOT和MPOOL
    這兩個分區(qū)是Mstar芯片廠家提供的。MBOOT由電視廠家修改進行適配編輯,設備上是只讀的,它是uboot運行的載體。所以一般不要打該分區(qū)的主意,一旦損壞,uboot無法進入!安卓系統(tǒng)通常也無法啟動!
    除了這兩個分區(qū)外的所有分區(qū),從mmc的角度來說,正規(guī)的叫法都是-User Partions-用戶分區(qū)。而從安卓系統(tǒng)的角度來說,userdata分區(qū)叫做用戶(數據)分區(qū),包括掛載后的/data和/sdcard。
■自動掛載/system讀寫
    為了方便在線編輯測試,在/system/bin/install-recovery.sh里添加下面兩行:   
  1. echo 1 > /sys/class/remount/need_remount
  2. mount -o rw,remount /system
復制代碼
    這樣每次啟動可自動掛載system分區(qū)為讀寫,方便。
■內置應用分析
     相關列表見跟帖(發(fā)布時總提示有不良內容)
     刪除默認主頁后,系統(tǒng)設置里的定時關機功能失效。且系統(tǒng)設置、coocaaTV等的UI變丑:
◆串口大法就是好-酷開電視沒得跑◆(三)系統(tǒng)分析
    解決方法1:替換191223版的相應應用。省事,但版本越高越油膩。
    解決方法2:反編譯修改這些應用。稍麻煩,完美主義者適用。
    刪除com.tianci.system后,待機鍵、音量鍵、靜音鍵、菜單鍵失效,僅幾個導航鍵含ok鍵有效。
    禁止com.tianci.system聯(lián)網之后,系統(tǒng)無法獲取互聯(lián)網時間。
    刪除廣告服務com.tianci.ad后:系統(tǒng)設置里的屏保功能失效(該功能會播放廣告)。
■系統(tǒng)配置分析
    電視機/盒子這類批量生產的產品,為了方便工程師維護方便,通常將一些基本的功能配置寫成xml文件,由系統(tǒng)級app讀取這些文件從而形成各種功能,這樣對于不同的機型就只需統(tǒng)一的apk,例如:A機型有藍牙,而B機型無藍牙,A、B兩個機型的系統(tǒng)設置apk是同一個,但B機型的xml文件會隱藏藍牙入口。
    這同時又給了搞機方便之門~
    主要的系統(tǒng)配置xml文件位置在/system/pcfg/機型/config,例如這里機型為5S58_K5C(其它機型的文件夾可刪)。
    例如,可以配置主頁、廣告開關...的general_config.xml:
◆串口大法就是好-酷開電視沒得跑◆(三)系統(tǒng)分析
    再如setting_gerenal.xml控制著系統(tǒng)設置,ssc_item.xml控制著快捷菜單(長按菜單鍵)的內容。
    都有原廠注釋,比較簡單,不贅述。
    反編譯看了一下,這些xml都是通過com.tianci.system(系統(tǒng)服務)來讀取實現(xiàn)的。
    里面的bootQueue.xml沒搞清楚作用,試改了下,貌似沒設么變化。
■工廠菜單
    工廠菜單里的STR待機功能實測無效,而191223版的工廠菜單沒有這個選項,即便反編譯添加該選項也無效,說明該機型不支持STR待機功能。
■開機畫面&動畫
    tvconfig分區(qū)有開機圖片boot0.jpg,替換該圖片,重啟,竟然沒有換過來,恢復出廠,還不行!又發(fā)現(xiàn)/system/etc/logo_coocaa.jpg和boot0.jpg完全相同(md5值一樣),將該圖片替換,重啟&恢復出廠,依舊無效!難道沒找到位置?可搜了個遍,所有的分區(qū)只有上述兩處有開機圖片文件。
    通過WinHex發(fā)現(xiàn)MPOOL分區(qū)里有原廠boot0.jpg文件,推測開機圖片被緩存到了這里,uboot下清除該分區(qū)數據:mmc erase.p MPOOL,重啟,成功替換為tvconfig新的開機圖片,再查看MPOOL分區(qū),果然新的開機圖片又被緩存了。
除了上述清除MPOOL分區(qū)的辦法外,還可以在uboot下執(zhí)行下面兩條命令使新的開機圖片生效:   
  1. setenv db_table 0
  2. saveenv
復制代碼
    (另一個安卓9的Mstar機頂盒,清除cache分區(qū)或恢復出廠就可以使新的開機圖片生效)
    開機動畫是/system/media/bootanimation_Coocaa.zip,(若是SkyWorth應該是bootanimation_Skyworth.zip),修改后,重啟直接生效。
■無需修改系統(tǒng)-替換默認主頁的方法
    反編譯主頁com.tianci.movieplatform,查看AndroidManifest.xml文件發(fā)現(xiàn)其入口activity有一條category:
◆串口大法就是好-酷開電視沒得跑◆(三)系統(tǒng)分析
    細看紅框。將第三方桌面的categoray改成這個,adb安裝,重啟,驚喜來了-系統(tǒng)自動跳出對話框讓你選擇桌面:
◆串口大法就是好-酷開電視沒得跑◆(三)系統(tǒng)分析
    再pm uninstall --user 0 [packagename]卸載一些系統(tǒng)應用無需費事修改系統(tǒng)。(小技巧:若需重新啟用被卸載的系統(tǒng)應用,先pm list packages -u -f [packagename]查詢路徑,再pm install -r --user 0 [apk路徑]來重新安裝該應用)
    該方法適合怕麻煩的用戶,免去了修改系統(tǒng)的麻煩!
■dtmb-dra解碼
    180524版無法解析數字電視dra音頻碼,一些使用dra音頻的頻道沒有聲音。
    191223版dra解碼正常,解決過程如下:
    將191223版的/system/vendor/app/SkyTVUI/SkyTVUI.apk(coocaaTV=com.skyworth.tv)替換過來,不行!
    將191223版里包名里帶tv字樣的包替換-com.skyworth.tv.provider、com.mstar.android.providers.tv、com.android.providers.tv,不行!
    將191223版里tv開頭的分區(qū)挨個替換。
    替換到tvservice分區(qū),成功解決!
    注意:tvservice分區(qū)無法在線刷入,需uboot下刷入才有效。經確認,只需替換tvservice分區(qū)即可。
    看到這里:桌面也替換了、廣告也去除了、系統(tǒng)也精簡了、dra也有聲了,不要以為就萬事大吉了,往下看↓
■問題突現(xiàn)
1、將系統(tǒng)應用刪除后,一切運行正常,但是:
    恢復出廠后:電視機無操作100秒后,屏幕自動黑屏(無背光),led燈仍為綠燈,通過串口系統(tǒng)shell確定安卓系統(tǒng)仍在運行,此時按任何按鍵可使屏幕有顯示,但是無背光。不仔細查看還以為是完全黑屏呢。如果沒有替換默認主頁的情況下,任意按鍵可以點亮屏幕。
    經逐一排查(太熬人?。┐_定是刪除了廣告com.tianci.ad惹得禍。
    難道就讓廣告服務com.tianci.ad以高達26%的 CPU占用率大模大樣的在后臺運行?
◆串口大法就是好-酷開電視沒得跑◆(三)系統(tǒng)分析
    絕對不能忍受!方法奉上,將如下命令添加進install-recovery.sh:   
  1. sleep 10       #延遲10秒再執(zhí)行后續(xù)的指令,否則后面的指令無法執(zhí)行
  2. pm hide com.tianci.ad    #隱藏應用包
復制代碼
    通過反編譯發(fā)現(xiàn)com.tianci.system里有幾處指向com.tianci.ad的操作,應該可以反編譯修改,從而可徹底刪除廣告服務,這個有空了再研究。
2、修改general_config.xml替換桌面后:
    刪除系統(tǒng)應用,替換桌面并使用一段時間之后,通過top命令發(fā)現(xiàn)com.tianci.system日常運行有著高達35%的CPU占用率,解決方法-在install-recovery.sh里sleep 10之后添加:   
  1. pm clear com.tianci.system     #清除該包數據
復制代碼
    反編譯com.tianci.system發(fā)現(xiàn)多處指向原廠主頁com.tianci.movieplatform的操作,發(fā)現(xiàn)framework里也有類似的操作,估計就是高CPU占用率的原因。有空再修改com.tianci.system和framework,徹底根治。
    建議各位已經刷了精簡強刷包的,不限機型,用top命令自查一下吧。
3、前面兩種替換桌面的方法會導致主頁鍵失效。
    貌似與com.tianci.system&framework有關,有待進一步研究。不過相信很多人和我一樣:主頁鍵極少用到!不如把主頁鍵改為常用應用的快捷鍵!
■系統(tǒng)廣播android.intent.action.BOOT_COMPLETED
    該廣播會在桌面啟動15秒之后發(fā)送,而安卓正常情況下會立即發(fā)送,看來是被是該餓死的SkyWorth魔改了。
    很多app包括一些桌面應用會建立一個Receiver,當收到該廣播時就啟動自己,這就是開機自啟動的原理。如果你替換的桌面有這樣的Receiver,就會出現(xiàn)狀況:過15秒后又加載一次桌面,從而影響到當前的操作。
    所以需要反編譯自己桌面應用,將該Receiver刪掉,例如某貝。
    另外的辦法就是修改系統(tǒng),使得該廣播立即發(fā)送或者從根本上yan割,這個還需深入研究。
■ro.secure=1
    該字段在/default.prop里,修改它=0應該就可以使得連上adb就直接是root,這樣的話用「甲殼蟲adb助手」GUI的方式在線替換系統(tǒng)文件,比起在系統(tǒng)shell下命令行的方式編輯文件方便的多。
    可惜修改無效,該值重啟依舊=1,應該是由boot分區(qū)生成決定的。
    而boot分區(qū)用bootimg、rom助手兩個工具均無法解包,CSDN上有號稱可解包Mstar的boot分區(qū)的工具(收費),應該是國內作者自編的(國際上沒搜到),可是:僅有的幾條留言都說無法解包。
    不知道能否在ubuntu下解包,還沒去嘗試。
■/sdcard被yan割
    這個酷開系統(tǒng)已yan割內置存儲/sdcard,這樣做的好處是壓根不存在/sdcard文件換亂的問題,不用擔心各種應用在此自建亂七八糟的垃圾文件。壞處就是一些依賴/sdcard的應用受到影響,例如Tvbox就無法在本地建立接口文件了。
    不清楚是否只有該型號的酷開系統(tǒng)是這樣。沒看到有人抱怨酷開系統(tǒng)沒有內置存儲的問題,這個比較納悶。
    若要恢復/sdcard,貌似要修改boot,具體還沒研究。
■系統(tǒng)app簽名
    看了一下是廠家自有簽名,自行修改系統(tǒng)應用是無法運行的,需去除framework里的簽名驗證。


◆下期預告:(四)自制強刷包◆



上一篇:3000元左右創(chuàng)維電視Max75/75A4E/75A23S/75K3 Pro 2025款/75K3怎么選
下一篇:◆串口大法就是好-酷開電視沒得跑 ◆(四)自制強刷包
推薦
發(fā)表于 2024-10-18 18:05 | 只看該作者 | 來自廣西
不錯不錯 ,有點很恩山的味,教程很詳細
回復 支持 1 反對 0

使用道具 舉報

沙發(fā)
發(fā)表于 2024-10-18 14:34 | 只看該作者 | 來自甘肅
太強辣大佬??!
回復 支持 反對

使用道具 舉報

板凳
 樓主| 發(fā)表于 2024-10-18 16:01 | 只看該作者 | 來自陜西
不可刪除:
#com.skyworth.tv
coocaaTV,信號源(電視、hdmi、視頻),刪后無法-上上下下左右左右-進入工廠菜單/system/vendor/app/SkyTVUI
#com.tianci.setting
系統(tǒng)設置/system/vendor/app/SkySetting
#com.skyworth.tv.provider
/system/vendor/app/SkyTVProvider/
#tom.tianci.ipc   
系統(tǒng)通訊框架,無法關機開機/system/vendor/app/SkyIPCService
#com.coocaa.skyoscts
自動化測試(功能測試)在工廠菜單有入口/system/vendor/app/SkyAutoTest/
#com.tianci.ad
廣告/system/vendor/app/SkyADService禁用后重啟自動被啟用
#com.coocaa.factory
工廠菜單/system/vendor/app/SkyCommonFactory/
#com.skyworth.tianciime
輸入法/system/vendor/app/SkyIME
#com.android.packageinstaller
軟件包安裝器/system/vendor/app/SkyPackageInstaller
#com.android.defcontainer
軟件包權限幫助程序,安裝應用時用到/system/priv-app/DefaultContainerService
#com.tianci.system
系統(tǒng)服務,遙控-關機、靜音、音量、菜單-按鍵失效,機器背面按鍵也失效/system/vendor/app/SkySystemService/
#com.skyworthdigital.stb.dataprovider
用于搜索電視頻道        /system/app/StbDataProvider/
#com.android.providers.tv
/system/priv-app/TvProvider/

回復 支持 反對

使用道具 舉報

地板
 樓主| 發(fā)表于 2024-10-18 16:02 | 只看該作者 | 來自陜西
不確定:
#com.coocaa.remotectrlservice
卸載后【似乎】無問題/system/vendor/app/SkyTVAgent
#com.mstar.android.providers.tv
默認被禁用-無法啟用,升級到1912版也不行/system/app/MTvProvider

回復 支持 反對

使用道具 舉報

5#
 樓主| 發(fā)表于 2024-10-18 16:03 | 只看該作者 | 來自陜西
不能刪除:
#com.skyworth.tv
coocaaTV,信號源(電視、hdmi、視頻),/system/vendor/app/SkyTVUI
#com.tianci.setting
系統(tǒng)設置/system/vendor/app/SkySetting
#com.skyworth.tv.provider
/system/vendor/app/SkyTVProvider/
#tom.tianci.ipc   
系統(tǒng)通訊框架,無法關機開機/system/vendor/app/SkyIPCService
#com.coocaa.skyoscts
自動化測試(功能測試)在工廠菜單有入口/system/vendor/app/SkyAutoTest/
#com.tianci.ad
廣告/system/vendor/app/SkyADService禁用后重啟自動被啟用
#com.coocaa.factory
工廠菜單/system/vendor/app/SkyCommonFactory/
#com.skyworth.tianciime
輸入法/system/vendor/app/SkyIME
#com.android.packageinstaller
軟件包安裝器/system/vendor/app/SkyPackageInstaller
#com.android.defcontainer
軟件包權限幫助程序,安裝應用時用到/system/priv-app/DefaultContainerService
#com.tianci.system
系統(tǒng)服務,/system/vendor/app/SkySystemService/
#com.skyworthdigital.stb.dataprovider
用于搜索電視頻道        /system/app/StbDataProvider/
#com.android.providers.tv
/system/priv-app/TvProvider/

回復 支持 反對

使用道具 舉報

6#
 樓主| 發(fā)表于 2024-10-18 16:11 | 只看該作者 | 來自陜西
可刪除內置應用列表:(文本發(fā)布總提示有不良內容)
可刪除內置應用列表.7z (3.33 KB, 下載次數: 4)




回復 支持 反對

使用道具 舉報

8#
發(fā)表于 2024-10-19 09:09 | 只看該作者 | 來自廣西
期待下一篇反編譯 恢復sdcard
回復 支持 反對

使用道具 舉報

9#
發(fā)表于 2024-10-19 20:29 來自ZNDS手機版 | 只看該作者 | 來自廣東
謝謝分享。
回復 支持 反對

使用道具 舉報

10#
發(fā)表于 2024-10-26 15:09 | 只看該作者 | 來自湖北
這個教程要點贊啊   等我root了 來試,mark一下
回復 支持 反對

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

Archiver|新帖|標簽|軟件|Sitemap|ZNDS智能電視網 ( 蘇ICP備2023012627號 )

網絡信息服務信用承諾書 | 增值電信業(yè)務經營許可證:蘇B2-20221768 丨 蘇公網安備 32011402011373號

GMT+8, 2024-10-30 16:10 , Processed in 0.078731 second(s), 15 queries , Redis On.

Powered by Discuz!

監(jiān)督舉報:report#znds.com (請將#替換為@)

© 2007-2024 ZNDS.Com

快速回復 返回頂部 返回列表