您的位置:首页 > 运维架构 > Linux

LINUX操作系统手机刷机包制作、修改方法

2011-11-30 16:04 417 查看
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 手机 windows