精华 | |
金钱 | BA |
威望 | 点 |
贡献值 | 点 |
爱心 | 点 |
经验 | 点 |
注册时间 | 2009-2-22 |
最后登录 | 1970-1-1 |
在线时间 | 小时 |
| |
| |
| |
|
立即注册,加入爱黑武论坛的大家庭!爱黑武,爱上搞机生活!
您需要 登录 才可以下载或查看,没有账号?注册
x
我们做好了CG46.smg和CG36.smg就想用 SBF-Recalc 1.2.8.exe打包,,嘿嘿,,别急,,没有那么简单
CG43和CG52很简单,,Moto官方没有加校验 ,,但是CG46和CG36就加了,,先说 CG36.smg,,我修改了一个CG36.smg..就用 WinHex打开官方的 CG36.smg
用Alt+G ,可以打开一个对话框,,,里面 输入 1CFB7E0 ,,点击确定,,就会跳到 官方的CG36.smg的校验值处,,上面全是FFFFFFFF,,突然出现了一段乱码,,,一定有秘密
这里就是官方的校验值,现在我们需要手动把这个校验值复制到 我们自己做的CG36.smg
用WinHex打开自己做的CG36.smg,,,拖动到最结尾 ,我们发现 结尾行的行数是 01CFAAA0 (不同人做的结尾行数是不一样的)
再回到 官方的 CG36.smg 用AIt+G ,,里面输入 01CFAAA0,,截图
找到了 01CFAAA0行了,,,我们要在01CFAAA0行的下一行01CFAAB0 的开头 点击右键 ---beginning of block (意思是 从这个字节开始)
再移动到 官方的CG36.smg的结尾行01CFBFF0 ,在最后一个字节的点击右键----end of block (这个字节结束)
这个时候,,我们会看到 官方的CG36.smg冲 01CFAAB0到 01CFBFF0 都被选中了
我们在选中的字段中,,点击右键---Edit----copy block ---Normally( 也可以用快捷键的 Ctrl+C 复制)
复制好了,,我们再回到 自己的CG36.smg中.,,在最后一个字节数点击右键 ---Edit---Clipboard Data----Paste (也可以快捷键的 Ctrl+V粘贴)
会有个什么警告提示,,,,英文的看不懂,,,直接点击确定就OK了,,,我们再去看下我们的CG36.smg,也是 01CFBFF0 结尾了,,说明我们复制正确了 (跟官方的一样大小)
校验完成了,,保存,,(保存会有一些提示,,直接点击确定就OK了)
下面你有2种选择
第一种,,,比较古老的,,高手都说 修改刷机包要跟官方的一样大小,,,所以我们就用古老的方法
保存我们修改好的CG36.smg ,,我们点击右键查看一下大小 ----30,392,320 字节 ---跟官方的一样大小
这时我们修改hmg文件了
在教程的第一篇还是第二篇,,我说了 用 SBF-Recalc 1.2.8.exe 解压sbf文件会有一个头文件 hmg和一个RAMDLD.smg结尾文件
其中这个hmg就是记录各个CG的sum值和大小字节数,,,用SBF-Recalc 1.2.8.exe打包时候,,,会自动检测 各个CG的大小,,,如果你做的一个CG跟hmg文件中的记录的大小的一样的话,,,就会被认为sum值一样,,就不会checksum值,,,如果我们直接打包 刷机后,,就会出现sum值的错误,,开机就会失败
所以我们需要修改hmg里面sum值,,,,
首先第一步,,我们打开 SBF-Recalc 1.2.8.exe,,点击 OPen CG-folder 选择了放hmg文件的文件夹,,就会在 SBF-Recalc 1.2.8.exe出现各个CG的sum值
在check一行的下面列出了,,各个CG的sum值,,看下CG36的,,是 3680
我们再用 一个工具 checksum.exe 检测我们自己制作CG36.smg的sum值
点击 windows的左下角的----开始---运行--输入cmd (就会出现一个dos界面)
在里面输入路径,,比如我的checksum.exe放在 D:\\z6_CG中,,CG36.smg放在 E:\\cygwin\\home\\Administrator\\自己制作的CG36.smg
就在dos中输入 D:\\z6_CG\\checksum.exe E:\\cygwin\\home\\Administrator\\自己制作的CG36.smg
结果出来了,,截图一下
结果就是 sum值为 290C
原来的CG36的sum值为 3680
自己做的CG36是sum值 290C
用winHex打开 hmg文件,,Ctrl+AIT+F .查找 8036 (WinHex的sum值跟我们看到的是相反的,,比如sum值为 1234 ,winHex就是3412 懂了吗???)
找到了8036,,一个hmg中一般只可能有一个8036,,好了,,我们用鼠标点击到8036的8上面,,输入 0C29 ,,截个图
改好了,,OK.,,保存
我们再用 SBF-Recalc 1.2.8.exe看下 ,,截个图
是不是CG36的check值变成了 290C 表示我们成功
下面介绍第二种方法,,比较简单的
上面我们说了 如果CG36,smg的字节数跟官方的一样大,,用一定要修改hmg文件,,实在麻烦,,,假如我们的CG36.smg跟官方的不一样呢,,,用SBF-Recalc 1.2.8.exe打包的时候,,就会自动checksum值,,和修改hmg文件的sum值,,是不是很方便,,,
那么设置CG36.smg为好大呢.......有个经验,,,设置为比官方的CG36.smg少16个字节,,是可以正常开机的
用WinHex打开我们已经修改好的CG36.smg ,,鼠标移动到最后一行(也就是 01CFBFF0行) 这一行全部都是FF文件 ,我们就手动删除这一行的内容,,
在最后一行的开头 点击右键 --beginning of block 在最后一行的结尾 点击 --end of block ,,这时我们选中了16个字节,,在选中的字节上,,点击右键 ---Edit---remove ( 也可以用键盘上的 Delete ) 会有一个提示,,点击确定,,,我们就删除了最后一行的16个字节了,,保存一下
我们点击右键查看一下大小 30,392,304 字节
官方的是 30,392,320 字节
是不是刚刚少了16字节
这时你不修改 hmg文件,,SBF-Recalc 1.2.8.exe会自动帮你checksum值的,,,方便嘛,,,我的最新的6月包的CG36.smg 就只有 30,392,304 字节
CG46跟Cg36一样的方法,,,大家不会那么笨嘛,,要学会 融汇变通
下面说一个 WinHex的填充空白字节的技术
比如我们现在的CG43.smg只有 36,864 字节 ..你想把它做成50,000字节的,,怎么办呢
做一个减法 50000-36864=13136 说明我们需要填充 13136字节
用WinHex打开CG43.smg,,把鼠标移动在结尾的字节,,点击右键----Edit--Paste Zero Bytes (也用 Ctrl+0 这个0是零,是数字)
会有提示.点击 确定,,再输入 13136
点击OK ,好了,,但是这个只是填充的00字节,,截图
现在我们要把00字节变成FF字节,,用Ctrl+Ait+H ,,输入 第一行为 00 第二行为 FF ,最下面有个 Replace in block only 要打上勾 (意思是,,只在选中的字段中替换)
点击确定 ,,
替换好了,,保存,,查看一下属性 ,,,发现CG43.smg的字节数为50,000字节,,表示成功了
OK了 ,这个教程都把我整累了,,,教程也应该有个结束了,,,下个教程就讲 制作完整刷机包 |
|