WAP手机网站 手机下载 手机软件 手机游戏 手机网游 手机主题 手机图片 手机铃声 手机世界微博
手机游戏攻略

M636界面部分资源分析

beta_guo 3533手机世界 2006-7-11

  注意:所有的多字节数据,都是低位在前,高位在后的。比如 89 34 00 63 应该为0x63003489
 很奇怪,左软键弹出菜单在资源文件中找不到。估计是直接集成到主程序里面的
 
00000000h: 01 00 04 00 0B 00 10 00 | 31 B2 71 08 7C 18 5F 00
         前8个字节所有版本都一样的 | 该部分不知道什么意思,每个版本都不尽相同,但同一个版本的界面文件是一样的
00000010h: FA 02 00 00 这4个字节表示后面跟的资源地址对的个数,这里表示后面有0x02FA=762个资源
从这之后的开始就是下面这个索引地址对了:
struct
{
 DWORD resNo;  4字节的资源号,高两位都为00 即形如:AB CD 00 00 格式
 DWORD address; +10H 后表示该索引对应资源的偏移地址,从该部分的开头计算偏移地址【即从0x20860004开始的相对偏移地址】
}RESOURCE_ADDR
索引里面,实际上的图片,文字,铃声等资源仅为420个左右,其他的那些不知道是什么,估计是每一屏幕的菜单资源吧。

跳转到address+10H的地方,首先是4个字节的 resNo 的重复,接下来的4个字节根据资源文件的不同而有如下区别:
struct
{
 DWORD resNo;  4字节的索引,和INDEX_ADDR.resNo的相同
 DWORD length;
        对于MID,MMF铃声,这四个字节是大小
        对于bmp文件,宽度[WORD] * 高度[WORD],接着的data区的1000000000000000是文件头,后面的数据的长度是(宽度*高度*2)字节【导入的时候把24位的bmp文件转换成了16位的文件】
               有一种比较特殊的索引,length == resNo,???不知是什么资源,可能是菜单
 BYTE  data[]; 具体的数据区
}RESOURCE_DATA

文字分析:
索引为 F92F0000 为中文字符 前12个字符为标识头,后面4个字符为接下来的 字符串索引 所占的长度,包括自己共有4F04字节,也即有(4F04-4)/4 = 0x13C0个字符串,
再后面则是字符串索引4个字节一项,按顺序排下去,索引对应的字符串存放在【偏移地址为:索引本身所在的开始地址+索引存储的数值】。比如:
在0x00171430h处为第一个字符串索引,存放的数据为 01 4F 00 00 -> 0x4f01,则该字符串对应的存放起始地址为:0x00171430h+0x4f01 = 0x00176631h
第二个字符串索引应该位于 (2-1)*4 + 0x00171430h = 0x00171434h处
第n个字符串索引应该位于 (n-1)*4 + 0x00171430h处

后面就是UTF-8编码的中文字符基本上都是3个字符表达一个汉字的UNICODE编码,每个字符串之间 00 隔开

索引为 F82F0000 为英文字符 前12个字符为标识头,英文字符的UTF-8编码和ASCII码一致的

 

菜单项分析:
菜单项偏移地址处应该 RESOURCE_DATA.length = RESOURCE_DATA.resNo;
每一个菜单界面应该有一个16字节头,然后按16字节一个菜单条目往下编排
struct
{
 DWORD dw1; 估计是菜单的属性,风格
 WORD wdreserve; 目前都为0
 WORD wdNo1;
 WORD  wdNo2; 不知是一个什么编号
 WORD  wd[2];  目前都为0
 WORD  itemNum; 项目个数
}MENU_HEAD;
struct
{
 DWORD dw1;
 WORD  strIndex; 菜单项名称在字符查找表中的序号(取值范围 1~0x4F04)
 WORD  wdNo; 不知是一个什么编号,感觉和 MENU_HEAD.wdNo 是在同一个空间里面的编号
 DWORD subIndex;
       对于仍有子菜单的项目,该位置存储子菜单项目的资源号(INDEX_DATA.index)
       对于没有子菜单的项目,填充0
 DWORD dw2; 目前都为0
}MENU_ITEM;

