爱技术

 找回密码
 注册会员

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 1325|回复: 4
收起左侧

[讨论建议] 调用系统内部查找通讯录函数的可行性?

[复制链接]
发表于 2008-8-4 20:39:56 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册会员 微信登录

x
在做阅读短信区号秀时发现,采用的HOOK位置,短信的号码还没有转换成为通讯录中的姓名,应该是每次读短信都会根据号码查找通讯录,然后用姓名替换号码,似乎系统内部执行这一过程的效率很高,不会像来短信显示姓名那样效率不高,所以想如果能调用系统已有的功能函数就好了。但这只是个设想,也不知道函数的位置在哪里,也不知道可不可行?还有似乎有几个swilib的函数跟通讯录有关,但不知道其作用?
__arm int UnpackABentry(AB_UNPRES *,void *abentry,int filesz,int flag)
__arm int FreeUnpackABentry(AB_UNPRES *, void *mfree_adr)
__arm int GetTypeOfAB_UNPRES_ITEM(int)
发表于 2008-8-4 20:45:18 | 显示全部楼层
有关,但是未必能找到。
就像是megadial一样,他不是直接查找的,而是在特定条件下触发,将通讯录数据载入到一个链表,然后从链表查找,退出时释放链表内存。
回复 支持 反对

使用道具 举报

发表于 2008-8-4 20:52:33 | 显示全部楼层
那么譬如在通讯录里面,在启动的时候载入数据一次,。。。那么找一个独立的这样的函数基本是不可能了

如果真如megadial这样的方式,
那么,我们要找的就是将通讯录数据载入链表的函数以及这个链表的顶部
载入链表之后再从顶部查找

事实上我也觉得megadial里面的这样代码的已经够简洁高效了,速度问题只是受限于手机本身的性能。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-8-4 20:54:32 | 显示全部楼层

回复 2# BingK 的帖子

:/lkh 确实很难找,跟了一下午,又回到消息循环的地方
回复 支持 反对

使用道具 举报

发表于 2008-8-4 21:01:49 | 显示全部楼层

回复 4# DaiKangaroo 的帖子


                               
登录/注册后可看大图

权当和西机培养感情了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员 微信登录

本版积分规则

小黑屋|Archiver|手机版|爱技术 ( 沪ICP备08115260号-3 )

GMT+8, 2025-6-7 06:48

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表