打印

[ROM工具] 11.11 增强对一些特殊ROM兼容性,OS镜像工具osnbtool V1.50 by weisun

本主题由 star3000 于 2008-7-19 11:41 置顶
真希望有P320的工具
謝謝

TOP

引用:
原帖由 weisun 于 2008-8-28 20:36 发表


你的步骤有错吧。。。

我把i900用自己的viewbin出来的nb0解成.os.nb再-extra回去,和原来的nb0完全一致。

另外,我的打包bin的程序能够完全还原和官方rom一致的bin。但是目前由于某些原因不能发布。
i900的exe升级包 ...
麻烦看看我的步骤哪里有错,是直接把bin解包并原封不动打包的过程:
REM 解包
viewbin i900_g4.bin
REM use cvvrbin tool to extract the .bin to .nb0, use the length parameter get from last command, this command generate .nb0 file
cvrtbin -r -a 0 -l 7B47CD0 -w 32 i900_g4.bin
REM use osnbtool to split the .nb0 to .NB, this command generate the .OS.NB file
osnbtool -sp i900_g4.nb0
REM use osnbtool to decompress .OS file to imgfs file, this command generate the imgfs.bin
osnbtool -d i900_g4.nb0.OS.NB 2 imgfs.bin
REM extract the imgfs.bin to dump folder
ImgfsToDump imgfs.bin



REM 重新打包
REM package the dump folder to imgfs-new.bin
ImgfsFromDump  imgfs.bin imgfs-new.bin
REM use .OS template and new imgfs file to genernate new .OS file
osnbtool -c i900_g4.nb0.OS.NB 2 imgfs-new.bin
osnbtool -extra i900_g4.nb0.OS.NB.NEW
ren i900_g4.nb0.OS.NB.NEW.EXT i900_g4-new.nb0 (这里生成的nb0大小就不一样了)
nb0tobin i900_g4-new.nb0 i900_g4-new.bin  (这个工具是我自己写的,生成出来的bin刷到手机不能用,但是如果是使用nbsplit等那一套工具自己切的nb0用它转换就能用)

麻烦看看哪里有误,我的原始bin是从官方G4的_vista.exe里用hex工具切出来的,从偏移量19C647开始大小为7A8CF9B的那部分,应该是完整的pda部分。
如果有必要的话我可以把我工具的源代码给你看看,C#写的,粗糙了点,但基本能看出思路来,我觉得似乎应该没什么问题。

TOP

首先,这一句错了,但是估计是笔误:
ren i900_g4.nb0.OS.NB.NEW.EXT i900_g4-new.nb0 (这里生成的nb0大小就不一样了)
不是EXT而是EXA。

其次,你用imgfsfromdump打包imgfs,.os.nb.new就会变化(一般没有增加文件的话会变小),随后生成的nb0当然也随之变化,但是-extra插入的数据都是正确计算的,可以支持size的变化。

所以怀疑你的2bin程序没有按照标准地址去打包。

我的osnbtool已经搞好的-2bin是完全按照规则打包的,测试过的rom有三星的几乎所有机型,夏新的一些机型以及LG的,刷机试验过的有比较难搞的asus-p320。但是目前由于某种原因暂不公开,请谅解。。。

TOP

EXT是笔误。

我写的nb02bin基本上应该还算可以,确实是前面os.nb.new这里大小就有问题了。
如果不用imgfsfromdump的话,请问用什么?

TOP

我想问vc2005dll.rar在哪里。。。。

TOP

回复 1# weisun 的帖子

这是个好东西,回头在X01T上去试试

TOP

首先感谢weisun大大提供这么好的工具,不过我在解压缩O2 Stealth原版WM5 ROM的时候遇到了些问题, -d参数解压xip正常, 但是在解压imgfs的时候, 发生错误提示如下:
D:\ROMKITCHEN\my_tools\osnbtool_v1.41_by_Weisun>osnbtool.exe -d gbcall.nb0.OS.N
1 imgfs.bin
OS ROM Partition Tool V1.41 By Weisun :> PDAclan.com
Sector size : 0x00001000
Extra data bytes : 0x00000000
OS IMAGE found.
Partitions infomation:
**************************************
Part-0 type: XIP ROM Image
Part-1 type: IMGFS file system
**************************************
ERROR - Part-1 size is wrong!

同样的nb用Prepare_ImgFS.exe能正常提取imgfs, 但是不能加nosplit参数,否则生成的imgfs有问题。

TOP

嘎嘎!谢谢大哥了!。。。

TOP

慢慢学习中

TOP

好好

TOP

1111111111111111111111111

11111111111111111111111
本帖最近评分记录
  • qq108108 智慧 -10 严禁恶意灌水,修改帖子内容后,可免除扣分。 ... 2008-9-20 12:30

TOP

谢谢分享
学习了

TOP

又有更新了,学习去啦。呵呵

TOP

谢谢分享,近日在网上各论坛看了很多ROM定制的文章并下了很多工具,一直没有搞明白怎么从ROM中分解出XIP和imgfs,今天我终于知道用什么工具,怎么去做了.
我顶顶顶顶顶顶你!!!!

TOP

引用:
原帖由 puppywang 于 2008-9-11 01:00 发表
首先感谢weisun大大提供这么好的工具,不过我在解压缩O2 Stealth原版WM5 ROM的时候遇到了些问题, -d参数解压xip正常, 但是在解压imgfs的时候, 发生错误提示如下:
D:\ROMKITCHEN\my_tools\osnbtool_v1.41_by_Weisun>osnbtoo ...
我也是这个问题,而且使用非原版WM6 diskimage_ver.nb0,解压imgfs时,也是这个提示,

但用imgfsfromnb这个工具可以提出来,但是合进去又有问题了。
附件: 您所在的用户组无法下载或查看附件

TOP

回复 167# puppywang 的帖子,回复 175# whtwww 的帖子

rom的imgfs地址或长度不符合标准,osnbtool不能支持。
osnbtool对没有扇区地址的纯os镜像要求各分区实际地址和长度正确,以避免出现不可预料的后果。

如果确认imgfs的起始地址是正确的(比如从机器上导出的RAW-ROM),可以在rom文件末端填充足够的FF(大于等于标称的尺寸都可),用osnbtool -d就可完整导出imgfs分区镜像。

一些imgfs实际地址错误的os镜像一般是用nbsplit -data -extra从有扇区标记的nb0中导出的,这种情况请用osnbtool -sp xxx.nb0来导出.os.nb,这个.os.nb能还原os在内存中的真实结构,不会存在地址和长度错误。

TOP

学习中

TOP

引用:
原帖由 weisun 于 2008-9-25 12:16 发表
rom的imgfs地址或长度不符合标准,osnbtool不能支持。
osnbtool对没有扇区地址的纯os镜像要求各分区实际地址和长度正确,以避免出现不可预料的后果。

如果确认imgfs的起始地址是正确的(比如从机器上导出的RAW-ROM),可以在r ...
还请问weisun老大,如何知道标称尺寸呢?

TOP

学习一下。

TOP

回复 1# weisun 的帖子

谢谢楼主分享

TOP