1 电话本菜单编排:
22900000资源:
  80041200 00002600
  E600 0000 0000 0800 8个菜单项 [060310:E300...]
  00000000 ED11 E700 00000000 00000000 火拼速查 [060310:...ED11 E400...]
  00007A1B C500 0000 F19F0000 00000000 查找
  0000791B A60E EC00 00000000 00000000 添加 [060310:...A60E E900...]
  0000781B FC10 E900 00000000 00000000 群组管理 [060310:...FC10 E600...]
  00005D1F 2200 0000 F89F0000 00000000 通话信息
  00007B1B 8C02 2201 00000000 00000000 快速拨号 [060310:...8C02 1F01...]
  0000771B 2902 0000 F09F0000 00000000 电话本管理
  0000761B 5702 0000 F99F0000 00000000 资料室

2 信息菜单编排:
16900000资源:
  80041200 00003000
  1C010000 0000 0600 6个菜单项 [060310:1901...]
  00000D1C 0700 0000 26900000 00000000 短信
  00000E1C ED04 7D00 27900000 00000000 彩信
  0000C31E 9602 0000 EB9F0000 00000000 语音信箱
  00005523 8802 0000 F79F0000 00000000 小区广播
  0000751B B612 0000 E89F0000 00000000 空间查看
  0000C41E 9402 0000 EA9F0000 00000000 信息设置

小区广播菜单编排:
F79F0000资源:
  0000A208 00008802 [060310:...00002700]
  00000000 0000 0300 3个菜单项
  00000000 EC02 3800 00000000 00000000 读广播消息
  0000FA05 9A02 3900 00000000 00000000 自动显示
  00000000 ED02 0000 F69F0000 00000000 频道选择
  

3 音画效果菜单编排:
18900000资源:
  80041200 0000 2900
  00000000 0000 0700 7个菜单项
  00000000 1300 0000 E59F0000 00000000 铃声选择
  00000000 FD10 0000 D99F0000 00000000 效果音设置
  00009F1F 7B04 2500 00000000 00000000 提示方式 [060310:..7B04 2400...]
  0000A01F 3203 2400 00000000 00000000 音量调整 [060310:..3203 2300...]
  00000000 0F00 0000 E49F0000 00000000 待机设置
  00000000 0111 0000 E39F0000 00000000 隐藏信息设置
  00000000 3F04 0000 D89F0000 00000000 开关机效果

5 影音休闲菜单编排:
1C900000资源:
  80041200 00000411 这一段不知道是什么
  00000000 0000 0600 是指示项数的,表示总共有6条项目
  00000B1C 240C 0000 1E900000 00000000 ;照相机->进入子菜单 240C反转后是(0C24-1)*4+字符查找表起始地址(0x00171430),找到对应的字符串索引 后面指示对应子菜单的索引 901E0000
  0000421C 4100 0501 00000000 00000000 ;MP3播放器->直接进入程序 [060310:..4100 0201...]
  0000411C 4200 1E00 00000000 00000000 ;电影院->直接进入程序
  0000501E 2A00 4401 00000000 00000000 ;调频收音机->直接进入程序 [060310:..2A00 4101...]
  00000000 4007 0200 00000000 00000000 ;电子书
  00000000 2700 0000 F59F0000 00000000 ;游戏->进入子菜单【java版本的该地方为 无线java】

照相机菜单编排:
1E900000资源:
  80044200 0000240C
  00000000 0000 0400 4个菜单项
  0000AD1C 250C 0500 00000000 00000000 拍摄照片->直接进入程序
  0000651C E012 0301 00000000 00000000 拍摄视频->直接进入程序
  0000AC1C 270C 0400 00000000 00000000 浏览照片->直接进入程序
  0000651C E112 0401 00000000 00000000 浏览视频->直接进入程序           

