《通过脚本插件技术提取智能手机应用数据的方法和装置.pdf》由会员分享,可在线阅读,更多相关《通过脚本插件技术提取智能手机应用数据的方法和装置.pdf(9页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN104142830A43申请公布日20141112CN104142830A21申请号201410389950822申请日20140811G06F9/44200601H04M1/2420060171申请人四川效率源信息安全技术有限责任公司地址610000四川省成都市高新区天府大道1700号新世纪环球中心E37楼2171572发明人梁效宁54发明名称通过脚本插件技术提取智能手机应用数据的方法和装置57摘要本发明公开了通过脚本插件技术提取智能手机应用数据的方法和装置,属于数据恢复技术领域,包括以下步骤S1使用JAVASCRIPT编写脚本文档;S2将编写好的脚本文档存放在取证系统运行。
2、的特定目录SCRIPT下;S3将取证系统与手机连通,获取手机安装的所有应用及其版本,并把取证系统中的插件应用和手机安装的应用进行智能匹配;S4将匹配成功的脚本插件进行数据提取、解析、分析,最后呈现到用户界面。本发明的有益效果如下本发明由于使用了JAVASCRIPT脚本编写插件,无缝集成到取证系统中,使取证系统可以无限扩展。51INTCL权利要求书1页说明书6页附图1页19中华人民共和国国家知识产权局12发明专利申请权利要求书1页说明书6页附图1页10申请公布号CN104142830ACN104142830A1/1页21一种通过脚本插件技术提取智能手机APP数据的方法,其特征在于,包括以下步骤S。
3、1使用JAVASCRIPT编写脚本文档;S2将编写好的脚本文档存放在取证系统运行的特定目录SCRIPT下;S3将取证系统与手机连通,获取手机安装的所有应用及其版本,并把取证系统中的插件应用和手机安装的应用进行智能匹配;S4将匹配成功的脚本插件进行数据提取、解析、分析,最后呈现到用户界面。2根据权利要求1所述的方法,其特征在于,所述的脚本文档由两部分组成,分别是配置部分和JAVASCRIPT代码部分。3根据权利要求2所述的方法,其特征在于,所述的配置部分包括应用名称、隶属于哪种应用类别、版本号、提取方式、使用的数据结构、使用的图标文件以及需要使用的数据文件。4根据权利要求2或3所述的方法,其特征。
4、在于,所述的JAVASCRIPT代码部分加入GOOGLEV8脚本引擎中注入的用C编写的XLY对象。5根据权利要求4所述的方法,其特征在于,采用所述的GOOGLEV8的NET版动态库NOESISJAVASCRIPTDLL,在脚本执行过程中,动态加入以XLY开头的对象。6根据权利要求5所述的方法,其特征在于,在XLY对象中注入CONVET,DEBUG,FILE,PLIST,SQLITE和FILE对象。7根据权利要求1所述的方法,其特征在于,S4所述的具体方法如下S41使用C语言把脚本中的配置信息以可扩展标记语言XML的方式读入,通过对配置文件的解析,把用户配置的插件信息转换为在C中自定义的DATA。
5、PARSESCRIPT对象,其中包含该插件的名称、使用的数据结构、用户界面视图结构和JAVASCRIPT脚本代码;S42通过GOOGLEV8引擎,高效执行JAVASCRIPT脚本,这里约定JAVASCRIPT的执行结果为ARRAY转换的JSON字符串;S43通过开源动态库NEWTONSOFTJSONDLL把JSON字符串转换为C中可以使用的数组对象;S44把配置中获取的DATAPARSESCRIPT对象和JAVASCRIPT执行得到的C语言中数组对象组装为用户界面统一的数据契约对象进行呈现。8根据权利要求1所述的插件控制器,其特征在于,包括设置在取证系统运行的特定目录SCRIPT下的脚本编辑模。
6、块;将取证系统中的插件应用和手机安装的应用进行智能匹配的匹配模块;将匹配成功的脚本插件进行数据提取、解析、分析,最后呈现到用户界面的解析模块。9根据权利要求8所述的插件控制器,其特征在于,所述的脚本编辑模块包括配置单元和代码单元,所述的配置单元包括应用名称、隶属于哪种应用类别、版本号、提取方式、使用的数据结构、使用的图标文件以及需要使用的数据文件。10根据权利要9所述的插件控制器,其特征在于,所述的代码单元包括GOOGLEV8脚本引擎中注入的用C编写的XLY对象,其中XLY对象包括CONVET,DEBUG,FILE,PLIST,SQLITE和FILE对象。权利要求书CN104142830A1/。
7、6页3通过脚本插件技术提取智能手机应用数据的方法和装置技术领域0001本发明属于信息安全技术领域,具体涉及一种通过脚本插件技术提取智能手机应用数据的方法和装置。背景技术0002智能手机取证系统是对手机中各种应用(APPLICATION,简称APP)数据进行提取和分析。但市场上的手机APP层出不穷,每个APP应用的版本也在不断的更新升级,因此现有的取证系统所支持的APP总赶不上市场的变化。0003比如当下计划生成支持A、B、C三个主流应用最新V1版本的取证系统,但当半个月后,应用集成到取证系统后,这三个应用已经升级到V2版本,或者又有新的D应用需要集成,因此,支持V1版本的取证系统如果应用在V2。
8、版本中,会出现重大缺陷。0004在这种情况下,只有把APP应用数据的提取方法开放给第三方(包括客户),使用最流行的JAVASCRIPT语言编写脚本,以插件的机制持续不断地集成到取证系统中,才可能解决上述问题。发明内容0005本发明针对现有技术的不足,提供了一种通过脚本插件技术提取智能手机应用数据的方法和装置,能够有效的解决因APP更新速度过快造成取证系统滞后而产生的严重缺陷。0006为解决以上问题,本发明采用的技术方案如下一种通过脚本插件技术提取智能手机应用数据的方法和装置,包括以下步骤S1使用JAVASCRIPT编写脚本文档;S2将编写好的脚本文档存放在取证系统运行的特定目录SCRIPT下;。
9、S3将取证系统与手机连通,获取手机安装的所有应用及其版本,并把取证系统中的插件应用和手机安装的应用进行智能匹配;S4将匹配成功的脚本插件进行数据提取、解析、分析,最后呈现到用户界面。0007作为优选所述的脚本文档由两部分组成,分别是配置部分和JAVASCRIPT代码部分。0008作为优选所述的配置部分包括应用名称、隶属于哪种应用类别、版本号、提取方式、使用的数据结构、使用的图标文件以及需要使用的数据文件。0009作为优选所述的JAVASCRIPT代码部分加入GOOGLEV8脚本引擎中注入的用C编写的XLY对象。0010作为优选采用所述的GOOGLEV8的NET版动态库NOESISJAVASCR。
10、IPTDLL,在脚本执行过程中,动态加入以XLY开头的对象。0011作为优选在XLY对象中注入CONVET,DEBUG,FILE,PLIST,SQLITE和FILE对象。0012作为优选S4所述的具体方法如下说明书CN104142830A2/6页4S41使用C语言把脚本中的配置信息以可扩展标记语言XML的方式读入,通过对配置文件的解析,把用户配置的插件信息转换为在C中自定义的DATAPARSESCRIPT对象,其中包含该插件的名称、使用的数据结构、用户界面视图结构和JAVASCRIPT脚本代码;S42通过GOOGLEV8引擎,高效执行JAVASCRIPT脚本,这里约定JAVASCRIPT的执行。
11、结果为ARRAY转换的JSON字符串;S43通过开源动态库NEWTONSOFTJSONDLL把JSON字符串转换为C中可以使用的数组对象;S44把配置中获取的DATAPARSESCRIPT对象和JAVASCRIPT执行得到的C语言中数组对象组装为用户界面统一的数据契约对象进行呈现。0013为解决以上问题,本发明还提供了一种插件控制器,包括设置在取证系统运行的特定目录SCRIPT下的脚本编辑模块;将取证系统中的插件应用和手机安装的应用进行智能匹配的匹配模块;将匹配成功的脚本插件进行数据提取、解析、分析,最后呈现到用户界面的解析模块。0014作为优选,所述的脚本编辑模块包括配置单元和代码单元,所述。
12、的配置单元包括应用名称、隶属于哪种应用类别、版本号、提取方式、使用的数据结构、使用的图标文件以及需要使用的数据文件。0015作为优选,所述的代码单元包括GOOGLEV8脚本引擎中注入的用C编写的XLY对象,其中XLY对象包括CONVET,DEBUG,FILE,PLIST,SQLITE和FILE对象。0016本发明的有益效果如下本发明只需要第三方(包括客户)人员通过简单学习和遵守特定契约,就可以根据自己特定需求(目的)提取特定应用数据,以满足自身需求。本发明使用最常用的脚本语言JAVASCRIPT,由于这门语言使用最广泛,基础语法简单,降低了第三方(包括客户)人员的学习成本。本发明由于使用了JA。
13、VASCRIPT脚本编写插件,无缝集成到取证系统中,使取证系统可以无限扩展。附图说明0017图1是JAVASCRIPT脚本插件加载到取证系统的流程示意图。具体实施方式0018为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明做进一步详细说明。0019一种通过脚本插件技术提取智能手机应用数据的方法,包括以下步骤S1使用JAVASCRIPT编写脚本文档;S2将编写好的脚本文档存放在取证系统运行的特定目录SCRIPT下;S3将取证系统与手机连通,获取手机安装的所有应用及其版本,并把取证系统中的插件应用和手机安装的应用进行智能匹配;S4将匹配成功的脚本插件进行数据提取、解析。
14、、分析,最后呈现到用户界面。0020所述的脚本文档由两部分组成,分别是配置部分和JAVASCRIPT代码部分。0021所述的配置部分包括应用名称、隶属于哪种应用类别、版本号、提取方式、使用的数据结构、使用的图标文件以及需要使用的数据文件。说明书CN104142830A3/6页50022作所述的JAVASCRIPT代码部分加入GOOGLEV8脚本引擎中注入的用C编写的XLY对象。0023采用所述的GOOGLEV8的NET版动态库NOESISJAVASCRIPTDLL,在脚本执行过程中,动态加入以XLY开头的对象。0024在XLY对象中注入CONVET,DEBUG,FILE,PLIST,SQLIT。
15、E和FILE对象。0025S4所述的具体方法如下S41使用C语言把脚本中的配置信息以可扩展标记语言XML的方式读入,通过对配置文件的解析,把用户配置的插件信息转换为在C中自定义的DATAPARSESCRIPT对象,其中包含该插件的名称、使用的数据结构、用户界面视图结构和JAVASCRIPT脚本代码;S42通过GOOGLEV8引擎,高效执行JAVASCRIPT脚本,这里约定JAVASCRIPT的执行结果为ARRAY转换的JSON字符串;S43通过开源动态库NEWTONSOFTJSONDLL把JSON字符串转换为C中可以使用的数组对象;S44把配置中获取的DATAPARSESCRIPT对象和JAV。
16、ASCRIPT执行得到的C语言中数组对象组装为用户界面统一的数据契约对象进行呈现。0026为解决以上问题,本发明还提供了一种插件控制器,包括设置在取证系统运行的特定目录SCRIPT下的脚本编辑模块;将取证系统中的插件应用和手机安装的应用进行智能匹配的匹配模块;将匹配成功的脚本插件进行数据提取、解析、分析,最后呈现到用户界面的解析模块。0027所述的脚本编辑模块包括配置单元和代码单元,所述的配置单元包括应用名称、隶属于哪种应用类别、版本号、提取方式、使用的数据结构、使用的图标文件以及需要使用的数据文件;所述的代码单元包括GOOGLEV8脚本引擎中注入的用C编写的XLY对象,其中XLY对象包括CO。
17、NVET,DEBUG,FILE,PLIST,SQLITE和FILE对象。0028具体实施例JAVASCRIPT脚本插件加载到取证系统的方法如图1所示,用户使用JAVASCRIPT编写脚本后,放在取证系统运行的特定目录SCRIPT下,取证系统运行时从该目录加载所有的插件。然后将取证系统链接手机获取手机安装的所有应用及其版本,把取证系统中的插件应用和手机安装的应用进行智能匹配。匹配成功的脚本插件开始进行数据提取、解析、分析,最后呈现到UI(USERINTERFACE,用户界面)。此处的智能匹配是指对版本的匹配,属于现有技术,不在此累述。0029脚本文档设计思路脚本文档由两部分组成,分别是配置和JA。
18、VASCRIPT代码。00301配置部分主要起到插件自述作用,如它的应用名称,隶属于哪种应用类别,版本号,提取方式,使用的数据结构,使用的图标文件以及它需要使用的数据文件。0031为了让UI根据用户自定义展示数据结构,本发明提供DATA配置节点,可以对展示子项的类型、名称、宽度,对齐方式,排序以及呈现格式等进行自定义。0032代码举例如下/CONG/DATA/DATA/COMSECANDROIDPROVIDERLOGSPROVIDER/DATABASES/LOGSDB/DATABASES/LOGSDBCONG/2脚本文档的核心部分是由用户编写的JAVASCRIPT代码。0033考虑到用户学习成。
19、本以及对一些用JAVASCRIPT脚本编写难以实现的场景,这里只使用JAVASCRIPT最基本的语法,再辅以往GOOGLEV8脚本引擎中注入的用C编写的XLY对象(FILE、PLIST、CONVERT、DEBUG、SQILTE)。用户可以轻松处理IOS系统有的PLIST文件和SQLITE文件,同时可以使用一些工具类和调试类方法。0034举例如下/树形结构FUNCTIONTREENODETHISTEXT“/节点名称THISTREENODESNEWARRAY/子节点数字THISITEMSNEWARRAY/该节点的数据项,即前面定义的ITEM对象数组。0035THISTYPE“/节点ITEMS的数据。
20、类型THISDATASTATE“NORMAL“VARRESULTNEWARRAY/源文件VARSOURCESOURCE/测试数据说明书CN104142830A5/6页7XLYDEBUGWRITELINE“HELLOWORLD“/账户VARLEN1NUMBERXLYDEBUGRANDOMINT2,5FORVARI0ILEN1IVARN1NEWTREENODEN1TEXT“账户“IN1TYPE“GROUP“/分组VARLEN2NUMBERXLYDEBUGRANDOMINT1,5核心逻辑实现技术1引入GOOGLEV8开源引擎它是由谷歌开发开源的JAVASCRIPT引擎,它在运行之前把JAVASCRI。
21、PT代码直接编译位机器码,而非字节码,让执行效率得到显著提高。最为重要的是,它支持属性可以在运行时动态添加到或从对象中删除,引擎会为运行中的对象创建一个属性字典,新的属性都要通过字典查找属性在内存中的位置。因此本发明采用它的NET版动态库(NOESISJAVASCRIPTDLL),在脚本执行过程中,动态加入以“XLY”开头的对象,在“XLY”对象中注入CONVET,DEBUG,FILE,PLIST,SQLITE,FILE对象,以方便用户更灵活方便的操作复杂数据结构。完成上述步骤,就可以编写下面的代码语句。0036/在输出窗口打印调试信息“HELLOWORLD”XLYDEBUGWRITELINE。
22、“HELLOWORLD“/调用SQLITE数据恢复数据库数据VARDBPATHXLYSQLITEDATARECOVERYOLDDBPATH,CHAILB,TABLELIST/转换为C中特定的枚举值ACCOUNTTREEDATATYPEXLYCONVERTTODATASTATEACCOUNTXLY_DATATYPE/把转换LINUX系统下10位或13时间戳转换为WINDOWS系统的时间格式。0037MSGDATEXLYCONVERTLINUXTODATETIMEPARSEINTMSGINFOTIME2脚本解析A首先使用C语言把脚本中的配置信息以可扩展标记语言XML的方式读入,通过对配置文件的解析。
23、,把用户配置的插件信息转换为在C中自定义的DATAPARSESCRIPT对象,其中包含该插件的名称,使用的数据结构,比如树结构,UI视图结构和JAVASCRIPT脚本代码。0038B通过GOOGLEV8引擎,高效执行JAVASCRIPT脚本。这里约定JAVASCRIPT的执行结果为ARRAY转换的JSON字符串。0039C通过开源动态库NEWTONSOFTJSONDLL把JSON字符串转换为C中可以使用的数组对象。0040D最后,把配置中获取的DATAPARSESCRIPT对象和JAVASCRIPT执行得到的C语言中数组对象(元素为自定义的简单对象,动态对象,树节点),再组装为界面UI统一的数据契约对象(IDATASOURCE)进行呈现。说明书CN104142830A6/6页80041本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的实施方法,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。说明书CN104142830A1/1页9图1说明书附图CN104142830A。