瑞今天和大家分享的是來自于東方瑞通趙悅老師主講的:OneNote04——?jiǎng)?chuàng)建分區(qū)。
<script src="https://lf6-cdn-tos.bytescm.com/obj/cdn-static-resource/tt_player/tt.player.js?v=20160723"></script>
趙悅老師有十多年的office項(xiàng)目培訓(xùn)經(jīng)驗(yàn),豐富的實(shí)踐經(jīng)驗(yàn)不僅體現(xiàn)在授課內(nèi)容的組織上,而且還貫穿到一系列實(shí)驗(yàn)操作當(dāng)中,使學(xué)員有耳目一新的感覺;講課認(rèn)真、細(xì)致,輔導(dǎo)實(shí)驗(yàn)積極、耐心。曾為瑪氏公司提供過Access數(shù)據(jù)庫培訓(xùn),參與了微軟Office 365 RDP企業(yè)快速導(dǎo)入項(xiàng)目;為上品折扣、悅成移動(dòng)Office 365部署、培訓(xùn);為中航技集團(tuán)提供SharePoint Server 2007、Project Server部署培訓(xùn);為黑龍江郵政提供Project? Server部署、培訓(xùn);為光大永明提供人壽保險(xiǎn) Windows活動(dòng)目錄部署;為愛立信(中國)Y2K問題的客戶端數(shù)據(jù)升級(jí)等項(xiàng)目。
資質(zhì)和榮譽(yù):
資深 IT 項(xiàng)目經(jīng)理 辦公與協(xié)作咨詢顧問 Office 365 咨詢顧問 微軟認(rèn)證講師(MCT) 微軟最有價(jià)值專家(Office 365 方向) 微軟 Office 增值風(fēng)暴計(jì)劃優(yōu)秀講師 微軟 Office 技術(shù)專家俱樂部成員 微軟 MCSE、PMP 等證書擁有者。
華為悅盒 EC6108V9U 破解過程全記錄(root掃盲) [非原創(chuàng)]
電信寬帶送的 IPTV 盒子,型號(hào) EC6108V9U,CPU 為 Hi3798M,1G 內(nèi)存,8G 存儲(chǔ),支持 H.265 硬解碼,系統(tǒng)為 Android 4.4.2,卻只能看電視,豈不浪費(fèi)?好在華為厚道,還是留了后門供 DIY。于是,經(jīng)歷了10余次刷機(jī)之后,終于破解成功,在此記錄,與君分享。(聽說還有個(gè) CA 版的,不過我不是。)
話說 root 這個(gè)詞兒,源自 Unix/Linux。因?yàn)樵?Unix 的世界里,root 用戶就是超級(jí)用戶,是系統(tǒng)管理員,相當(dāng)于 Windows 系統(tǒng)中的 Administrator,也就是一個(gè) Unix 系統(tǒng)中的 “上帝”!
Android 系統(tǒng)是基于 Linux 的,出于安全考慮,很多系統(tǒng)文件、目錄不允許普通用戶訪問?!捌平狻盇ndroid 的目標(biāo),就是為了能自由訪問系統(tǒng)文件,從而實(shí)現(xiàn)系統(tǒng)優(yōu)化,或自行管理 App 的安裝和卸載。所謂“root”一個(gè) Android 系統(tǒng),真正的含義其實(shí)是:讓任意用戶獲取底層 Linux 的 root 用戶權(quán)限。
關(guān)于 root 的基本原理,比較完整的解釋:Android root 原理,簡化一點(diǎn)的解釋:Android的Root原理。
所有的 root 方法,都不過是想盡一切辦法找到某個(gè)廠家 Android 的漏洞,以便能把修改后的 su 放進(jìn)系統(tǒng)的可執(zhí)行目錄,獲得 root 權(quán)限。
基本步驟如下:
所有的 root 工具,都不過是將這個(gè)過程自動(dòng)化,以便能自動(dòng)判斷手機(jī)型號(hào)、根據(jù) Linux 的不同版本選擇 su,僅此而已。
其實(shí) su 是 Unix/Linux 自帶的程序,功能就是讓普通用戶能夠臨時(shí)成為 root 用戶干活。但是在運(yùn)行 Android 的 Linux 中,多半是被拿掉了,或者是被修改成僅供 root 用戶運(yùn)行的。因?yàn)?Linux 是開源的,所以就有好人用源碼編譯出一個(gè)帶有正常功能的 su 的可執(zhí)行文件,只要選對 Linux 的版本即可拿來用了。
下面列出最緊要的幾個(gè),其他目錄可參閱 Android 的文件系統(tǒng)結(jié)構(gòu)。
Superuser 是一個(gè)開源軟件,源碼在此。主要功能是監(jiān)聽并管理 App 對 su 的調(diào)用,給用戶選擇是否授予 root 權(quán)限。
主要原理是將 apk 層傳入的本應(yīng)放在 shell 進(jìn)程中執(zhí)行的命令,放到 daemonsu 創(chuàng)建 進(jìn)程 sush 中執(zhí)行。 其中 Daemonsu 為開機(jī)時(shí)啟動(dòng)的 su 守護(hù)進(jìn)程(user 為 root)。 最重要的過程是 apk、su、daemonsu、sush、superuser 之間的通信。
詳見 Superuser root 原理詳細(xì)分析。
root 方法有以下 2 種:
Recovery 模式,顧名思義,是 Android 系統(tǒng)提供的恢復(fù)操作系統(tǒng)(ROM)、清除用戶數(shù)據(jù)、恢復(fù)出廠設(shè)置的模式。所謂“刷機(jī)”,就是在 Recovery 模式下,把已 root 、已修改過的系統(tǒng) ROM“恢復(fù)”到盒子的存儲(chǔ)中去,覆蓋現(xiàn)有系統(tǒng)。
刷機(jī)方式的好處是簡單,適合不懂(或不想懂)計(jì)算機(jī)原理的人操作。但前提是必須找到適合自己盒子的 ROM 版本。因?yàn)楹凶硬幌袷謾C(jī),各省、各個(gè)運(yùn)營商都對 ROM 做過定制,IPTV 的配置參數(shù)更是各不相同,刷錯(cuò)了就變磚了。
因此,刷機(jī)方式:
不過我得保留IPTV功能,所以選擇下一種方案。
華為悅盒 EC6108V9U 的 ADB 模式,天然就是帶 root 權(quán)限的,這就是華為為我們開的 backdoor,不需要再費(fèi)心費(fèi)力去找 Linux 的漏洞了。這和一些 Android 手機(jī)不同。
判斷 ADB 是否已經(jīng)獲到了 root 權(quán)限,只要看 shell 的提示符即可。“#”是 root 用戶的專屬提示符。
> adb shell $ // 普通用戶權(quán)限 # // root 權(quán)限
詳見華為悅盒電腦破解教程。
盒子和電腦都設(shè)置為同一段 IP,才能從電腦上連接到盒子去。“同網(wǎng)段”由 IP 地址和掩碼共同決定的,可參閱 IP地址的定義和含義。
簡單來說,就是掩碼(mask)的每個(gè)字節(jié)(8 個(gè)二進(jìn)制位)控制著對應(yīng) IP 字節(jié)是屬于主機(jī)(Host)地址,還是屬于網(wǎng)段地址,同一網(wǎng)段的掩碼必定相同。IPv4 的地址由 4 個(gè)字節(jié)構(gòu)成,相應(yīng)的掩碼也是 4 個(gè)字節(jié)。一般地,可以如下設(shè)置:
盒子 IP:192.168.0.1 盒子掩碼:255.255.255.0 電腦 IP:192.168.0.2 電腦掩碼:255.255.255.0
掩碼為 255.255.255.0,表示 IP 地址的前 3 個(gè)字節(jié)(192.168.0.X)均為網(wǎng)段地址,用于識(shí)別網(wǎng)段,不用作識(shí)別主機(jī)。這時(shí) IP 地址中的最后 1 個(gè)字節(jié)才是標(biāo)識(shí)主機(jī)用的。各個(gè)主機(jī)必須設(shè)為不同的數(shù)字,總共有 256 (2 的 8 次方)種可能,再去掉第 1 個(gè)可用數(shù)字 0(固定用于代表本網(wǎng)段)和最后 1 個(gè)可用數(shù)字 255(固定表示本網(wǎng)段的廣播地址),剩下 254 個(gè)可用數(shù)字(1-254)。也就是說,當(dāng)掩碼字節(jié)為 0 時(shí),同網(wǎng)段最多可以接入 254 個(gè)主機(jī)。
當(dāng)然,掩碼可以是任意值,不一定非得是 0 或 255。這樣 IP 拆分為網(wǎng)段和主機(jī)部分就得用二進(jìn)制計(jì)算了,有專門的網(wǎng)站提供了方便,比如網(wǎng)絡(luò)和IP地址計(jì)算器。
一般會(huì)有一個(gè)或多個(gè) .bat 文件供運(yùn)行。.bat 文件是普通的文本文件,只是后綴改成 .bat 而已,用記事本打開就行了,里面都是 windows/DOS 能夠運(yùn)行的命令。下面逐條解釋一下幾條主要命令:
.\root\adb kill-server
運(yùn)行 root 目錄下的 adb 程序,參數(shù)為 kill-server。作用是關(guān)閉已經(jīng)在運(yùn)行的 adb 進(jìn)程。
set /p ip=請輸入盒子的IP地址,然后按回車鍵:
獲取用戶鍵盤錄入,賦值給變量 ip。這里務(wù)必準(zhǔn)確輸入盒子的 IP,比如 192.168.0.1。
.\root\adb connect %ip%:5555
運(yùn)行 root 目錄下的 adb 程序,參數(shù)為 connect %ip%:5555。作用是連接 ip 指定的盒子 IP 地址,端口為 5555。ADB 默認(rèn)服務(wù)端口即為 5555,因此可省略為 adb connect 192.168.0.1。
.\root\adb shell mount -o remount,rw /system
運(yùn)行 adb 程序,參數(shù)為 shell mount -o remount,rw /system,也即通過 ADB 在盒子上執(zhí)行 mount -o remount,rw /system 命令。作用是將 /system 目錄重新掛載為可讀寫模式,便于下面的寫入操作,默認(rèn)是只讀的。
.\root\adb push .\root\su /system/xbin/su
運(yùn)行 adb 程序,參數(shù)為 push .\root\su /system/xbin/su。作用是推送本地 root 目錄下的 su 文件到盒子上的 /system/xbin/ 目錄下,文件名仍然為 su。既然文件名不變,其實(shí)可以簡寫為 adb push .\root\su /system/xbin/。
.\root\adb shell "chmod 06755 /system/xbin/su"
運(yùn)行 adb 程序,參數(shù)為 shell "chmod 06755 /system/xbin/su",即通過 ADB 在盒子上執(zhí)行 chmod 06755 /system/xbin/su 命令。作用是將 /system/xbin/ 目錄下的 su 文件的訪問權(quán)限修改為 06755,也就是允許任意用戶執(zhí)行 su,詳見 UNIX 文件權(quán)限。
.\root\adb push .\root\Shafa.apk /system/app/Shafa.apk.apk
運(yùn)行 adb 程序,參數(shù)為 shell .\root\Shafa.apk /system/app/Shafa.apk.apk。作用是推送本地 root 目錄下的 Shafa.apk 文件到盒子上的 /system/app/ 目錄下,文件名為 Shafa.apk.apk,使得沙發(fā)桌面應(yīng)用成為系統(tǒng)預(yù)裝應(yīng)用。
.\root\adb shell "settings put secure install_non_market_apps 1"
運(yùn)行 adb 程序,參數(shù)為 shell "settings put secure install_non_market_apps 1",即通過 ADB 在盒子上執(zhí)行 settings put secure install_non_market_apps 1 命令。作用是允許盒子安裝非官方市場的 App。
.\root\adb shell "chmod 0000 /system/app/UpgradeOnline.apk"
運(yùn)行 adb 程序,參數(shù)為 shell "chmod 0000 /system/app/UpgradeOnline.apk",即通過 ADB 在盒子上執(zhí)行 chmod 0000 /system/app/UpgradeOnline.apk 命令。作用是將 /system/app/ 目錄下的 UpgradeOnline.apk 文件訪問權(quán)限該為 0000,也即禁止任何用戶訪問,以禁止盒子自動(dòng)升級(jí)系統(tǒng)。
.\root\adb shell "echo 1 > /system/etc/.installed_su_daemon"
運(yùn)行 adb 程序,參數(shù)為 shell "echo 1 > /system/etc/.installed_su_daemon",即通過 ADB 在盒子上執(zhí)行 echo 1 > /system/etc/.installed_su_daemon 命令。作用是在 /system/etc/ 目錄下生成 .installed_su_daemon 文件(如果已存在則覆蓋),文件內(nèi)容為一個(gè)字符“1”,啟用 su 的守護(hù)(常駐內(nèi)存)標(biāo)志。
.\root\adb shell mkdir /system/etc/init.d
運(yùn)行 adb 程序,參數(shù)為 shell mkdir /system/etc/init.d,即通過 ADB 在盒子上執(zhí)行 mkdir /system/etc/init.d 命令。作用是在 /system/etc/ 目錄下新建 init.d 目錄。該目錄下的所有文件都被 Linux 視為系統(tǒng)啟動(dòng)時(shí)自動(dòng)執(zhí)行的腳本。
.\root\adb push .\root\android /system/framework/android.policy.jar
運(yùn)行 adb 程序,將本地 root 目錄下的 android 文件推送到盒子的 /system/framework 目錄下,文件名變?yōu)?android.policy.jar,如有同名文件則覆蓋。作用是解決按遙控首頁不回桌面的問題。
.\root\adb shell "> /system/checksum.img"
運(yùn)行 adb 程序,將盒子 /system/ 目錄下的 checksum.img 清為 0 個(gè)字節(jié)的文件。作用是去除系統(tǒng)被篡改的提示。盒子在啟動(dòng)時(shí),會(huì)對幾個(gè)關(guān)鍵文件進(jìn)行校驗(yàn),校驗(yàn)數(shù)據(jù)保存在 checksum.img 文件中,將其內(nèi)容清為 0 就取不到校驗(yàn)數(shù)據(jù)了,也就不提示了。其實(shí)盒子提示被篡改也沒啥關(guān)系,多點(diǎn)擊一次確定罷了,繼續(xù)用就是了。
adb pull /data/data/com.huawei.iptv.stb.stbconfig .\bak
運(yùn)行 adb 程序,將盒子 /data/data/ 目錄下的 com.huawei.iptv.stb.stbconfig 文件復(fù)制到本地的 bak 目錄下。作用是備份用戶數(shù)據(jù)。
adb push .\bak\com.huawei.iptv.stb.stbconfig /data/data/
運(yùn)行 adb 程序,將本地 bak 目錄下的 com.huawei.iptv.stb.stbconfig 文件復(fù)制到盒子的 /data/data/ 下。作用是恢復(fù)用戶數(shù)據(jù)。
出廠時(shí)的固件,可以通過 Recovery 模式的 Apply update from backup 菜單進(jìn)行恢復(fù)。出廠固件位于盒子存儲(chǔ)的特定分區(qū)中,一般不會(huì)被覆蓋,所以提取出來主要是為了修改里面的內(nèi)容,比如制作已經(jīng) root 的 ROM。完整的命令如下(前面 2條是連接盒子和修改 /system 為讀寫模式):
adb connect 192.168.0.1 adb shell mount -o remount,rw /system adb shell mkdir /tmp/bak adb shell mount -t ext3 /dev/block/platform/hi_mci.1/by-name/backup /tmp/bak adb pull /tmp/bak/update.zip ./update.zip
下面逐條解釋一下這幾條命令:
adb connect 192.168.0.1
運(yùn)行 adb 程序,參數(shù)為 connect 192.168.0.1。作用是連接 192.168.0.1(盒子 IP 地址),端口用默認(rèn)的(5555)。如接著前面的操作,則無需再執(zhí)行了。
adb shell mount -o remount,rw /system
同上所述,將 /system 目錄重新掛載為可讀寫模式。如接著前面的操作,則無需再執(zhí)行了。
adb shell mkdir /tmp/bak
運(yùn)行 adb 程序,在盒子上執(zhí)行 mkdir /tmp/bak 命令。作用是在盒子的 /tmp/ 目錄下新建一個(gè)名為 bak 的目錄,用于掛載備份文件所在的分區(qū)。Unix 系統(tǒng)下要訪問設(shè)備(存儲(chǔ)設(shè)備分區(qū)也被視為一種設(shè)備),得先掛到某個(gè)目錄下面,以便像訪問文件一樣訪問設(shè)備。
adb shell mount -t ext3 /dev/block/platform/hi_mci.1/by-name/backup /tmp/bak
運(yùn)行 adb 程序,在盒子上執(zhí)行 mount -t ext3 /dev/block/platform/hi_mci.1/by-name/backup /tmp/bak 命令。作用是將 /dev/block/platform/hi_mci.1/by-name/backup 設(shè)備掛載為 /tmp/bak 目錄,存儲(chǔ)格式是 ext3。
adb pull /tmp/bak/update.zip
運(yùn)行 adb 程序,從盒子的 /tmp/bak/ 目錄下拉取 update.zip 文件,保存到當(dāng)前目錄下。這個(gè)就是盒子自帶的 ROM 備份。
在拉取文件之前,還可以用以下命令查看一下掛載成功的分區(qū)(即 /tmp/bak 目錄),我是看到里面只有一個(gè) update.zip 文件的。
adb shell ls -l /tmp/bak
運(yùn)行 adb 程序,列出盒子 /tmp/bak/ 目錄下的文件。關(guān)于 ls 命令的詳細(xì)信息,可參考 ls命令詳解。
要不怎么說華為厚道呢,內(nèi)置的媒體中心 App 天然就能播放本地視頻,根本不需要安裝什么暴風(fēng)影音之類的!進(jìn)入第三方桌面,就能打開媒體中心看視頻了,簡單吧。