游戏菜单编排:【java版本也采用此资源】
F59F0000资源:
  0000A208 00002700
  00000000 0000 0300 3个菜单项
  00000000 F310 0000 F49F0000 00000000 五子棋->进入子菜单
  00000000 F409 0800 00000000 00000000 俄罗斯方块->进入子菜单
  00000000 EE09 0700 00000000 00000000 推箱子->进入子菜单
  Java版本:
  0000A208 00003805
  00000000 00000500
  00000000 3E05 9300 00000000 00000000 应用管理器
  00000000 8C00 9600 00000000 00000000 剩余空间
  00000000 0A00 9200 00000000 00000000 设置
  00000000 3400 0000 F49F0000 00000000 下载资源
  00000000 9401 6801 00000000 00000000 重置

五子棋菜单编排:
F49F0000资源:
  0000A208 0000F310
  00000000 0000 0400 4个菜单项
  00000000 9000 0000 F39F0000 00000000 新游戏->进入子菜单
  0000F420 8B0C 2801 00000000 00000000 载入游戏->直接进入游戏
  00000000 F410 0000 F29F0000 00000000 等级选择->进入子菜单
  00000000 9200 2A01 00000000 00000000 游戏规则->查看游戏帮助 打开0x1109序号的字符串

五子棋->新游戏菜单编排:
F39F0000资源:
  0000A208 00009000
  00000000 0000 0200 2个菜单项
  0000F220 F510 2801 00000000 00000000 先手->直接进入游戏
  0000F320 F610 2801 00000000 00000000 后手->直接进入游戏

五子棋->等级选择菜单编排:
F29F0000资源:
  00002209 0000F410
  2B010000 0000 0300 3个菜单项
  0000F520 9E00 2901 00000000 00000000 初级 打对勾表示选择【设置选项】
  0000F620 9F00 2901 00000000 00000000 中级
  0000F720 A000 2901 00000000 00000000 高级

6 工具箱菜单编排:
1A900000资源:
  80041200 00000B00
  00000000 0000 0800 8个菜单项
  00009D20 1C00 0100 00000000 00000000 闹钟
  00000000 6406 2301 00000000 00000000 日程管理
  0000DF22 A20B 0000 DC9F0000 00000000 词典
  0000221C 1D00 0A01 00000000 00000000 计算器
  0000BD20 2000 2701 00000000 00000000 录音机
  0000801B 2500 4301 00000000 00000000 便笺
  0000991C 1F00 9D00 00000000 00000000 电脑通信
  00000000 910E 0000 DD9F0000 00000000 其它

7 互联网菜单编排:
17900000资源:
  80041200 00000400
  22000000 0000 0400 4个菜单项
  00000000 B912 8300 00000000 00000000 手机音乐专区
  00000000 BA12 8400 00000000 00000000 声色炫彩铃
  00000000 BB12 8500 00000000 00000000 免费天气预报
  00000614 B004 7C00 00000000 00000000 主页

8 设置菜单编排:
19900000资源:
  80041200 00000A00
  00000000 0000 0500 5个菜单项
  00005E06 FC02 FF00 00000000 00000000 时间设置
  00000000 1800 0000 EC9F0000 00000000 话机设置
  00000000 1500 0000 E29F0000 00000000 通话设置
  0000F609 1900 0000 3F900000 00000000 网络设置
  00008B1F 3300 0000 EF9F0000 00000000 安全信息


 

手机资讯


手机资讯
索尼爱立信LT15i领衔 超值Android手机推荐
轻巧纤薄方便易携带 6款轻薄手机产品推荐
逐个功能击破 8大iPhone 4S对抗强机荐
hold住不买iPhone4S 国庆后暴跌机搜罗
降至1千5百元左右的智能强机 热门推荐
娱乐社交利器 八大键盘触控安卓手机推荐
最低仅售300元 超高性价比行货手机推荐
十一畅销手机大盘点 iPhone4价格下调
价低功能也样样齐 1500元左右智能手机
苹果iPhone 4S发布 近期降价手机盘点



手机资讯
夏新M636 入手7天感受
M636之缺陷
为M636制作硅胶套
夏新 M639去客服升级的遭遇
入手6362个月,客观评判其利弊
节省摇杆使用率的方法
只买对的不买贵的夏新M636
M636 060724与070129版本的对比
M636一次群发300条短信全攻略
夏新 M636的实际拍照效果
手机论坛


  诺基亚手机 苹果手机 HTC手机 三星手机 摩托罗拉手机 索爱手机