huajia 发表于 2005-8-12 00:00:00

[分享]通讯录的结构

通讯录的结构(以X618为例):
0x084:5DE6 10                db10h ;字符数量 - 16进制
0x084:5DE7 00                db    0 ;
0x084:5DE8 04                db    4 ;输入法 - 2(123),3(abc,Abc,123),4(全部),5(123,但*为小数点),6(123有光标覆盖)
0x084:5DE9 00                db    0 ;
0x084:5DEA 5A                db5Ah ;名字: - 字串
0x084:5DEB 02                db    2 ;
0x084:5DEC 0C                db0Ch ;控制代码 - 比如编辑条目时可调用相同代码的通讯录条目,查看时光标在电话号码时右软键显示“音拨号”
0x084:5DED 00                db    0 ;
0x084:5DEE 18                db18h ;字符数量
0x084:5DEF 00                db    0 ;
0x084:5DF0 04                db    4 ;输入法
0x084:5DF1 00                db    0 ;
0x084:5DF2 76                db76h ;姓:
0x084:5DF3 01                db    1 ;
0x084:5DF4 06                db    6 ;控制代码
0x084:5DF5 00                db    0 ;
0x084:5DF6 10                db10h ;字符数量
0x084:5DF7 00                db    0 ;
0x084:5DF8 04                db    4 ;输入法
0x084:5DF9 00                db    0 ;
0x084:5DFA EB                db 0EBh ;公司:
0x084:5DFB 00                db    0 ;
0x084:5DFC 09                db    9 ;控制代码
0x084:5DFD 00                db    0 ;
0x084:5DFE 28                db28h ;字符数量
0x084:5DFF 00                db    0 ;
0x084:5E00 03                db    3 ;输入法
0x084:5E01 00                db    0 ;
0x084:5E02 B0                db 0B0h ;电子邮件:
0x084:5E03 00                db    0 ;
0x084:5E04 0F                db0Fh ;控制代码
0x084:5E05 00                db    0 ;
0x084:5E06 29                db29h ;字符数量
0x084:5E07 00                db    0 ;
0x084:5E08 02                db    2 ;输入法
0x084:5E09 00                db    0 ;
0x084:5E0A 2A                db2Ah ;私人电话:
0x084:5E0B 02                db    2 ;
0x084:5E0C 0D                db0Dh ;控制代码
0x084:5E0D 00                db    0 ;
0x084:5E0E 29                db29h ;字符数量
0x084:5E0F 00                db    0 ;
0x084:5E10 02                db    2 ;输入法
0x084:5E11 00                db    0 ;
0x084:5E12 28                db28h ;公司电话:
0x084:5E13 02                db    2 ;
0x084:5E14 0D                db0Dh ;控制代码
0x084:5E15 00                db    0 ;
0x084:5E16 29                db29h ;字符数量
0x084:5E17 00                db    0 ;
0x084:5E18 02                db    2 ;输入法
0x084:5E19 00                db    0 ;
0x084:5E1A 29                db29h ;移动电话:
0x084:5E1B 02                db    2 ;
0x084:5E1C 0D                db0Dh ;控制代码
0x084:5E1D 00                db    0 ;
0x084:5E1E 29                db29h ;字符数量
0x084:5E1F 00                db    0 ;
0x084:5E20 02                db    2 ;输入法
0x084:5E21 00                db    0 ;
0x084:5E22 E9                db 0E9h ;传真:
0x084:5E23 00                db    0 ;
0x084:5E24 07                db    7 ;控制代码
0x084:5E25 00                db    0 ;
0x084:5E26 28                db28h ;字符数量
0x084:5E27 00                db    0 ;
0x084:5E28 04                db    4 ;输入法
0x084:5E29 00                db    0 ;
0x084:5E2A 12                db12h ;街道:
0x084:5E2B 02                db    2 ;
0x084:5E2C 08                db    8 ;控制代码
0x084:5E2D 00                db    0 ;
0x084:5E2E 08             db    8 ;字符数量
0x084:5E2F 00                db    0 ;
0x084:5E30 03                db    3 ;输入法
0x084:5E31 00                db    0 ;
0x084:5E32 A8                db 0A8h ;邮政编码:
0x084:5E33 01                db    1 ;
0x084:5E34 0E                db0Eh ;控制代码
0x084:5E35 00                db    0 ;
0x084:5E36 10                db10h ;字符数量
0x084:5E37 00                db    0 ;
0x084:5E38 04                db    4 ;输入法
0x084:5E39 00                db    0 ;
0x084:5E3A 02                db    2 ;城市:
0x084:5E3B 02                db    2 ;
0x084:5E3C 06                db    6 ;控制代码
0x084:5E3D 00                db    0 ;
0x084:5E3E 10                db10h ;字符数量
0x084:5E3F 00                db    0 ;
0x084:5E40 04                db    4 ;输入法
0x084:5E41 00                db    0 ;
0x084:5E42 34                db34h ;国家或地区:
0x084:5E43 01                db    1 ;
0x084:5E44 0C                db0Ch ;控制代码
0x084:5E45 00                db    0 ;
0x084:5E46 40                db40h ; 字符数量
0x084:5E47 00                db    0 ;
0x084:5E48 03                db    3 ;输入法
0x084:5E49 00                db    0 ;
0x084:5E4A 4C                db4Ch ;网址:
0x084:5E4B 02                db    2 ;
0x084:5E4C 07                db    7 ;控制代码
0x084:5E4D 00                db    0 ;
0x084:5E4E 09                db    9 ;字符数量
0x084:5E4F 00                db    0 ;
0x084:5E50 07                db    7 ;输入法
0x084:5E51 00                db    0 ;
0x084:5E52 0C                db0Ch ;群组:
0x084:5E53 01                db    1 ;
0x084:5E54 08                db    8 ;控制代码
0x084:5E55 00                db    0 ;
****************************************************
下面为相应的补丁:
【Flash修改】修改通讯录的条目
*** 修改通讯录的条目 ***
;适用版本:X618V24
;作者:huajia
;版本:V1
;日期:2004-06-29
;功能:将通讯录的街道替换为电话(可自行改为小灵通等)条目,城市替换为街道。
;说明:编辑时直接定位到数字输入法,可以拨打和选择电话,字符数量为36个,
;      同时将其它电话的字符数量减少到36个,查看时当光标移动到该条目时,
;      右软键显示音拨号(传真也同时修改了)。
0x045E26: 28 25 ;字符数量
0x045E28: 04 02 ;输入法
0x045E2C: 08 0D ;控制代码
0x045E36: 10 28 ;字符数量
0x045E3A: 02 12 ;字串
0x045E3C: 06 08 ;控制代码
0x6839AC: 02 12 ;字串
0x684200: 02 12 ;字串
0x6840A2: AE42 023F ;修改功能,转到电话的功能处
0x045E2A: 1202 E506 ;电话的字串,自行修改 -编辑时
0x683948: 1202 E506 ;电话的字串,自行修改 -查看时当光标未移动到时显示,即在上一行时
0x684092: 1202 E506 ;电话的字串,自行修改 -查看时
0x045E06: 29 24 ;字符数量
0x045E0E: 29 24 ;字符数量
0x045E16: 29 24 ;字符数量
0x045E1E: 29 24 ;字符数量
;修改传真与其它电话条目具有一样的功能
0x045E24: 07 0D ;控制代码
0x683FD8: DC59D4C8 EA00023F ;修改功能,转到电话的功能处

