LINUX操作系统手机刷机包制作、修改方法
http://moto.it168.com/thread-3312802-1-1.html
修改方法:利用WINHEX軟件
一、獲得 .smg 文件
獲得 .smg 文件的兩種方法:
1、通過 RSD 刷機(jī)把 .SBF 文件解開后,產(chǎn)生多個(gè) .smg 文件,提示:RSD 刷機(jī)過程中完成第一個(gè) 100% 時(shí)立即從手機(jī)上拔掉usb連線,但不要關(guān)閉RSD程序!切記!!!然后在 .sbf 文件的目錄下將 .smg 文件復(fù)制到其他位置!再關(guān)閉RSD程序,這樣就不會(huì)真正刷機(jī)又可以得到 .smg 文件了!
2、通過 WinHex 得到.smg 文件:
運(yùn)行 WinHex 并打開 .SBF 文件,這里以53P- CG43.smg 為例!
點(diǎn) WinHex 菜單->位置->轉(zhuǎn)到偏移量
填入 2DB9BAB(CG43.smg 在 .SBF文件里的開始位置,具體.smg 文件在 .SBF文件里的具體位置和范圍,比較一下.smg和.SBF就明白了!)
然后點(diǎn) WinHex 菜單->編輯->定義選塊
填入 開始 2DB9BAB 結(jié)尾 2DD9BAA (CG43.smg 在 .SBF文件里的起止位置)點(diǎn)擊 確定
然后點(diǎn) WinHex 菜單->編輯->復(fù)制選塊->進(jìn)入新文件 得到.smg 文件,這里命名為CG43.smg,保存!
附:.smg 文件與手機(jī)內(nèi)部文件的對(duì)應(yīng)關(guān)系:
CG34.smg ->/usr/data_resource
CG35.smg ->/ezx_user
CG36.smg ->/ezxlocal
CG37.smg ->/usr/securesetup
CG39.smg -> 開機(jī)的LOGO
CG41.smg -> 和CG42合并一起./usr/language
CG42.smg -> 同上
CG43.smg -> /usr/setup
CG44.smg -> Rootfs
其中CG34,CG37,CG43,CG44,以及CG41+CG42為標(biāo)準(zhǔn)cramfs文件。其中CG37,CG44要先去掉前0x1000個(gè)字節(jié)(16進(jìn)制)才是標(biāo)準(zhǔn)cramfs文件。得到的cramfs文件,可以在linux下解壓,修改并重新打包為cramfs文件。
二、修改 CG43.smg 文件
好了,你現(xiàn)在可以對(duì)得到的CG43.smg 文件進(jìn)行修改了哦!
在??LINUX 下解開文件、修改及打包 .smg 文件:
還是以 CG43.smg 為例。把CG43.smg拷貝到/home下,在/mnt下建立ttt的目錄,然后:
1、mount -o loop /home/CG43.smg /mnt/ttt ##解開CG43.smg
2、cd /mnt/ttt ##進(jìn)入該目錄
3、tar zcvf /home/CG43.tar . ##打包ttt目錄成壓縮文件
4、mkdir /home/CG43 ##在home下建立CG43目錄
5、cd /home/CG43??##進(jìn)入該目錄
5、tar xzvf /home/CG43.tar ##解壓出文件到CG43目錄
6、##在CG43目錄進(jìn)行修改,或者通過管理器修改里面的文件。
7、mkcramfs /home/CG43 new_cg43.smg ##重新打包成smg文件
8、tar czvf /home/new_cg43.tar /home/CG43??##打包成tar文件
(修改時(shí),需要注意的內(nèi)容:
拷貝文件過來后,需要重新設(shè)置文件的群組、所有者及屬性等
修改的文件里包含中文字符,需要注意。)
9、拷貝修改好了并打包好的新的 new_cg43.smg 文件返回到 Windows 下。
三、將修改好的.smg 文件整合到.sbf 文件里
1、重復(fù) 一、 2、
(運(yùn)行 WinHex 并打開 .SBF 文件。
點(diǎn) WinHex 菜單->位置->轉(zhuǎn)到偏移量
填入 2DB9BAB
然后點(diǎn) WinHex 菜單->編輯->定義選塊
填入 開始 2DB9BAB 結(jié)尾 2DD9BAA 點(diǎn)擊 確定)
2、打開 new_cg43.smg
點(diǎn) WinHex 菜單->編輯->全選
點(diǎn) WinHex 菜單->編輯->復(fù)制選塊->正常方式
注意CG37,CG44要跳過0x1000個(gè)字節(jié)。
3、返回到 .sbf 文件
點(diǎn) WinHex 菜單->編輯->剪貼板數(shù)據(jù)->寫入(從當(dāng)前位置覆寫)
出現(xiàn)提示:
點(diǎn) 確定
4、得到 新 cg43 的校驗(yàn)值(.sbf 文件還是當(dāng)前編輯狀態(tài))
5、得到 舊 cg43 的校驗(yàn)值
你可以打開備份的CG43.smg文件用上面的方法得到校驗(yàn)值,也可以從刷機(jī)時(shí)產(chǎn)生的 .hmg 文件里得到校驗(yàn)值
(其實(shí)在 通過 WinHex 得到.smg 文件 時(shí)候就可以計(jì)算出cg43 的校驗(yàn)值的)
根據(jù)53版yan0提供了各SMG文件校驗(yàn)和在SBF的位置。更新校驗(yàn)和時(shí),注意校驗(yàn)和為2個(gè)字節(jié),低位在前,高位在
后。
CG34.smg,45E
CG35.smg,47E
CG36.smg,49E
CG37.smg,4BE
CG39.smg,4DE
CG41.smg,4FE
CG42.smg,51E
CG43.smg,53E
CG44.smg,55E
6、返回到 .sbf 文件
找到舊 cg43 的校驗(yàn)值
更改成新的校驗(yàn)值
7、保存修改好的 .sbf 文件
到此就完成了.SBF 文0件的修改,可以用RSD刷機(jī)了!!!
等以后有時(shí)間我要學(xué)學(xué)!!!先放這保存(請(qǐng)勿灌水哦)
下面是WINHEX軟件 ?
總結(jié)
以上是生活随笔為你收集整理的LINUX操作系统手机刷机包制作、修改方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SSH的端口转发:本地转发Local F
- 下一篇: gdb的简单使用和gdb+gdbserv