日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

M636界面部分資源分析

注意:所有的多字節(jié)數(shù)據(jù),都是低位在前,高位在后的 。比如 89 34 00 63 應(yīng)該為0x63003489
很奇怪,左軟鍵彈出菜單在資源文件中找不到 。估計是直接集成到主程序里面的

00000000h: 01 00 04 00 0B 00 10 00 | 31 B2 71 08 7C 18 5F 00
前8個字節(jié)所有版本都一樣的 | 該部分不知道什么意思,每個版本都不盡相同,但同一個版本的界面文件是一樣的
00000010h: FA 02 00 00 這4個字節(jié)表示后面跟的資源地址對的個數(shù),這里表示后面有0x02FA=762個資源
從這之后的開始就是下面這個索引地址對了:
struct
{
DWORD resNo;4字節(jié)的資源號,高兩位都為00 即形如:AB CD 00 00 格式
DWORD address;10H 后表示該索引對應(yīng)資源的偏移地址,從該部分的開頭計算偏移地址【即從0x20860004開始的相對偏移地址】
}RESOURCE_ADDR
索引里面,實際上的圖片,文字,鈴聲等資源僅為420個左右,其他的那些不知道是什么,估計是每一屏幕的菜單資源吧 。
跳轉(zhuǎn)到address 10H的地方,首先是4個字節(jié)的 resNo 的重復(fù),接下來的4個字節(jié)根據(jù)資源文件的不同而有如下區(qū)別:
struct
{
DWORD resNo;4字節(jié)的索引,和INDEX_ADDR.resNo的相同
DWORD length;
對于MID,MMF鈴聲,這四個字節(jié)是大小
對于bmp文件,寬度[WORD] * 高度[WORD],接著的data區(qū)的1000000000000000是文件頭,后面的數(shù)據(jù)的長度是(寬度*高度*2)字節(jié)【導(dǎo)入的時候把24位的bmp文件轉(zhuǎn)換成了16位的文件】
有一種比較特殊的索引,length == resNo,???不知是什么資源,可能是菜單
BYTEdata[]; 具體的數(shù)據(jù)區(qū)
}RESOURCE_DATA
文字分析:
索引為 F92F0000 為中文字符 前12個字符為標識頭,后面4個字符為接下來的 字符串索引 所占的長度,包括自己共有4F04字節(jié),也即有(4F04-4)/4 = 0x13C0個字符串,
再后面則是字符串索引4個字節(jié)一項,按順序排下去,索引對應(yīng)的字符串存放在【偏移地址為:索引本身所在的開始地址+索引存儲的數(shù)值】 。比如:
在0x00171430h處為第一個字符串索引,存放的數(shù)據(jù)為 01 4F 00 00 -> 0x4f01,則該字符串對應(yīng)的存放起始地址為:0x00171430h 0x4f01 = 0x00176631h
第二個字符串索引應(yīng)該位于 (2-1)*40x00171430h = 0x00171434h處
第n個字符串索引應(yīng)該位于 (n-1)*40x00171430h處
后面就是UTF-8編碼的中文字符基本上都是3個字符表達一個漢字的UNICODE編碼,每個字符串之間 00 隔開
索引為 F82F0000 為英文字符 前12個字符為標識頭,英文字符的UTF-8編碼和ASCII碼一致的
菜單項分析:
菜單項偏移地址處應(yīng)該 RESOURCE_DATA.length = RESOURCE_DATA.resNo;
每一個菜單界面應(yīng)該有一個16字節(jié)頭,然后按16字節(jié)一個菜單條目往下編排
struct
{
DWORD dw1; 估計是菜單的屬性,風格
WORD wdreserve; 目前都為0
WORD wdNo1;
WORDwdNo2; 不知是一個什么編號
WORDwd[2];目前都為0
WORDitemNum; 項目個數(shù)
}MENU_HEAD;
struct
{
DWORD dw1;
WORDstrIndex; 菜單項名稱在字符查找表中的序號(取值范圍 1~0x4F04)
WORDwdNo; 不知是一個什么編號,感覺和 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...]

推薦閱讀