Samsung内核研究教程3-ResMan配置文件的制作
作者:chaojimali20(真水无香)
摘要:该文主要介绍如何制作Resman的配置文件RXT,有了RXT文件,我们就可以打开相应固件的资源文件
关键字:ResMan RXT 配置文件
Samsung内核研究教程3-ResMan配置文件的制作
大家都知道ResMan是一款功能强大的FirmWare修改软件,可以方便的打开图片、铃声、文字等资源文件,然后就可以进行相应的置换了。同时我们也发现,用ResMan打开有些固件后,ResMan提示“未找到相应的固件版本”这样的提示信息。这是因为在ResMan的安装文件夹内,有一个Firmware 文件夹,其中包含ResMan支持的所有固件的RXT文件,有了这些RXT文件,ResMan就可以方便的打开该固件的资源了。说到这里就涉及我们今天的主题了,如何制作这种RXT文件呢?呵呵,今天我就介绍这种配置文件的制作方法!(本文以制作E358 J2为例进行讲述,但是方法适用于ResMan支持的所有机型)
RXT文件可以用记事本打开,所以今天我们就用记事本来创建这种配置文件;RXT有自己特定的格式,所以最方便的方法就是拿一个已有的RXT文件做模板,然后修改其中需要修改的部分就可以了。
小图片可以用ResMan自动搜索一下,一般大图片搜索不到,所以就用下面我提供的软件来搜索图片
我们今天以D508F4的RXT文件为模板,制作E358 J2的RXT配置文件!
1、D508F4的RXT文件
<bin name="D508ZMEF4.cla" size="25627444" idofs="0x010300C1" id="D508ZMEF4">
<cfg freestart="0x1880000" freeend="0xDFFFFF">
<screen filename="" width="176" height="220">我们来看上面这一组参数,很重要的哦!
bin name:固件的名称,在这里我们做的是E358J2的配置文件,所以我们填bin name: “E358ZCEJ2.bin”(记住两点:第一就是该固件的完整名称E358ZCEJ2;第二就是要带后缀bin)
size:就是固件的大小,我们可以点右键-属性看固件的大小 size="18780752"
idofs:手机名称在固件中的地址,如何得到这个地址呢?有两种方法可以得到:
第一种方法就是用Hexworkshop来找这个地址,我们打开Hexworkshop,然后打开我们的E358 J2
然后点右键-查找
然后点查找文本,内容为固件名称E358ZCEJ2
我们查找到四个名称,具体是哪个呢?idofs的意思就是资源开始的地址,所以一般第一个找到的固件名称就是需要的地址。所以在这里我们就填idofs="0x001045D4"
(提示:ResMan打开固件提示错误,那说明不是那个地址,要用下一个地址)
我们再来学第二种方法,这种方法比较简单一些:
首先打开Resourse Manager5.4 Pro,然后打开我们的固件E358 J2
软件弹出一个对话框,提示我们不能自动加载该固件的资源,我们需要从列表中选择相应的固件版本
我们不用管它,直接点右下脚的“试添加”,然后弹出 添加新固件版本 的窗口,里面包含了该固件的一些基本信息,如文件名,大小等等
我们点右下脚的查找,就自动查找到我们需要的参数
其中“版本ID地址:0x001045D4“就是idofs的值,所以我们填上idofs="0x001045D4";
下面蓝线部分的“空白地址“栏是什么呢?其实它就是我们下一组参数<cfg freestart和 freeend>的值,我们按照查找到的,依次填上<cfg freestart="0x11F0000" freeend="0x15FFFFF">
(提示:ResMan打开固件提示错误,那说明不是那个地址,我们就要另外搜索)
id:固件的名称,注意这里是不带后缀的,所以是E358ZCEJ2
cfg freestart:如上所述
freeend: 如上所述
按照上面整理完以后,参数应该是这样的
<bin name="E358ZCEJ2.bin" size="18780752" idofs="0x001045D4" id="E358ZCEJ2">
<cfg freestart="0x11F0000" freeend="0x15FFFFF">
下面一部分表示的是屏幕的显示尺寸,因为E358的屏幕大小是128X160,所以我们按如下进行设置:
screen filename: screenE358.gif
width:128
height:160
综合起来就是<screen filename=" screenE358.gif " width="128" height="160">
上面的关于固件的参数填写完以后,我们就该正式进入资源文件的地址配置了,仔细看每一个组,都是由这样的参数开始的 <group title=" ">,它表示的是资源的分组情况,一般来说,我们按大的组可以分为铃声、图片、文字等,再细分下去,铃声可以分成来电铃声,短信铃声,开机铃声等等,图片也可以分为开机图片,待机图片,发送短信图片,电池天线等等。我们这里先定义一个图片的组,所以填写<group title=”图片组">空白部分</group>
大家注意,其中“空白部分”是可以无限的嵌套的,也就是说可以插入分组,可以在里面插入开机图片,电池天线等图片分组,并且按照RXT配置文件的格式,他们都要以</group>为结束标志――表示某个分组终结,比如下面我们创建一个开机图片组:
<group title = "图片组">
<group title = "开机图片动画 "> {创建开机动画组}
</group> {开机动画组的结束标志}
</group> {图片组的结束标志}
我们来创建一个开机图片组,先看看它的格式
img ofs = 图片在固件中的偏移地址-至于查找方法我们下面再谈
title = 图片名称-在这里我们就填“开机动画”
count = 动画的帧数-大家都知道GIF动画一般是由若干帧组成的,这里代表就是帧数(BMP图片的话就填1)
width =图片宽度-128
height = 图片高度-160
bpp =图片的颜色模式
很多人不理解或者对这个了解的比较模糊,在这里我大概的介绍一下这个参数(表述的有误的地方还请大家批评指正)
它表示的是图片的色彩模式,也就是固件中的图片一共由多少位。其中各个参数表示如下:
1 bits –黑白图,常用于固件中的EMS图片或者动画
2 bits – 有四种灰度变化模式(手机固件中应用很少 )
4 bits – 16 色(常用于一些手机的外屏)
8 bits – 256色 (常用于一些手机的外屏)
12 bits – 4096色(常用于一些手机的外屏)
16 bits – 65536色,这种也是我们应用最多的一种颜色模式,E358就是这种颜色模式,也就是常说的65K色
18 bits – 262144色-也就是广告上经常提到的26万色
24 bits – 16777216色. 这种应用的比较少,一般应用在高档手机上。
了解了上面的参数,主要是图片地址的寻找,其他几个参数大家都可以直接填写的,怎样搜索固件中的图片呢?我下面以我汉化的几个搜索固件中图片资源的软件进行简单的说明(更详细的教程请参考 Samsung内核研究教程2-关于BIN文件图片的处理)
1、首先打开软件Image Search Editor,然后打开 E358J2.bin 文件
2、打开E358J2.BIN的固件后出现如下画面,显示的是花屏,因为打开默认的是单色图片,我们要查找的一般都是真彩色的,所以显示的是花屏,不要急`49`49
3、我们看看软件的工作界面
菜单栏:菜单栏我就不多说了,大家看看各个菜单的就知道是什么意思了
快捷图表栏:快捷图标栏就是把常用的菜单以象形图标的形式放在该区域,把鼠标放在每个快捷图标上就可以看见其功能了
图片预览区:图片预览区就是预览要查找的图片在固件中的存在形式
状态栏:状态栏是显示你打开的固件的一些信息,最前面的是偏移地址,即该图片在固件中的位置,前面是十六进制,括号里面的是十进制的地址;中间的是颜色和图片尺寸,128X128表示的是宽度128象素,高度128象素;最后面的是该图片的颜色模式。
颜色模式列表:他们的单位都是bpp,我翻译成位/象素,也不知道翻译的对不对,呵呵
书签列表:管理和编辑书签的地方,我们把查找到的图片加入书签列表,下次就可以直接使用了;也可以再这个区域管理和编辑相关的书签
4、我们要查找图片,首先我们先确定自己要查找固件的色彩和大小,比如说我们今天要查找的E358J2真水无香版.BIN,他的色彩是65K色,也就是16bpp,我们查找他的待机图片,他的大小是128X160,所以我们先选择色彩16bpp,然后点菜单中的 尺寸-设定图片尺寸(也可以点快捷图标区的图标)
5、设置好后打开的图片就是下图这样的,显示的是画屏,看看状态栏,因为在开始位置,所以显示00000000,大小是我们刚才设置的128X160,色彩是16bpp (65536)
6、好了,设置完成了,我们就开始查找图片了,看看导航菜单,里面有相关的菜单,尺寸确定了以后我们主要应用的是Shift+键盘上的上、下、左、右分别是把图片向上、向下、向左和向右移动,我们按住Shift+键盘上的向上方向键,一直按住就可以找到了,小窍门,我们可以自己判断一个地址,先转到一个地址,然后从这个地址开始查找,我们点 导航--转到偏移,设定一个地址,就从这个开始查找。查找图片是一件很枯燥的事情,呵呵,要做好思想准备,不过找到了以后,就可以一直使用了,呵呵,算是苦了你一个幸福千万人吧
终于在位于地址863350的位置找到第一张128X160的图片,是刚开机时候出现的一个图片
好了开机图片我们就找到了(这个是E358 J2开机时候的一帧图片,不是它的开机动画),我们按照上面的参数填写这一组数据:
<group title="开机图片">
<img ofs="0x00863350" title="开机画面" count="1" width="128" height="160" bpp="16">
</group>
如果是一个动画,那怎么填写呢?当然了动画是由一帧一帧的BMP组成的,你可以一个一个的填写BMP的地址和其他参数,不过那样有些麻烦。我们要善于利用Count这个参数,我们以发送短信的动画为例子,首先用Image Search Editor找到第一副发送短信的地址,它位于00DC14EA处,我们经过上下翻页知道它一共由15张图片组成
所以我们可按如下填写发短信动画的参数
<img ofs="0x00DC14EA " title="发短信动画" count="15" width="128" height="84" bpp="16">
</group>这样是不是比写15个BMP分组省不少事呢?^_^
其他图片参数制作就按照上面的例子,找图片是做配置文件最麻烦的事情,很费时间,呵呵,大家做好思想准备!
铃声配置文件的制作很简单,因为配置文件的制作最麻烦的就是找资源文件的地址,图片的地址很难找,但是铃声的地址就好找多了,我们可以用Hexworkshop或者三星DIY都可以。如果用Hexworkshop,因为MMF铃声的头是4D4D4D44,所以我们在Hexworkshop查找它就可以找到所有的MMF铃声的地址
三星DIY就不用说了,打开BIN文件,点获取铃声地址表就可以了!有了地址,我们怎样填写参数呢?我们按照如下格式设置参数
<mmftable title="铃声 ofs="0x21FFA4" reclen="4">
<group title="来电铃声">
<mmf index="1" title="来电铃声1">
<mmf index="2" title="来电铃声2">
.
.
.
</group>
</group>
</mmftable>结构和图片的结构是相似的,由<mmftable>开始,以</mmftable>结束,中间可以无限的嵌套,也就是尽心分组!第一个ofs是这一个组铃声的开始地址。按照铃声的序号进行填充就可以了!
OK,配置文件的制作就是这么简单,找图片的地址是很浩大的工程!最好是几个人协作完成,铃声的地址好找,除了Resman其他的修改工具也多,这个比较好处理;至于文字部分,大家可以打开一个ResMan自带的配置文件看看,其实和图片铃声基本是相同的
转载请保持文章的完整性,谢谢!
作者:chaojimali20(真水无香)
摘要:该文主要介绍如何制作Resman的配置文件RXT,有了RXT文件,我们就可以打开相应固件的资源文件
关键字:ResMan RXT 配置文件
Samsung内核研究教程3-ResMan配置文件的制作
大家都知道ResMan是一款功能强大的FirmWare修改软件,可以方便的打开图片、铃声、文字等资源文件,然后就可以进行相应的置换了。同时我们也发现,用ResMan打开有些固件后,ResMan提示“未找到相应的固件版本”这样的提示信息。这是因为在ResMan的安装文件夹内,有一个Firmware 文件夹,其中包含ResMan支持的所有固件的RXT文件,有了这些RXT文件,ResMan就可以方便的打开该固件的资源了。说到这里就涉及我们今天的主题了,如何制作这种RXT文件呢?呵呵,今天我就介绍这种配置文件的制作方法!(本文以制作E358 J2为例进行讲述,但是方法适用于ResMan支持的所有机型)
RXT文件可以用记事本打开,所以今天我们就用记事本来创建这种配置文件;RXT有自己特定的格式,所以最方便的方法就是拿一个已有的RXT文件做模板,然后修改其中需要修改的部分就可以了。
小图片可以用ResMan自动搜索一下,一般大图片搜索不到,所以就用下面我提供的软件来搜索图片
我们今天以D508F4的RXT文件为模板,制作E358 J2的RXT配置文件!
1、D508F4的RXT文件
<bin name="D508ZMEF4.cla" size="25627444" idofs="0x010300C1" id="D508ZMEF4">
<cfg freestart="0x1880000" freeend="0xDFFFFF">
<screen filename="" width="176" height="220">我们来看上面这一组参数,很重要的哦!
bin name:固件的名称,在这里我们做的是E358J2的配置文件,所以我们填bin name: “E358ZCEJ2.bin”(记住两点:第一就是该固件的完整名称E358ZCEJ2;第二就是要带后缀bin)
size:就是固件的大小,我们可以点右键-属性看固件的大小 size="18780752"
idofs:手机名称在固件中的地址,如何得到这个地址呢?有两种方法可以得到:
第一种方法就是用Hexworkshop来找这个地址,我们打开Hexworkshop,然后打开我们的E358 J2
然后点右键-查找
然后点查找文本,内容为固件名称E358ZCEJ2
我们查找到四个名称,具体是哪个呢?idofs的意思就是资源开始的地址,所以一般第一个找到的固件名称就是需要的地址。所以在这里我们就填idofs="0x001045D4"
(提示:ResMan打开固件提示错误,那说明不是那个地址,要用下一个地址)
我们再来学第二种方法,这种方法比较简单一些:
首先打开Resourse Manager5.4 Pro,然后打开我们的固件E358 J2
软件弹出一个对话框,提示我们不能自动加载该固件的资源,我们需要从列表中选择相应的固件版本
我们不用管它,直接点右下脚的“试添加”,然后弹出 添加新固件版本 的窗口,里面包含了该固件的一些基本信息,如文件名,大小等等
我们点右下脚的查找,就自动查找到我们需要的参数
其中“版本ID地址:0x001045D4“就是idofs的值,所以我们填上idofs="0x001045D4";
下面蓝线部分的“空白地址“栏是什么呢?其实它就是我们下一组参数<cfg freestart和 freeend>的值,我们按照查找到的,依次填上<cfg freestart="0x11F0000" freeend="0x15FFFFF">
(提示:ResMan打开固件提示错误,那说明不是那个地址,我们就要另外搜索)
id:固件的名称,注意这里是不带后缀的,所以是E358ZCEJ2
cfg freestart:如上所述
freeend: 如上所述
按照上面整理完以后,参数应该是这样的
<bin name="E358ZCEJ2.bin" size="18780752" idofs="0x001045D4" id="E358ZCEJ2">
<cfg freestart="0x11F0000" freeend="0x15FFFFF">
下面一部分表示的是屏幕的显示尺寸,因为E358的屏幕大小是128X160,所以我们按如下进行设置:
screen filename: screenE358.gif
width:128
height:160
综合起来就是<screen filename=" screenE358.gif " width="128" height="160">
上面的关于固件的参数填写完以后,我们就该正式进入资源文件的地址配置了,仔细看每一个组,都是由这样的参数开始的 <group title=" ">,它表示的是资源的分组情况,一般来说,我们按大的组可以分为铃声、图片、文字等,再细分下去,铃声可以分成来电铃声,短信铃声,开机铃声等等,图片也可以分为开机图片,待机图片,发送短信图片,电池天线等等。我们这里先定义一个图片的组,所以填写<group title=”图片组">空白部分</group>
大家注意,其中“空白部分”是可以无限的嵌套的,也就是说可以插入分组,可以在里面插入开机图片,电池天线等图片分组,并且按照RXT配置文件的格式,他们都要以</group>为结束标志――表示某个分组终结,比如下面我们创建一个开机图片组:
<group title = "图片组">
<group title = "开机图片动画 "> {创建开机动画组}
</group> {开机动画组的结束标志}
</group> {图片组的结束标志}
我们来创建一个开机图片组,先看看它的格式
img ofs = 图片在固件中的偏移地址-至于查找方法我们下面再谈
title = 图片名称-在这里我们就填“开机动画”
count = 动画的帧数-大家都知道GIF动画一般是由若干帧组成的,这里代表就是帧数(BMP图片的话就填1)
width =图片宽度-128
height = 图片高度-160
bpp =图片的颜色模式
很多人不理解或者对这个了解的比较模糊,在这里我大概的介绍一下这个参数(表述的有误的地方还请大家批评指正)
它表示的是图片的色彩模式,也就是固件中的图片一共由多少位。其中各个参数表示如下:
1 bits –黑白图,常用于固件中的EMS图片或者动画
2 bits – 有四种灰度变化模式(手机固件中应用很少 )
4 bits – 16 色(常用于一些手机的外屏)
8 bits – 256色 (常用于一些手机的外屏)
12 bits – 4096色(常用于一些手机的外屏)
16 bits – 65536色,这种也是我们应用最多的一种颜色模式,E358就是这种颜色模式,也就是常说的65K色
18 bits – 262144色-也就是广告上经常提到的26万色
24 bits – 16777216色. 这种应用的比较少,一般应用在高档手机上。
了解了上面的参数,主要是图片地址的寻找,其他几个参数大家都可以直接填写的,怎样搜索固件中的图片呢?我下面以我汉化的几个搜索固件中图片资源的软件进行简单的说明(更详细的教程请参考 Samsung内核研究教程2-关于BIN文件图片的处理)
1、首先打开软件Image Search Editor,然后打开 E358J2.bin 文件
2、打开E358J2.BIN的固件后出现如下画面,显示的是花屏,因为打开默认的是单色图片,我们要查找的一般都是真彩色的,所以显示的是花屏,不要急`49`49
3、我们看看软件的工作界面
菜单栏:菜单栏我就不多说了,大家看看各个菜单的就知道是什么意思了
快捷图表栏:快捷图标栏就是把常用的菜单以象形图标的形式放在该区域,把鼠标放在每个快捷图标上就可以看见其功能了
图片预览区:图片预览区就是预览要查找的图片在固件中的存在形式
状态栏:状态栏是显示你打开的固件的一些信息,最前面的是偏移地址,即该图片在固件中的位置,前面是十六进制,括号里面的是十进制的地址;中间的是颜色和图片尺寸,128X128表示的是宽度128象素,高度128象素;最后面的是该图片的颜色模式。
颜色模式列表:他们的单位都是bpp,我翻译成位/象素,也不知道翻译的对不对,呵呵
书签列表:管理和编辑书签的地方,我们把查找到的图片加入书签列表,下次就可以直接使用了;也可以再这个区域管理和编辑相关的书签
4、我们要查找图片,首先我们先确定自己要查找固件的色彩和大小,比如说我们今天要查找的E358J2真水无香版.BIN,他的色彩是65K色,也就是16bpp,我们查找他的待机图片,他的大小是128X160,所以我们先选择色彩16bpp,然后点菜单中的 尺寸-设定图片尺寸(也可以点快捷图标区的图标)
5、设置好后打开的图片就是下图这样的,显示的是画屏,看看状态栏,因为在开始位置,所以显示00000000,大小是我们刚才设置的128X160,色彩是16bpp (65536)
6、好了,设置完成了,我们就开始查找图片了,看看导航菜单,里面有相关的菜单,尺寸确定了以后我们主要应用的是Shift+键盘上的上、下、左、右分别是把图片向上、向下、向左和向右移动,我们按住Shift+键盘上的向上方向键,一直按住就可以找到了,小窍门,我们可以自己判断一个地址,先转到一个地址,然后从这个地址开始查找,我们点 导航--转到偏移,设定一个地址,就从这个开始查找。查找图片是一件很枯燥的事情,呵呵,要做好思想准备,不过找到了以后,就可以一直使用了,呵呵,算是苦了你一个幸福千万人吧
终于在位于地址863350的位置找到第一张128X160的图片,是刚开机时候出现的一个图片
好了开机图片我们就找到了(这个是E358 J2开机时候的一帧图片,不是它的开机动画),我们按照上面的参数填写这一组数据:
<group title="开机图片">
<img ofs="0x00863350" title="开机画面" count="1" width="128" height="160" bpp="16">
</group>
如果是一个动画,那怎么填写呢?当然了动画是由一帧一帧的BMP组成的,你可以一个一个的填写BMP的地址和其他参数,不过那样有些麻烦。我们要善于利用Count这个参数,我们以发送短信的动画为例子,首先用Image Search Editor找到第一副发送短信的地址,它位于00DC14EA处,我们经过上下翻页知道它一共由15张图片组成
所以我们可按如下填写发短信动画的参数
<img ofs="0x00DC14EA " title="发短信动画" count="15" width="128" height="84" bpp="16">
</group>这样是不是比写15个BMP分组省不少事呢?^_^
其他图片参数制作就按照上面的例子,找图片是做配置文件最麻烦的事情,很费时间,呵呵,大家做好思想准备!
铃声配置文件的制作很简单,因为配置文件的制作最麻烦的就是找资源文件的地址,图片的地址很难找,但是铃声的地址就好找多了,我们可以用Hexworkshop或者三星DIY都可以。如果用Hexworkshop,因为MMF铃声的头是4D4D4D44,所以我们在Hexworkshop查找它就可以找到所有的MMF铃声的地址
三星DIY就不用说了,打开BIN文件,点获取铃声地址表就可以了!有了地址,我们怎样填写参数呢?我们按照如下格式设置参数
<mmftable title="铃声 ofs="0x21FFA4" reclen="4">
<group title="来电铃声">
<mmf index="1" title="来电铃声1">
<mmf index="2" title="来电铃声2">
.
.
.
</group>
</group>
</mmftable>结构和图片的结构是相似的,由<mmftable>开始,以</mmftable>结束,中间可以无限的嵌套,也就是尽心分组!第一个ofs是这一个组铃声的开始地址。按照铃声的序号进行填充就可以了!
OK,配置文件的制作就是这么简单,找图片的地址是很浩大的工程!最好是几个人协作完成,铃声的地址好找,除了Resman其他的修改工具也多,这个比较好处理;至于文字部分,大家可以打开一个ResMan自带的配置文件看看,其实和图片铃声基本是相同的
转载请保持文章的完整性,谢谢!
附件
-
245 KB 查看: 0
-
22 KB 查看: 0
-
507 KB 查看: 0
-
5 KB 查看: 0