[原创]如何查找左右软键的字串及按键地址
根据我的研究,发现了左右软键字串及按键地址的一些规律,现将研究结果(以X618为例)公布如下:
一、先在语言文件中查找到左右软键显示的字串的编号(String No.),比如:查看短信时右软键的选项字串为7202及左软键的回复字串为5800。
二、
1、用Siemens Flash Edit软键按下列形式查找:C:\SFE F 3618FULLFLASH.BIN ,00,,00,72,02,,00,,00,58,00
2、得到的结果如下:1. 0x03BE06 (020E:3E06): 2F 00 2F 00 72 02 79 00 79 00 58 00
3、IDA文件的内容如下:
0x083:BE06 2F unk_83BE06: db2Fh ; 选项的按键代码
0x083:BE07 00 db 0 ;
0x083:BE08 2F db2Fh ; /
0x083:BE09 00 db 0 ;
0x083:BE0A 72 db72h ; 选项的字串
0x083:BE0B 02 db 2 ;
0x083:BE0C 79 db79h ; 回复的按键代码
0x083:BE0D 00 db 0 ;
0x083:BE0E 79 db79h ;
0x083:BE0F 00 db 0 ;
0x083:BE10 58 db58h ; 回复的字串
0x083:BE11 00 db 0 ;
0x083:BE12 78 db78h ; 发送的按键代码
0x083:BE13 00 db 0 ;
0x083:BE14 78 db78h ;
0x083:BE15 00 db 0 ;
0x083:BE16 BD db 0BDh ; 发送的字串
0x083:BE17 01 db 1 ;
0x083:BE18 35 db35h ; 移动至档案的按键代码
0x083:BE19 00 db 0 ;
0x083:BE1A 35 db35h ;
0x083:BE1B 00 db 0 ;
0x083:BE1C 4D db4Dh ; 移动至档案的图片(具体的编号未知)
0x083:BE1D 4E db4Eh ;
0x083:BE1E 2A db2Ah ; 删除的按键代码
0x083:BE1F 00 db 0 ;
0x083:BE20 2A db2Ah ;
0x083:BE21 00 db 0 ;
0x083:BE22 46 db46h ; 删除的字串
0x083:BE23 01 db 1 ;
0x083:BE24 35 db35h ; 保存的按键代码
0x083:BE25 00 db 0 ;
0x083:BE26 35 db35h ;
0x083:BE27 00 db 0 ;
0x083:BE28 D2 db 0D2h ; 保存的字串
0x083:BE29 01 db 1 ;
0x083:BE2A 00 db 0 ;无内容按键代码
0x083:BE2B 00 db 0 ;
0x083:BE2C 00 db 0 ;
0x083:BE2D 00 db 0 ;
0x083:BE2E FE db 0FEh ; 无内容字串
0x083:BE2F FF db 0FFh ;
0x083:BE30 73 db73h ; 返回的按键代码
0x083:BE31 00 db 0 ;
0x083:BE32 73 db73h ;
0x083:BE33 00 db 0 ;
0x083:BE34 72 db72h ; 返回的字串
0x083:BE35 03 db 3 ;
0x083:BE36 06 db 6 ; 指向0x033E06
0x083:BE37 3E db3Eh ;
0x083:BE38 0E db0Eh ;
0x083:BE39 02 db 2 ;
0x083:BE3A 01 db 1 ;
0x083:BE3B 00 db 0 ;
0x083:BE3C 01 db 1 ; 左软键回复
0x083:BE3D 00 db 0 ;
0x083:BE3E 00 db 0 ; 右软键选项
0x083:BE3F 00 db 0 ;
0x083:BE40 02 db 2 ; 左软键发送
0x083:BE41 00 db 0 ;
0x083:BE42 00 db 0 ; 右软键选项
0x083:BE43 00 db 0 ;
0x083:BE44 03 db 3 ; 左软键移动至档案
0x083:BE45 00 db 0 ;
0x083:BE46 00 db 0 ; 右软键选项
0x083:BE47 00 db 0 ;
0x083:BE48 04 db 4 ; 左软键删除
0x083:BE49 00 db 0 ;
0x083:BE4A 00 db 0 ; 右软键选项
0x083:BE4B 00 db 0 ;
0x083:BE4C 05 db 5 ; 左软键保存
0x083:BE4D 00 db 0 ;
0x083:BE4E 02 db 2 ; 右软键发送
0x083:BE4F 00 db 0 ;
0x083:BE50 07 db 7 ; 左软键返回
0x083:BE51 00 db 0 ;
0x083:BE52 02 db 2 ; 右软键发送
0x083:BE53 00 db 0 ;
0x083:BE54 05 db 5 ; 左软键保存
0x083:BE55 00 db 0 ;
0x083:BE56 07 db 7 ; 右软键返回
0x083:BE57 00 db 0 ;
0x083:BE58 06 db 6 ; 左软键无功能
0x083:BE59 00 db 0 ;
0x083:BE5A 07 db 7 ; 右软键返回
4、再向下可以看到如下内容:
0x083:BE60 54 db54h ; 这里指向的地址是0xE24A54
0x083:BE61 4A db4Ah ;
0x083:BE62 E2 db 0E2h ;
0x083:BE63 00 db 0 ;
5 、我们再进入0xE24A54这个地址看看,就发现如下内容:
0x0E2:4A9C loc_E24A9C: ; CODE XREF: 0x0E2:4A8Ej
0x0E2:4A9C DC 49 extp r9, #1
0x0E2:4A9E D4 C8 02 00 mov r12,
0x0E2:4AA2 48 C1 cmp r12, #1 ;挂机键
0x0E2:4AA4 EA 20 7A 4B jmpa cc_Z, loc_E24B7A
0x0E2:4AA8 46 FC 23 00 cmp r12, #23h ; '#' ;左导航键
0x0E2:4AAC EA 20 7A 4B jmpa cc_Z, loc_E24B7A
0x0E2:4AB0 46 FC 78 00 cmp r12, #78h ; 'x' ;发送
0x0E2:4AB4 2D 11 jmpr cc_Z, loc_E24AD8
0x0E2:4AB6 46 FC 2F 00 cmp r12, #2Fh ; '/' ;选项
0x0E2:4ABA 2D 19 jmpr cc_Z, loc_E24AEE
0x0E2:4ABC 46 FC 22 00 cmp r12, #22h ; '"' ;右导航键
0x0E2:4AC0 2D 16 jmpr cc_Z, loc_E24AEE
0x0E2:4AC2 46 FC 35 00 cmp r12, #35h ; '5' ;移动至档案
0x0E2:4AC6 2D 28 jmpr cc_Z, loc_E24B18
0x0E2:4AC8 46 FC 79 00 cmp r12, #79h ; 'y' ;回复
0x0E2:4ACC 2D 30 jmpr cc_Z, loc_E24B2E
0x0E2:4ACE 46 FC 2A 00 cmp r12, #2Ah ; '*' ;删除
0x0E2:4AD2 2D 38 jmpr cc_Z, loc_E24B44
0x0E2:4AD4 EA 00 76 4B jmpa cc_UC, loc_E24B76
6、根据这些地址就可改变左右软键等的功能了及发现很多有用的函数了。
比如:
【Flash修改】修改查看短信时左软键移动至档案的功能
*** 修改查看短信时左软键移动至档案的功能 ***
;适用版本:X618V24
;作者:huajia
;版本:V3
;日期:2004-03-02
;功能:在查看收发件箱短信的状态下,修改了原先左软键的移动至档案为所需的功能。
0x03BE44: 03 0? ;可按下面的代码自行替换
01-回复
02-发送
03-移动至档案
04-删除
05-保存
************************************************************
V2:
0x03BE18: 35 2A
0x03BE1A: 35 2A
0x03BE1C: 4D4E 4601
*******************************************************
V1:
;左软键的图片为705号,请自行用cool_image等软件修改。
0x624B24: E6FF2600 E04FCC00
;下面为左软键图片(显示为删除):
;Changed image ID: 705,Size:84, Format:47x14, ImageInfo:
2B724F:FFFFFFFFFFFFFFFFFFFC01FFFFFFFFFBF9FFFFFF7FF411FFFFFF3FEFE1FFFF801FC005FFFF800FDFC9FFFF801FD6D1FFFFFF3FD0C3FFFFFF7FDFC7FFFFFFFFDFCFFFFFFFFFC01FFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFF11A1DFFFFFFF55ADAFFFFFFF55AB77FFFFFF55AAFBFFFFFF55AB07FFFFFE00ADDFFFFFFF55AC03FFFFFF55A1DFFFFFFF55AF57FFFFFF55AEDBFFFFFE892D9BFFFFFFFFFFFFFFFFFFFFFFFFFFF
【Flash修改】看短信时右软键功能修改
*** 看短信时右软键功能修改 ***
;适用版本:X618V24
;作者:huajia
;版本:V1
;日期:2004-05-28
;功能:在进入收发件箱查看短信时,右软键会随着光标移动到底部和非底部时变为所需的功能。
;非底部界面:
0x3BE3E: 00 0? ;可按下面的代码自行替换(收件箱)
0x3BE42: 00 0? ;可按下面的代码自行替换(发件箱)
;底部界面:
0x03BE46: 00 0? ;可按下面的代码自行替换
00-选项
01-回复
02-发送
03-移动至档案
04-删除
05-保存
7. 如果找不到调用这些字串和按键值的地址,也可以用下列方式查找:
C:\SFE F E6,F?,AA,BB,E6,F?,CC,DD
或
C:\SFE F AA,BB,D7,40,CC,DD
;AA,BB为偏移量,CC,DD为页地址
最后,我提供的例子是比较典型的,可能还有一些变化,这需要一定的时间及经验积累。
[此贴子已经被作者于2004-5-28 15:45:58编辑过]
学习!已收至硬盘!再次感谢! 签到,多谢huajia !
在保存号码到SIM电话簿的那一段,你有没有测试其他键值是什么?
另外我发现已拨电话部分虽然可以修改,但却不能保存到SIM,这有点遗憾!
如果以后发现了另一个需要的东西那么也许可以办到。
多谢huajia 先生 已更新! 收到~thanx
下去研究一下的说~ 唉,你们这些高手,我只有服了你,我按照你的方法,试了一下写新的短消息(左软是T9 Info,右软是Option),怎么就查不出来你说的内容呢?你们这些高手能找出当前输入法的函数或地址吗?
有没有办法使每次进入新短消息时,自动启用中文,而在通讯录中时,自动变成英文? 绝对好文,这些地方我正不懂,好好学学的说。回复的人居然就这几个!唉 我迟到了~~报道~ 用Siemens Flash Edit软键按下列形式查找:C:\SFE F 3618FULLFLASH.BIN ,00,,00,72,02,,00,,00,58,00
这个软件在那里下载阿 8错.
页:
[1]