应用数据的处理方法、装置及系统的制作方法_2

文档序号:9791779阅读:来源:国知局
044]其中,所述预设客户端事件可以为客户端卸载事件或者客户端异常事件,其中所述客户端异常事件可以为客户端被root事件、也可以为客户端被请求进行数据清除事件。当用户的客户端丢失或者用户离职时,用户会使用其他的客户端发送数据清除请求。
[0045]其中,所述应用程序可以为服务器下发的,具体可以为加固后的应用程序。其中,应用程序封装有清除服务包。通过封装的方式可动态改变应用程序的功能。所述清除服务包以封装的方式置于应用程序中,所述封装方式为:
[0046]获取从预设下载地址下载的应用程序的安装包;
[0047]将所述安装包进行解包;
[0048]按照预设封装规则,在所述安装包中注入所述预设封装规则对应的清除包,其中,所述清除包用于清除其所在应用程序的应用数据。
[0049]或者将所述应用程序解压,并进行反编译;
[0050]对反编译后的文件进行处理,包括在反编译后的代码中插入清除服务包对应的代码和在反编译后的Androidmanifest.xml文件中加入清除服务包的服务声明;清除服务包需编译成smali文件,再插入应用程序解压后的原文件。
[0051 ] 通过脚本对解压后的Androidmanifest.xml文件进行解析,写入清除服务包的相关的服务声明,其中,服务声明中包括清除服务包的名称、用途及路径等。
[0052]将处理后的反编译文件进行回编译、签名,完成所述应用程序中清除服务包的插入。
[0053]本发明实施例提供的一种应用数据的处理方法。首先对客户端事件进行监听;判断所述客户端事件是否为预设客户端事件;若是,则调用所述客户端中相应的清除服务包的接口;所述清除服务包用于清除其所在应用程序的应用数据。与目前当用户的权限无法对应用程序的应用数据进行清除时,通过提权的方式实现对应用程序的应用数据进行清除相比,本发明实施例通过对客户端事件进行监听,能够保证实现所述应用程序对应的应用数据清除,从而能够保证应用数据的安全性。
[0054]本发明实施例提供了另一种应用数据的处理方法,如图2所示,所述方法包括:
[0055]201、获取应用程序的安装包进行封装。
[0056]进一步,以使得所述应用程序中封装有清除服务包。
[0057]对于本发明实施例,在步骤201之前,具体还可以包括:获取所述应用程序的系统权限。
[0058]202、将应用程序下发至客户端。
[0059]其中,清除服务包的封装方法在图1所示实施例中有详细的阐述,在此不再赘述。
[0060]对于本发明实施例,服务器端可以采用两种应用程序下发方式:自由安装和强制安装。自由安装方式下发的应用程序显示在客户端的应用市场中,供用户自由安装;强制安装方式下发的应用,用户需安装才能使用客户端。
[0061]其中,服务器端对上传的应用程序进行加固、加密处理,加固处理可防止应用程序被逆向。所有上传的应用程序的安装包均经过病毒检测和加固处理,从而杜绝恶意篡改、代码注入、内存修改、窃取数据、反编译等威胁。
[0062]加固的主要过程为:提取应用程序中的全局配置文件和可执行文件;解析可执行文件,得到第一代码;将保护代码插入第一代码中得到第二代码,并对第二代码进行加密处理;按照保护代码的入口点修改全局配置文件;将修改后的全局配置文件和可执行文件重新打包生成加固应用程序。
[0063]保护代码可以包括对可执行文件进行加壳和解壳的代码,例如:解壳触发代码和反编译工具的崩溃代码,可以在第一代码中的每一类的代码中置入解壳触发代码和反编译工具的崩溃代码,解壳触发代码被执行时,调用解壳代码对该类进行解密。
[0064]对第二代码进行加密处理包括:抽取第二代码的至少一部分进行重构;植入用于解密重构的代码的链接库,链接库在解密过程中由java本地接口(Java NativeInterface,简称 JNI)加载。
[0065]加固需要对dex文件进行重构,将dex文件各个节数据修改重组后重定位并生成新
dexo
[0066]对应用程序进行加固处理,可防止应用程序被轻易逆向从而获取密钥体系等关键信息,同时给应用程序增加了数据加密的功能,增加安全系数。以在Android系统上实现为例对应用程序安装包的加固处理进行阐述:对应用程序的安装包进行加固处理主要就是改变应用程序的c lass.dex文件的内容,对该内容进行一些算法加密,在apk(AndroidPackage,安卓安装包)运行时再动态的去解密,还原内容;在修改class.dex文件的时候要保证其符合dex文件的固有格式。
[0067]加密的主要过程为:通过.so(动态链接库)文件实现,主要是在应用程序中注入代码,使得apk初始化时去调用该.so文件,要保证.so文件运行的时机比应用程序的读写文件的时间早,如果晚了文件就会变成“一半加密的状态”,导致文件损坏。通过加密,.so文件会拦截该应用程序的所有文件操作,从而实现加密。
[0068]本发明实施例提供的另一种应用数据的处理方法。首先对客户端事件进行监听;判断所述客户端事件是否为预设客户端事件;若是,则调用所述客户端中相应的清除服务包的接口 ;以便于所述清除服务包执行清除操作,清除所述应用程序对应的应用数据。与目前当用户的权限无法对应用程序的应用数据进行清除时,通过提权的方式实现对应用程序的应用数据进行清除相比,本发明实施例通过对客户端事件进行监听,能够保证实现所述应用程序对应的应用数据清除,从而能够保证应用数据的安全性。
[0069]进一步地,作为图1的具体实现,本发明实施例提供了一种客户端,如图3所示,所述客户端包括:监听单元31、判断单元32、调用单元33。
[0070]监听单元31,用于对客户端事件进行监听。
[0071]判断单元32,用于判断所述客户端事件是否为预设客户端事件。
[0072]调用单元33,用于若判断所述客户端事件为预设客户端事件,则调用应用程序相应清除服务包的接口。
[0073]进一步地,以便于所述清除服务包执行清除操作,清除其所在应用程序的应用数据。所述预设客户端事件为客户端卸载事件或者客户端异常事件。
[0074]所述清除服务包以封装的方式置于应用程序中,所述封装方式为:
[0075]获取从预设下载地址下载的应用程序的安装包;
[0076]将所述安装包进行解包;
[0077]按照预设封装规则,在所述安装包中注入所述预设封装规则对应的清除包,其中,所述清除包用于清除其所在应用程序的应用数据。
[0078]所述清除服务包以封装的方式置于应用程序中,所述封装方式为:
[0079]将所述应用程序解压,并进行反编译;
[0080]对反编译后的文件进行处理,包括在反编译后的代码中插入清除服务包对应的代码和在反编译后的Androidmanifest.xml文件中加入清除服务包的服务声明;
[0081]将处理后的反编译文件进行回编译、签名,完成所述应用程序中清除服务包的插入。
[0082]本发明实施例提供的一种客户端。首先对客户端事件进行监听;判断所述客户端事件是否为预设客户端事件;若是,则调用所述客户端中相应的清除服务包的接口;以便于所述清除服务包执行清除操作,清除所述应用程序对应的应用数据。与目前当用户的权限无法对应用程序的应用数据进行清除时,通过提权的方式实现对应用程序的应用数据进行清除相比,本发明实施例通过对客户端事件进行监听,能够保证实现所述应用程序对应的应用数据清除,从而能够保证应用数据的安全性。
[0083]进一步地,作为图2的具体实现,本发明实施例提供了一种服务器,如图4所示,所述服务器包括:封装单元41、下发单元42。
[0084]封装单元41,用于获取应用程序的安装包进行封装,使得所述应用程序中封装有清除服务包;
[0085]下发单元,用于将所述应用程序下发至客户端,以便于客户端确认所述客户端事件为预设客户端事件时,调用应用程序相应清除服务包的接口,以便于所述清除服务包执行清除操作,清除其所在应用程序的应用数据。
[0086]进一步地,如图5,所述装置还包括:获取单元43。
[0087]获取单元43,用于获取所述应用程序的系统权限。
[0088]所述封装单元41包括:
[0089]获取模块,用于获取从预设下载地址下载的应用程序的安装包;
[0090]解包模块,用于将所述安装包进行解包;
[0091]注入模块,用于按照预设封装规则,在所述安装包中注入所述预设封装规则对应的清除包,其中,所述清除包用于清除其所在应用程序的应用数据。
[0092]所述封装单元41包括:
[0093]解压模块,用于将所述应用程序解压,并进行反编译;
[0094]处理模块,用于对反编译后的文件进行处理,包括在反编译后的代码中插入清除服务包对应的代码和在反编译后的Androidmanifest.xml文件中加入清除服务包的服务声明;
[0095]插入模块,用于将处理后的反编译文件进行回编译、签名,完成所述应用程序中清除服务包的插入。
[0096]本发明实施例提供的一种服务器。首先对客户端事件进行监听;判断所述客户端事件是否为预设客户端事件;若是,则调用所述客户端中相应的清除服务包的接口;以便于所述清除服务包执行清除操作,清除所述应用程序对应的应用数据。与目前当用户的权限无法对应用程序的应用数据进行清除时,通过提权的方式实现对应用程序的应用数据进行清除相比,本发明实施例通过对客户端事件进行监听,能够保证实现所述应用程序对应的应用数据清除,从而能够保证应用数据的安全性。
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1