CN103914321A - 一种调用系统的消息处理能力的方法和移动终端 - Google Patents
一种调用系统的消息处理能力的方法和移动终端 Download PDFInfo
- Publication number
- CN103914321A CN103914321A CN201310002212.9A CN201310002212A CN103914321A CN 103914321 A CN103914321 A CN 103914321A CN 201310002212 A CN201310002212 A CN 201310002212A CN 103914321 A CN103914321 A CN 103914321A
- Authority
- CN
- China
- Prior art keywords
- program
- main screen
- party
- message
- screen program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Abstract
本发明实施例公开了一种调用系统的消息处理能力的方法,所述方法包括:替换系统的主屏程序的原始初始化代码,并在所述主屏程序中嵌入回调处理函数;所述主屏程序通过所述替换后的主屏程序的初始化代码建立与第三方程序之间的进程间通信通道;所述主屏程序通过所述建立得到的进程间通信通道监听到第三方程序的消息处理请求;所述主屏程序调用所述回调处理函数处理所述第三方程序的消息处理请求。本发明实施例还公开了一种移动终端。采用本发明,可以实现第三方程序调用系统的消息处理能力。
Description
技术领域
本发明涉及通信领域,尤其涉及一种调用系统的消息处理能力的方法和移动终端。
背景技术
由于在一些移动终端的操作系统的限制,在第三方程序中只能通过系统开发公司提供的公开接口发短信,而系统开发公司提供的公开接口只能实现有限的功能,例如在苹果公司开发的iOS系统中,第三方程序并不能进行读取短信数据库,发送彩信和iMessage(iOS系统设备之间的一种即时通讯工具,不需经过通讯运营商而是通过网络可直达对方iOS设备)消息等操作。
发明内容
本发明实施例所要解决的技术问题在于,提供一种调用系统的消息处理能力的方法和移动终端,可实现第三方程序调用系统的消息处理能力。
为了解决上述技术问题,本发明实施例提供了一种调用系统的消息处理能力的方法,所述方法包括:
替换系统的主屏程序的原始初始化代码,并在所述主屏程序中嵌入回调处理函数;
所述主屏程序通过所述替换后的主屏程序的初始化代码建立与第三方程序之间的进程间通信通道;
所述主屏程序通过所述建立得到的进程间通信通道监听到第三方程序的消息处理请求;
所述主屏程序调用所述回调处理函数处理所述第三方程序的消息处理请求。
其中,所述所述主屏程序通过所述替换后的主屏程序的初始化代码建立与第三方程序之间的进程间通信通道之后还包括:
还原所述主屏程序的原始初始化代码。
其中,所述替换系统的主屏程序的原始初始化代码包括:
通过采用Hook技术将动态库中的代码替换所述主屏程序的原始初始化代码。
其中,所述方法还包括:
所述主屏程序将处理所述第三方程序的消息处理请求的结果通过所述建立得到进程间通信通道返回至所述第三方程序。
其中,所述主屏程序调用所述回调处理函数处理所述第三方程序的消息处理请求包括:
根据所述第三方程序的消息处理请求调用所述回调处理函数执行以下消息处理中的任一种:读取消息数据库、调用系统应用程序接口发送消息。
其中,所述系统为已越狱的iOS系统,并已安装mobile substrate依赖包。
相应地,本发明实施例还提供了一种移动终端,所述移动终端包括:
代码处理模块,用于替换系统的主屏程序的原始初始化代码,并在所述主屏程序中嵌入回调处理函数;
所述主屏程序包括:
通信通道建立单元,用于通过所述替换后的初始化代码建立所述主屏程序与第三方程序之间的进程间通信通道;
请求监听单元,用于通过所述建立得到的进程间通信通道监听到第三方程序的消息处理请求;
消息处理单元,用于调用所述回调处理函数处理所述第三方程序的消息处理请求。
其中,所述代码处理模块还用于:在所述通信通道建立单元通过所述替换后的初始化代码建立所述主屏程序与第三方程序之间的进程间通信通道完成后,使用所述主屏程序的原始初始化代码替换所述替换后的主屏程序的初始化代码。
其中,所述代码处理模块包括:
初始化替换单元,用于通过采用Hook技术将动态库中的代码替换所述主屏程序的初始化代码。
其中,所述主屏程序还包括:
结果返回单元,用于将处理所述第三方程序的消息处理请求的结果通过所述建立得到进程间通信通道返回至所述第三方程序。
其中,所述消息处理单元具体用于:
根据所述第三方程序的消息处理请求调用所述回调处理函数执行以下消息处理中的任一种:读取消息数据库、调用系统应用程序接口发送消息。
其中,所述系统为已越狱的iOS系统,并已安装mobile substrate依赖包。
本发明实施例通过替换系统的主屏程序的初始化代码实现建立主屏程序与第三方程序之间的IPC通道,进而可以监听到第三方程序的消息处理请求并调用系统的消息处理能力进行处理,实现了第三方程序调用系统的消息处理能力。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例中的一种调用系统的消息处理能力的方法的流程示意图;
图2是本发明实施例中的一种移动终端的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明实施例中的一种调用系统的消息处理能力的方法的流程示意图,本发明实施例中的调用系统的消息处理能力的方法可以实现在例如iOS系统的手机、平板电脑、数字电视、便携式多媒体播放器等移动终端上,具备正常收发短信和iMessage等消息处理能力。如图所示本发明实施例中实现第三方程序调用系统的消息处理能力的方法包括:
S101,替换系统的主屏程序的原始初始化代码,并在所述主屏程序中嵌入回调处理函数。
具体实现中,本发明实施例中的系统可以为已越狱的iOS系统,并预先安装了mobilesubstrate基础依赖包(cydia插件或者软件运行的基础依赖包。它提供软件运行的公共库,可以用来动态替换内存中的代码、数据等),在安装需要调用系统的消息处理能力的第三方程序时,可以通过采用Hook技术(iOS下的Hook技术是通过动态库的方式加载到程序中,用自定义的函数替换系统原始函数的方法)将动态库中的预设代码替换iOS系统的主屏程序(SpringBoard程序,为管理iOS主屏幕的程序,同时也负责管理其他任务包括窗口服务、应用程序的启动和切换、设备设置等)的原始初始化代码,并在所述主屏程序中嵌入预设的回调处理函数,所述预设的用于替换主屏程序的原始初始化代码用于建立主屏程序与所述第三方程序之间的进程间通信通道,而预设的回调处理函数用于对所述第三方程序发出的请求进行相应处理。
S102,所述主屏程序通过所述替换后的主屏程序的初始化代码建立与第三方程序之间的进程间通信通道。
具体实现中,可以通过触发主屏程序的所述被替换后的初始化代码,从而在主屏程序与第三方程序之间的IPC(Inter-Process Communication,进程间通信)通道,本发明实施例中的IPC通道可以是Socket、管道或者其他在iOS系统中支持的进程间通信方式。
S103,所述主屏程序通过所述建立得到的进程间通信通道监听到第三方程序的消息处理请求。
具体的,所述消息处理请求可以为第三方程序请求访问短信数据库、发送短信、彩信或者iMessage等。在建立得到主屏程序与第三方程序之间的IPC通道后,主屏程序可以实现通过建立得到的IPC通道监听第三方程序发出的请求,当监听到第三方程序发出的消息处理请求后,执行S104。
S104,所述主屏程序调用所述回调处理函数处理所述第三方程序的消息处理请求。
具体的,在监听到第三方程序发出的消息处理请求后,所述主屏程序中预先嵌入的回调处理函数被触发,通过执行所述回调处理函数调用系统的消息处理能力对所述消息处理请求进行处理,例如根据第三方程序发出的消息处理请求直接读取消息数据库中的短信、iMessage等,或根据第三方程序发出的消息处理请求调用系统API(Application Programming Interface,应用程序编程接口)发送短信、彩信或者iMessage等。
进而,主屏程序通过执行所述回调处理函数在对监听到的第三方程序的消息处理请求进行处理后,可以将处理结果返回至所述第三方程序,例如将请求读取的短信数据返回给第三方程序使其在程序界面上显示给用户,或将消息发送的反馈消息返回给第三方程序使其在程序界面中提示用户消息发送成功与否。
图2是本发明实施例中的一种移动终端的结构示意图。本发明实施例中的移动终端可以实现在如iOS系统的手机、平板电脑、数字电视、便携式多媒体播放器等设备上,具备正常收发短信和iMessage等消息处理能力。如图所示本发明实施例中的移动终端包括代码处理模块210、主屏程序220以及第三方程序230,其中:
代码处理模块210用于替换系统的主屏程序的原始初始化代码,并在所述主屏程序中嵌入回调处理函数。
具体实现中,本发明实施例中的系统可以为已越狱的iOS系统,并预先安装了mobilesubstrate基础依赖包(cydia插件或者软件运行的基础依赖包,提供软件运行的公共库,可以用来动态替换内存中的代码、数据等),在安装需要调用系统的消息处理能力的第三方程序时,代码处理模块210可以通过采用Hook技术(iOS下的Hook技术是通过动态库的方式加载到程序中,用自定义的函数替换系统原始函数的方法)将动态库中的预设代码替换iOS系统的主屏程序的原始初始化代码,并在所述主屏程序中嵌入预设的回调处理函数,所述预设的用于替换主屏程序的原始初始化代码用于建立主屏程序与所述第三方程序之间的进程间通信通道,而预设的回调处理函数用于对所述第三方程序发出的请求进行相应处理。
所述主屏程序220包括:
通信通道建立单元221,用于通过所述替换后的初始化代码建立所述主屏程序与第三方程序之间的进程间通信通道。具体实现中,通信通道建立单元221可以通过触发主屏程序的所述被替换后的初始化代码,从而在主屏程序与第三方程序之间的IPC(Inter-Process Communication,进程间通信)通道。
请求监听单元222,用于通过所述建立得到的进程间通信通道监听到第三方程序的消息处理请求。具体的,所述第三方程序的消息处理请求可以为第三方程序请求访问短信数据库、发送短信、彩信或者iMessage等。在通信通道建立单元221建立得到主屏程序与第三方程序之间的IPC通道后,请求监听单元222可以通过建立得到的IPC通道监听第三方程序发出的请求,当监听到第三方程序发出的消息处理请求后,触发消息处理单元223处理所述请求。
消息处理单元223,用于调用所述回调处理函数处理所述第三方程序的消息处理请求。具体实现中,当请求监听单元222监听到第三方程序发出的消息处理请求后,消息处理单元223触发所述主屏程序中预先嵌入的回调处理函数,通过执行所述回调处理函数调用系统的消息处理能力对所述消息处理请求进行处理,例如根据第三方程序发出的消息处理请求直接读取消息数据库中的短信、iMessage等,或根据第三方程序发出的消息处理请求调用系统API(ApplicationProgramming Interface,应用程序编程接口)发送短信、彩信或者iMessage等。
进而,本发明实施例中的移动终端的主屏程序还可以包括:
结果返回单元224,用于将处理所述第三方程序的消息处理请求的结果通过所述建立得到进程间通信通道返回至所述第三方程序。具体实现中,消息处理单元223通过执行所述回调处理函数在对监听到的第三方程序的消息处理请求进行处理后,结果返回单元224可以将处理结果返回至所述第三方程序,例如将请求读取的短信数据返回给第三方程序使其在程序界面上显示给用户,或将消息发送的反馈消息返回给第三方程序使其在程序界面中提示用户消息发送成功与否。
本发明实施例通过替换移动终端系统的主屏程序的初始化代码实现建立主屏程序与第三方程序之间的IPC通道,进而可以监听到第三方程序的消息处理请求并调用系统的消息处理能力进行处理,实现了第三方程序调用系统的消息处理能力。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (12)
1.一种调用系统的消息处理能力的方法,其特征在于,所述方法包括:
替换系统的主屏程序的原始初始化代码,并在所述主屏程序中嵌入回调处理函数;
所述主屏程序通过所述替换后的主屏程序的初始化代码建立与第三方程序之间的进程间通信通道;
所述主屏程序通过所述建立得到的进程间通信通道监听到第三方程序的消息处理请求;
所述主屏程序调用所述回调处理函数处理所述第三方程序的消息处理请求。
2.如权利要求1所述的调用系统的消息处理能力的方法,其特征在于,所述所述主屏程序通过所述替换后的主屏程序的初始化代码建立与第三方程序之间的进程间通信通道之后还包括:
还原所述主屏程序的原始初始化代码。
3.如权利要求1所述的调用系统的消息处理能力的方法,其特征在于,所述替换系统的主屏程序的原始初始化代码包括:
通过采用Hook技术将动态库中的代码替换所述主屏程序的原始初始化代码。
4.如权利要求1所述的调用系统的消息处理能力的方法,其特征在于,所述方法还包括:
所述主屏程序将处理所述第三方程序的消息处理请求的结果通过所述建立得到进程间通信通道返回至所述第三方程序。
5.如权利要求1所述的调用系统的消息处理能力的方法,其特征在于,所述主屏程序调用所述回调处理函数处理所述第三方程序的消息处理请求包括:
根据所述第三方程序的消息处理请求调用所述回调处理函数执行以下消息处理中的任一种:读取消息数据库、调用系统应用程序接口发送消息。
6.如权利要求1~5中任一项所述的调用系统的消息处理能力的方法,其特征在于,所述系统为已越狱的iOS系统,并已安装mobile substrate依赖包。
7.一种移动终端,其特征在于,所述移动终端包括:
代码处理模块,用于替换系统的主屏程序的原始初始化代码,并在所述主屏程序中嵌入回调处理函数;
所述主屏程序包括:
通信通道建立单元,用于通过所述替换后的初始化代码建立所述主屏程序与第三方程序之间的进程间通信通道;
请求监听单元,用于通过所述建立得到的进程间通信通道监听到第三方程序的消息处理请求;
消息处理单元,用于调用所述回调处理函数处理所述第三方程序的消息处理请求。
8.如权利要求7所述的移动终端,其特征在于,所述代码处理模块还用于:在所述通信通道建立单元通过所述替换后的初始化代码建立所述主屏程序与第三方程序之间的进程间通信通道完成后,使用所述主屏程序的原始初始化代码替换所述替换后的主屏程序的初始化代码。
9.如权利要求7所述的移动终端,其特征在于,所述代码处理模块包括:
初始化替换单元,用于通过采用Hook技术将动态库中的代码替换所述主屏程序的初始化代码。
10.如权利要求7所述的移动终端,其特征在于,所述主屏程序还包括:
结果返回单元,用于将处理所述第三方程序的消息处理请求的结果通过所述建立得到进程间通信通道返回至所述第三方程序。
11.如权利要求7所述的移动终端,其特征在于,所述消息处理单元具体用于:
根据所述第三方程序的消息处理请求调用所述回调处理函数执行以下消息处理中的任一种:读取消息数据库、调用系统应用程序接口发送消息。
12.如权利要求7~11中任一项所述的移动终端,其特征在于,所述系统为已越狱的iOS系统,并已安装mobile substrate依赖包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310002212.9A CN103914321B (zh) | 2013-01-05 | 2013-01-05 | 一种调用系统的消息处理能力的方法和移动终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310002212.9A CN103914321B (zh) | 2013-01-05 | 2013-01-05 | 一种调用系统的消息处理能力的方法和移动终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103914321A true CN103914321A (zh) | 2014-07-09 |
CN103914321B CN103914321B (zh) | 2018-11-06 |
Family
ID=51040026
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310002212.9A Active CN103914321B (zh) | 2013-01-05 | 2013-01-05 | 一种调用系统的消息处理能力的方法和移动终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103914321B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105808103A (zh) * | 2016-03-04 | 2016-07-27 | 谭永龙 | 一种基于iOS系统的切换到主屏幕的方法和装置 |
CN106933570A (zh) * | 2017-02-16 | 2017-07-07 | 北京临近空间飞行器系统工程研究所 | 一种基于插件技术的航天测发控软件平台 |
CN107463359A (zh) * | 2016-06-02 | 2017-12-12 | 深圳市慧动创想科技有限公司 | 一种在iOS ipa包植入代码的便捷方法 |
CN107688475A (zh) * | 2016-08-04 | 2018-02-13 | 创盛视联数码科技(北京)有限公司 | 基于IOS系统软件开发包引用Swift语言类库的方法 |
CN108664491A (zh) * | 2017-03-29 | 2018-10-16 | 北京京东尚科信息技术有限公司 | 数据传输方法、装置和终端设备 |
CN109710429A (zh) * | 2014-12-26 | 2019-05-03 | 北京奇虎科技有限公司 | 进程间进行方法调用的方法及装置 |
CN111200744A (zh) * | 2018-11-19 | 2020-05-26 | Tcl集团股份有限公司 | 一种多媒体播放控制方法、装置及智能设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040167894A1 (en) * | 2003-02-21 | 2004-08-26 | Sap Ag | Method for using a business model data interface |
CN101631033A (zh) * | 2008-07-14 | 2010-01-20 | 中兴通讯股份有限公司 | 远程组件的调用方法和系统、以及服务器、客户端 |
CN102591724A (zh) * | 2011-12-28 | 2012-07-18 | 奇智软件(北京)有限公司 | 消息交互方法及装置 |
CN102722403A (zh) * | 2012-05-30 | 2012-10-10 | 福建天晴数码有限公司 | 一种接管Windows桌面方法 |
-
2013
- 2013-01-05 CN CN201310002212.9A patent/CN103914321B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040167894A1 (en) * | 2003-02-21 | 2004-08-26 | Sap Ag | Method for using a business model data interface |
CN101631033A (zh) * | 2008-07-14 | 2010-01-20 | 中兴通讯股份有限公司 | 远程组件的调用方法和系统、以及服务器、客户端 |
CN102591724A (zh) * | 2011-12-28 | 2012-07-18 | 奇智软件(北京)有限公司 | 消息交互方法及装置 |
CN102722403A (zh) * | 2012-05-30 | 2012-10-10 | 福建天晴数码有限公司 | 一种接管Windows桌面方法 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109710429A (zh) * | 2014-12-26 | 2019-05-03 | 北京奇虎科技有限公司 | 进程间进行方法调用的方法及装置 |
CN109710429B (zh) * | 2014-12-26 | 2021-08-31 | 北京奇虎科技有限公司 | 进程间进行方法调用的方法及装置 |
CN105808103A (zh) * | 2016-03-04 | 2016-07-27 | 谭永龙 | 一种基于iOS系统的切换到主屏幕的方法和装置 |
CN105808103B (zh) * | 2016-03-04 | 2018-09-18 | 谭永龙 | 一种基于iOS系统的切换到主屏幕的方法和装置 |
CN107463359A (zh) * | 2016-06-02 | 2017-12-12 | 深圳市慧动创想科技有限公司 | 一种在iOS ipa包植入代码的便捷方法 |
CN107688475A (zh) * | 2016-08-04 | 2018-02-13 | 创盛视联数码科技(北京)有限公司 | 基于IOS系统软件开发包引用Swift语言类库的方法 |
CN106933570A (zh) * | 2017-02-16 | 2017-07-07 | 北京临近空间飞行器系统工程研究所 | 一种基于插件技术的航天测发控软件平台 |
CN106933570B (zh) * | 2017-02-16 | 2020-10-20 | 北京临近空间飞行器系统工程研究所 | 一种基于插件技术的航天测发控软件平台 |
CN108664491A (zh) * | 2017-03-29 | 2018-10-16 | 北京京东尚科信息技术有限公司 | 数据传输方法、装置和终端设备 |
CN111200744A (zh) * | 2018-11-19 | 2020-05-26 | Tcl集团股份有限公司 | 一种多媒体播放控制方法、装置及智能设备 |
CN111200744B (zh) * | 2018-11-19 | 2021-05-25 | Tcl科技集团股份有限公司 | 一种多媒体播放控制方法、装置及智能设备 |
Also Published As
Publication number | Publication date |
---|---|
CN103914321B (zh) | 2018-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103914321A (zh) | 一种调用系统的消息处理能力的方法和移动终端 | |
CN103458125B (zh) | 一种高等级私密性智能手机及其私密信息的保护方法 | |
CN102571840B (zh) | 终端远程测试方法及代理服务器 | |
CN103442126A (zh) | 一种基于云服务的手机的通讯方法及系统 | |
CN103491256B (zh) | 通信处理方法及终端设备 | |
CN103076977B (zh) | 一种在待机状态下触发信息传输的方法及系统 | |
CN103294553A (zh) | 移动终端多媒体资源的管理方法及装置 | |
CN103595867A (zh) | 基于多卡识别的应用程序实现方法及装置 | |
CN101876904A (zh) | 一种移动终端及应用程序的运行状态输出方法和装置 | |
CN106406944A (zh) | 一种禁止应用自启动的控制方法及系统 | |
CN110933075B (zh) | 服务调用方法、装置、电子设备及存储介质 | |
CN102394980A (zh) | 一种耳机插孔行为响应方法及移动终端 | |
CN102960001A (zh) | 一种呼叫方法、终端及装置 | |
CN105721450A (zh) | 登录网络游戏的方法、装置和系统 | |
CN112055072A (zh) | 云端音频输入方法、装置、云系统、电子设备与存储介质 | |
CN101877848A (zh) | 移动终端、移动终端数据保护方法以及移动终端监控系统 | |
CN103002446B (zh) | 一种拦截电话的方法和装置 | |
CN103067593B (zh) | 一种基于安卓平台的双卡双通软件系统架构及其运行方法 | |
CN106569848A (zh) | 终端及其应用程序的启动管理方法 | |
CN103368907A (zh) | 事件上报请求系统、方法、客户端装置及其上报请求方法 | |
CN104869129A (zh) | 一种应用程序管理方法、设备及系统 | |
CN106792206A (zh) | 一种电视菜单自适应更新方法及系统 | |
CN104216839A (zh) | 一种信息交互的方法、装置及终端 | |
CN105228139B (zh) | 一种基于智能设备的呼叫处理方法、装置及设备 | |
CN101877838A (zh) | 一种信息举报的实现方法、系统及移动终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |