用于破解移动应用推送消息的方法和系统与流程

文档序号:11155145阅读:407来源:国知局
用于破解移动应用推送消息的方法和系统与制造工艺

本发明涉及计算机技术领域,尤其涉及一种用于破解应用推送消息的方法和系统。



背景技术:

移动应用已经成为互联网信息流的重要载体,相对于传统互联网,移动应用是个封闭的生态链,很多信息在传输过程中加密,或者使用自己的私有协议,很多信息无法通过公开渠道直接获取,给监管行业带来一定困难。

对于移动应用的推送信息,传统方案只能通过协议破解的方式来获取信息,通过模拟手机端和服务端之间的连接,来获取到对应的推送消息。由于各个手机应用采用的推送协议不同以及封装数据的不同,导致开发的成本较大且不通用,方法没有共用性,效率很低。



技术实现要素:

本发明的目的在于提供一种用于破解移动应用推送消息的方法和系统以通过一种简单的方式获取移动应用的推送消息。

本发明为了解决上述技术问题,采用的技术方案是:一种用于破解移动应用推送消息的方法,其特征在于,包括:

步骤S1:通过通知栏应用程序接口获取应用程序的状态栏通知对象;

步骤S2:根据所述状态栏通知对象提取所述应用程序创建的通知对象;

步骤S3:解析所述通知对象,得到应用程序通知数据,所述应用程序通知数据包括表征通知消息的参数和表征附带信息的参数;以及

步骤S4:将解析得到的所述应用程序通知数据保存到手机数据库,定时通过网络发送到服务器中进行存储。

优选地,所述通知消息包括标准通知消息和自定义通知消息。

优选地,所述表征通知消息的参数包括所述通知消息的标题、内容以及推 送时间。

优选地,所述表征附带信息的参数包括所述通知消息的URL地址、类型和标识符。

优选地,在所述步骤S1之前还包括:

注册通知监听服务。

相应地,本发明还提供一种用于破解移动应用推送消息的系统,其特征在于,包括:

获取模块,用于通过通知栏应用程序接口获取应用程序的状态栏通知对象;

对象提取模块,连接于所述获取模块,用于根据所述状态栏通知对象提取所述应用程序创建的通知对象;

解析模块,连接于所述对象提取模块,用于解析所述通知对象,得到应用程序通知数据,所述应用程序通知数据包括表征通知消息的参数和表征附带信息的参数;以及

存储模块,连接于所述解析模块,用于将解析得到的所述应用程序通知数据保存到手机数据库,定时通过网络发送到服务器中进行存储。

优选地,所述通知消息包括标准通知消息和自定义通知消息。

优选地,所述表征通知消息的参数包括所述通知消息的标题、内容以及推送时间。

优选地,所述表征附带信息的参数包括所述通知消息的URL地址、类型和标识符。

优选地,所述用于破解移动应用推送消息的系统还包括:

注册模块,连接于所述获取模块,用于注册通知监听服务。

实施本发明实施例,具有如下有益效果:本发明提供的用于破解移动应用推送消息的方法和系统,通过通知栏应用程序接口直接获取需要展示的消息内容,所获取到的数据全部是明文,无需解密,相对于协议的解密来说更加简单且适用性高,同时由于手机通知栏展现的数据来自于Android系统的通知栏应用程序接口,也就保证了数据结构的一致性,使其能获取到所有手机应用程序的推送消息。此外,通过类RemoteViews来解析所有的非自定义通知栏布局的应用程序的推送消息,对于大多数的自定义通知栏布局的手机也同样适用。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明第一实施例提供的用于破解移动应用推送消息的方法的流程图;

图2为本发明第二实施例提供的用于破解移动应用推送消息的方法的流程图。

图3所示为本发明一实施例提供的使用标准通知消息的应用程序的消息布局图及其解析后得到的应用程序通知数据。

图4所示为本发明一实施例提供的使自定义通知消息的应用程序的消息布局图及其解析后得到的应用程序通知数据。

图5为本发明第一实施例提供的用于破解移动应用推送消息的系统的结构框图。

图6为本发明第二实施例提供的用于破解移动应用推送消息的系统的结构框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1为本发明第一实施例提供的用于破解移动应用推送消息的方法的流程图。如图1所示,用于破解移动应用推送消息的方法100包括以下步骤:

步骤S1:通过通知栏应用程序接口获取应用程序的状态栏通知对象。

具体地,在本发明一实施例中,利用安卓系统提供的通知栏应用程序接口程序,在应用程序的推送消息到达手机端显示在通知栏中时即可获取该应用程序的状态栏通知对象(StatusBarNotification)。

步骤S2:根据所述状态栏通知对象提取所述应用程序创建的通知对象。

具体地,在本发明一实施例中,状态栏通知对象包括应用程序的通知对象、应用程序的包名以及显示时间,其中,应用程序的包名是表征应用程序的唯一性的标识符,通过应用程序的包名可以准确得知该通知的来源,过滤掉不需要的通知消息。

步骤S3:解析所述通知对象,得到应用程序通知数据,所述应用程序通知数据包括表征通知消息的参数和表征附带信息的参数。

具体地,在本发明一实施例中,通知消息包括标准通知消息和自定义通知消息,表征通知消息的参数包括但不限于所述通知消息的标题、内容以及推送时间,表征附带信息的参数包括但不限于所述通知消息的URL地址、类型和标识符。

步骤S4:将解析得到的所述应用程序通知数据保存到手机数据库,定时通过网络发送到服务器中进行存储。

本发明提供的用于破解移动应用推送消息的方法通过通知栏应用程序接口直接获取需要展示的消息内容,这些内容都是明文显示,这样就减少了协议的破解步骤,同时由于手机通知栏展现的数据来自于Android系统的通知栏应用程序接口,也就保证了数据结构的一致性,使其能获取到所有手机应用程序的推送消息。

图2为本发明第一实施例提供的用于破解移动应用推送消息的方法的流程图。如图2所示,用于破解移动应用推送消息的方法200包括以下步骤:

步骤S21:注册通知监听服务。

具体地,在本发明一实施例中,利用安卓系统提供的通知栏监听服务,在manifest上注册一个notificationlistenerservice(通知监听)服务,这样当系统需要显示某个应用程序的通知内容时,这个notificationlistenerservice服务能够启动并获取到该通知内容的数据。

步骤S22:通过通知栏应用程序接口获取应用程序的状态栏通知对象。

具体地,在本发明一实施例中,在notificationlistenerservice监听到有消息显示在通知栏上时,利用安卓系统提供的通知栏应用程序接口程序,在应用程序的推送消息到达手机端显示在通知栏中时即可获取该应用程序的状态栏通知对象。

步骤S23:根据所述状态栏通知对象提取所述应用程序创建的通知对象。

具体地,在本发明一实施例中,当应用程序从其服务器中获取一条推送消息时,会按照安卓系统提供的应用程序接口将数据封装成通知对象,并推送到系统以便系统显示在通知栏,此时系统会通知所有已注册的NotificationListenerService服务并传递状态栏通知对象。状态栏通知对象包括应用程序的通知对象、应用程序的包名以及显示时间,其中,应用程序的包名是表征应用程序的唯一性的标识符,通过应用程序的包名可以准确得知该通知的来源,过滤掉不需要的通知消息。

步骤S24:解析所述通知对象,得到应用程序通知数据,所述应用程序通知数据包括表征通知消息的参数和表征附带信息的参数。

具体地,在本发明一实施例中,通知消息包括标准通知消息和自定义通知消息,表征通知消息的参数包括但不限于所述通知消息的标题、内容以及推送时间,表征附带信息的参数包括但不限于所述通知消息的URL地址、类型和标识符。

进一步地,属性Extras用来解析标准通知消息(即使用安卓通用视图的通知),包括但不限于通知信息的标题、内容和推送时间等,图3所示为本发明一实施例提供的使用标准通知消息的应用程序的消息布局图及其解析后得到的应用程序通知数据,其包括标题“黑车司机扮高官引车模献身”,内容“匪夷所思!黑车司机扮高官引车模献身……”,推送时间“09:48”。

进一步地,类RemoteViews用来解析自定义通知消息(使用自定义视图的通知),可以通过解析自定义视图的结构,来获取想要的信息,包括但不限于通知信息的标题、内容和推送时间等,图4所示为本发明一实施例提供的使自定义通知消息的应用程序的消息布局图及其解析后得到的应用程序通知数据,其包括标题“百度新闻(共66条)”,内容“陕西宝鸡夜跑女教师被杀案犯嫌疑人昨夜落网”,推送时间“09:27”。

优选地,在RemoteViews存储了布局的结构和数据,通过RemoteViews的layout来源(即resource-id)可知是否采用了自定义布局。如图3所示的使用标准通知消息的应用程序,其resource-id为安卓标准格式:android:id/icon,而对于如图4所示的使用自定义布局的通知消息,其resource-id为:com.baidu.news:id/image。对于自定义布局,则需要解析RemoteViews来获取推送信息;RemoteViews获取数据有两种方式,一种是反射获取RemoteViews的 ReflectionAction,通过ReflectionAction来获取文本数据;一种是通过RemoteViews的apply()方法生成本地view,然后通过view来获取该布局下所有textView的文本数据。

进一步地,类Intent用来获取其他附带信息,包括但不限于URL地址、类型和标识符。

步骤S25:将解析得到的所述应用程序通知数据保存到手机数据库,定时通过网络发送到服务器中进行存储。

有利地,本发明提供的用于破解移动应用推送消息的方法,通过通知栏应用程序接口直接获取需要展示的消息内容,所获取到的数据全部是明文,无需解密,相对于协议的解密来说更加简单且适用性高,同时由于手机通知栏展现的数据来自于Android系统的通知栏应用程序接口,也就保证了数据结构的一致性,使其能获取到所有手机应用程序的推送消息。此外,通过类RemoteViews来解析所有的非自定义通知栏布局的应用程序的推送消息,对于大多数的自定义通知栏布局的手机也同样适用。

图5为本发明第一实施例提供的用于破解移动应用推送消息的系统的结构框图。如图5所示,用于破解移动应用推送消息的系统500包括:

获取模块510,用于通过通知栏应用程序接口获取应用程序的状态栏通知对象。

对象提取模块520,连接于所述获取模块510,用于根据所述状态栏通知对象提取所述应用程序创建的通知对象。

解析模块530,连接于所述对象提取模块520,用于解析所述通知对象,得到应用程序通知数据,所述应用程序通知数据包括表征通知消息的参数和表征附带信息的参数,其中,所述通知消息包括标准通知消息和自定义通知消息,所述表征通知消息的参数包括所述通知消息的标题、内容以及推送时间,所述表征附带信息的参数包括所述通知消息的URL地址、类型和标识符。

存储模块540,连接于所述解析模块530,用于将解析得到的所述应用程序通知数据保存到手机数据库,定时通过网络发送到服务器中进行存储。

图6为本发明第二实施例提供的用于破解移动应用推送消息的系统的结构框图。与图5所示的用于破解移动应用推送消息的系统不同之处在于,如图6所示的用于破解移动应用推送消息的系统600还包括:

注册模块550,连接于所述获取模块510,用于注册通知监听服务。

有利地,本发明提供的用于破解移动应用推送消息的系统,通过通知栏应用程序接口直接获取需要展示的消息内容,所获取到的数据全部是明文,无需解密,相对于协议的解密来说更加简单且适用性高,同时由于手机通知栏展现的数据来自于Android系统的通知栏应用程序接口,也就保证了数据结构的一致性,使其能获取到所有手机应用程序的推送消息。此外,通过类RemoteViews来解析所有的非自定义通知栏布局的应用程序的推送消息,对于大多数的自定义通知栏布局的手机也同样适用。

以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1