fukandahai 发表于 2005-8-12 00:01:00

这个太棒了

KoncaCN 发表于 2005-8-12 00:02:00

能否转成C的struct 格式啦?这样方便一点呢.

huajia 发表于 2005-8-12 00:03:00

以下是引用KoncaCN在2004-8-4 13:02:32的发言:

能否转成C的struct 格式啦?这样方便一点呢.

我不懂C语言及其它语言。

llhn 发表于 2005-8-12 00:04:00

@huajia: 怎么从控制代码找到相应的 功能函数呢? 比如
0x045E24: 07 0D ;控制代码
0x683FD8: DC59D4C8 EA00023F ;修改功能,转到电话的功能处
0x683FD8 是怎么确定的?
3x!

huajia 发表于 2005-8-12 00:05:00

以下是引用llhn在2004-8-4 14:41:22的发言:
@huajia: 怎么从控制代码找到相应的 功能函数呢? 比如
0x045E24: 07 0D ;控制代码
0x683FD8: DC59D4C8 EA00023F ;修改功能,转到电话的功能处
0x683FD8 是怎么确定的?
3x!
控制代码我只是比较各条目猜测出来的,具体不清楚,就同pSendmessage?一样属于深层次的东西,coollang正在研究此方面的问题。




关于转到电话的功能处,我是比较其它电话条目的程序得出的,比如可拨打该条目等。
查找需要的程序地址的方法:
一般是 E6F?字串或图片ID
还有一些较特殊,比如: 字串FF7F或在菜单地址中显示字串,然后搜寻D740页地址F?F?偏移量或E6F?偏移量E6F?页地址 等等。
我知道如何查找,但说的不专业。

qtazure 发表于 2005-8-12 00:06:00

好!厉害!

dsb999 发表于 2005-8-12 00:07:00

真是高啊!

twofox 发表于 2005-8-12 00:08:00

要是能改成T39 的结构(共享501)个人感觉那样比较节约内存
页: [1]
查看完整版本: [分享]通讯录的结构