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