通过脚本插件技术提取智能手机应用数据的方法和装置.pdf

上传人:e2 文档编号:629852 上传时间:2018-02-28 格式:PDF 页数:9 大小:521.02KB
返回 下载 相关 举报
摘要
申请专利号:

CN201410389950.8

申请日:

2014.08.11

公开号:

CN104142830A

公开日:

2014.11.12

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||著录事项变更IPC(主分类):G06F 9/44变更事项:申请人变更前:四川效率源信息安全技术有限责任公司变更后:四川效率源信息安全技术股份有限公司变更事项:地址变更前:610000 四川省成都市高新区天府大道1700号新世纪环球中心E37楼2-1-715变更后:610000 四川省成都市高新区天府大道1700号新世纪环球中心E57楼3-2-702|||实质审查的生效IPC(主分类):G06F 9/44申请日:20140811|||公开

IPC分类号:

G06F9/44; H04M1/24

主分类号:

G06F9/44

申请人:

四川效率源信息安全技术有限责任公司

发明人:

梁效宁

地址:

610000 四川省成都市高新区天府大道1700号新世纪环球中心E37楼2-1-715

优先权:

专利代理机构:

代理人:

PDF下载: PDF下载
内容摘要

本发明公开了通过脚本插件技术提取智能手机应用数据的方法和装置,属于数据恢复技术领域,包括以下步骤:S1:使用JavaScript编写脚本文档;S2:将编写好的脚本文档存放在取证系统运行的特定目录Script下;S3:将取证系统与手机连通,获取手机安装的所有应用及其版本,并把取证系统中的插件应用和手机安装的应用进行智能匹配;S4:将匹配成功的脚本插件进行数据提取、解析、分析,最后呈现到用户界面。本发明的有益效果如下:本发明由于使用了JavaScript脚本编写插件,无缝集成到取证系统中,使取证系统可以无限扩展。

权利要求书

1.  一种通过脚本插件技术提取智能手机App数据的方法,其特征在于,包括以下步骤:
S1:使用Java Script编写脚本文档;
S2:将编写好的脚本文档存放在取证系统运行的特定目录Script下;
S3:将取证系统与手机连通,获取手机安装的所有应用及其版本,并把取证系统中的插件应用和手机安装的应用进行智能匹配;
S4:将匹配成功的脚本插件进行数据提取、解析、分析,最后呈现到用户界面。

2.
  根据权利要求1所述的方法,其特征在于,所述的脚本文档由两部分组成,分别是配置部分和Java Script代码部分。

3.
  根据权利要求2所述的方法,其特征在于,所述的配置部分包括应用名称、隶属于哪种应用类别、版本号、提取方式、使用的数据结构、使用的图标文件以及需要使用的数据文件。

4.
  根据权利要求2或3所述的方法,其特征在于,所述的Java Script代码部分加入GoogleV8脚本引擎中注入的用C#编写的XLY对象。

5.
  根据权利要求4所述的方法,其特征在于,采用所述的GoogleV8的.Net版动态库Noesis.Javascript.dll,在脚本执行过程中,动态加入以XLY开头的对象。

6.
  根据权利要求5所述的方法,其特征在于,在XLY对象中注入Convet,Debug,File,PList,Sqlite和File对象。

7.
  根据权利要求1所述的方法,其特征在于,S4所述的具体方法如下:S41使用C#语言把脚本中的配置信息以可扩展标记语言XML的方式读入,通过对配置文件的解析,把用户配置的插件信息转换为在C#中自定义的Data Parse Script对象,其中包含该插件的名称、使用的数据结构、用户界面视图结构和Java Script脚本代码;
S42:通过GoogleV8引擎,高效执行Java Script脚本,这里约定Java Script的执行结果为Array转换的Json字符串;
S43:通过开源动态库Newtonsoft.Json.dll把Json字符串转换为C#中可以使用的数组对象;
S44:把配置中获取的Data Parse Script对象和Java Script执行得到的C#语言中数组对象组装为用户界面统一的数据契约对象进行呈现。

8.
  根据权利要求1所述的插件控制器,其特征在于,包括设置在取证系统运行的特定目录Script下的脚本编辑模块;将取证系统中的插件应用和手机安装的应用进行智能匹配的匹配模块;将匹配成功的脚本插件进行数据提取、解析、分析,最后呈现到用户界面的解析模块。

9.
  根据权利要求8所述的插件控制器,其特征在于,所述的脚本编辑模块包括配置单元和代码单元,所述的配置单元包括应用名称、隶属于哪种应用类别、版本号、提取方式、使用的数据结构、使用的图标文件以及需要使用的数据文件。

10.
  根据权利要9所述的插件控制器,其特征在于,所述的代码单元包括GoogleV8脚本引擎中注入的用C#编写的XLY对象,其中XLY对象包括Convet,Debug,File,PList,Sqlite和File对象。

说明书

通过脚本插件技术提取智能手机应用数据的方法和装置
技术领域
    本发明属于信息安全技术领域,具体涉及一种通过脚本插件技术提取智能手机应用数据的方法和装置。
背景技术
智能手机取证系统是对手机中各种应用(Application,简称App)数据进行提取和分析。但市场上的手机App层出不穷,每个App应用的版本也在不断的更新升级,因此现有的取证系统所支持的App总赶不上市场的变化。
比如当下计划生成支持A、B、C三个主流应用最新V1版本的取证系统,但当半个月后,应用集成到取证系统后,这三个应用已经升级到V2版本,或者又有新的D应用需要集成,因此,支持V1版本的取证系统如果应用在V2版本中,会出现重大缺陷。
在这种情况下,只有把App应用数据的提取方法开放给第三方(包括客户),使用最流行的JavaScript语言编写脚本,以插件的机制持续不断地集成到取证系统中,才可能解决上述问题。
发明内容
本发明针对现有技术的不足,提供了一种通过脚本插件技术提取智能手机应用数据的方法和装置,能够有效的解决因APP更新速度过快造成取证系统滞后而产生的严重缺陷。
为解决以上问题,本发明采用的技术方案如下:一种通过脚本插件技术提取智能手机应用数据的方法和装置,包括以下步骤:
S1:使用JavaScript编写脚本文档;
S2:将编写好的脚本文档存放在取证系统运行的特定目录Script下;
S3:将取证系统与手机连通,获取手机安装的所有应用及其版本,并把取证系统中的插件应用和手机安装的应用进行智能匹配;
S4:将匹配成功的脚本插件进行数据提取、解析、分析,最后呈现到用户界面。
作为优选:所述的脚本文档由两部分组成,分别是配置部分和JavaScript代码部分。
作为优选:所述的配置部分包括应用名称、隶属于哪种应用类别、版本号、提取方式、使用的数据结构、使用的图标文件以及需要使用的数据文件。
作为优选:所述的JavaScript代码部分加入GoogleV8脚本引擎中注入的用C#编写的XLY对象。
作为优选:采用所述的GoogleV8的.Net版动态库Noesis.Javascript.dll,在脚本执行过程中,动态加入以XLY开头的对象。
作为优选:在XLY对象中注入Convet,Debug,File,PList,Sqlite和File对象。
作为优选:S4所述的具体方法如下:
S41使用C#语言把脚本中的配置信息以可扩展标记语言XML的方式读入,通过对配置文件的解析,把用户配置的插件信息转换为在C#中自定义的Data Parse Script对象,其中包含该插件的名称、使用的数据结构、用户界面视图结构和JavaScript脚本代码;
S42:通过GoogleV8引擎,高效执行JavaScript脚本,这里约定JavaScript的执行结果为Array转换的Json字符串;
S43:通过开源动态库Newtonsoft.Json.dll把Json字符串转换为C#中可以使用的数组对象;
S44:把配置中获取的Data Parse Script对象和JavaScript执行得到的C#语言中数组对象组装为用户界面统一的数据契约对象进行呈现。
为解决以上问题,本发明还提供了一种插件控制器,包括设置在取证系统运行的特定目录Script下的脚本编辑模块;将取证系统中的插件应用和手机安装的应用进行智能匹配的匹配模块;将匹配成功的脚本插件进行数据提取、解析、分析,最后呈现到用户界面的解析模块。
作为优选,所述的脚本编辑模块包括配置单元和代码单元,所述的配置单元包括应用名称、隶属于哪种应用类别、版本号、提取方式、使用的数据结构、使用的图标文件以及需要使用的数据文件。
作为优选,所述的代码单元包括GoogleV8脚本引擎中注入的用C#编写的XLY对象,其中XLY对象包括Convet,Debug,File,PList,Sqlite和File对象。
本发明的有益效果如下:本发明只需要第三方(包括客户)人员通过简单学习和遵守特定契约,就可以根据自己特定需求(目的)提取特定应用数据,以满足自身需求。本发明使用最常用的脚本语言JavaScript,由于这门语言使用最广泛,基础语法简单,降低了第三方(包括客户)人员的学习成本。本发明由于使用了JavaScript脚本编写插件,无缝集成到取证系统中,使取证系统可以无限扩展。
附图说明
图1是JavaScript脚本插件加载到取证系统的流程示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明做进一步详细说明。
一种通过脚本插件技术提取智能手机应用数据的方法,包括以下步骤:
S1:使用JavaScript编写脚本文档;
S2:将编写好的脚本文档存放在取证系统运行的特定目录Script下;
S3:将取证系统与手机连通,获取手机安装的所有应用及其版本,并把取证系统中的插件应用和手机安装的应用进行智能匹配;
S4:将匹配成功的脚本插件进行数据提取、解析、分析,最后呈现到用户界面。
所述的脚本文档由两部分组成,分别是配置部分和JavaScript代码部分。
所述的配置部分包括应用名称、隶属于哪种应用类别、版本号、提取方式、使用的数据结构、使用的图标文件以及需要使用的数据文件。
作所述的JavaScript代码部分加入GoogleV8脚本引擎中注入的用C#编写的XLY对象。
采用所述的GoogleV8的.Net版动态库Noesis.Javascript.dll,在脚本执行过程中,动态加入以XLY开头的对象。
在XLY对象中注入Convet,Debug,File,PList,Sqlite和File对象。
S4所述的具体方法如下:
S41使用C#语言把脚本中的配置信息以可扩展标记语言XML的方式读入,通过对配置文件的解析,把用户配置的插件信息转换为在C#中自定义的Data Parse Script对象,其中包含该插件的名称、使用的数据结构、用户界面视图结构和JavaScript脚本代码;
S42:通过GoogleV8引擎,高效执行JavaScript脚本,这里约定JavaScript的执行结果为Array转换的Json字符串;
S43:通过开源动态库Newtonsoft.Json.dll把Json字符串转换为C#中可以使用的数组对象;
S44:把配置中获取的Data Parse Script对象和JavaScript执行得到的C#语言中数组对象组装为用户界面统一的数据契约对象进行呈现。
为解决以上问题,本发明还提供了一种插件控制器,包括设置在取证系统运行的特定目录Script下的脚本编辑模块;将取证系统中的插件应用和手机安装的应用进行智能匹配的匹配模块;将匹配成功的脚本插件进行数据提取、解析、分析,最后呈现到用户界面的解析模块。
所述的脚本编辑模块包括配置单元和代码单元,所述的配置单元包括应用名称、隶属于哪种应用类别、版本号、提取方式、使用的数据结构、使用的图标文件以及需要使用的数据文件;所述的代码单元包括GoogleV8脚本引擎中注入的用C#编写的XLY对象,其中XLY对象包括Convet,Debug,File,PList,Sqlite和File对象。
具体实施例:
JavaScript脚本插件加载到取证系统的方法:
如图1所示,用户使用JavaScript编写脚本后,放在取证系统运行的特定目录Script下,取证系统运行时从该目录加载所有的插件。然后将取证系统链接手机获取手机安装的所有应用及其版本,把取证系统中的插件应用和手机安装的应用进行智能匹配。匹配成功的脚本插件开始进行数据提取、解析、分析,最后呈现到UI(User Interface,用户界面)。此处的智能匹配是指对版本的匹配,属于现有技术,不在此累述。
脚本文档设计思路:脚本文档由两部分组成,分别是配置和Javascript代码。
1. 配置部分主要起到插件自述作用,如它的应用名称,隶属于哪种应用类别,版本号,提取方式,使用的数据结构,使用的图标文件以及它需要使用的数据文件。
为了让UI根据用户自定义展示数据结构,本发明提供data配置节点,可以对展示子项的类型、名称、宽度,对齐方式,排序以及呈现格式等进行自定义。
代码举例如下:
/*[config]
<plugin name="Sqlite 提取测试,1" group="Test,11"devicetype="android,ios" pump="usb,wifi,mirror,bluetooth"  app="com.android.providers.telephony" version="1.0" icon="\icons\icon_DeviceInformation.png" description="Sqlite提取模板" data="$data" >
<source>
<value>/data/data/com.sec.android.provider.logsprovider/databases/logs.db</value>
<value>#/databases/logs.db</value>
</source>
<data detailfield="" contract="Contact">
<item name="电话号码" code="Number" type="string" width="120" format="" order="Asc,Desc" alignment="Left,Center,Right" groupindex="-1" templatename="" templateparameter="" ></item>
<item name="日期" code="StartDate" type="string" width="120" format=""  ></item>
<item name="姓名" code="Name" type="string" width="130" ></item>
<item name="DurationSecond" code="DurationSecond" type="int" width="100" ></item>
    <item name="联系人名称" code="ContactName" type="st width="180" ></item>
<item name="Type" code="Type" type="string" width="120" ></item>
</data>
</plugin>
[config]*/
2. 脚本文档的核心部分是由用户编写的JavaScript代码。
考虑到用户学习成本以及对一些用JavaScript脚本编写难以实现的场景,这里只使用JavaScript最基本的语法,再辅以往GoogleV8脚本引擎中注入的用C#编写的XLY对象(File、PList、Convert、Debug、Sqilte)。用户可以轻松处理IOS系统有的PList文件和Sqlite文件,同时可以使用一些工具类和调试类方法。
举例如下://树形结构
function TreeNode() {
    this.Text = ""; //节点名称
    this.TreeNodes = new Array(); //子节点数字
    this.Items = new Array(); //该节点的数据项,即前面定义的Item对象数组。
    this.Type = ""; //节点[Items]的数据类型
    this.DataState = "Normal";
}
var result = new Array();
//源文件
var source = $source;
//测试数据
XLY.Debug.WriteLine("Hello World");
//账户
var len1 = Number(XLY.Debug.RandomInt(2, 5));
for (var i = 0; i < len1; i++) {
    var n1 = new TreeNode();
    n1.Text = "账户:" + i;
    n1.Type = "Group";
    //分组
    var len2 = Number(XLY.Debug.RandomInt(1, 5));
}
核心逻辑实现技术:
1.引入GoogleV8开源引擎
它是由谷歌开发开源的JavaScript引擎,它在运行之前把JavaScript代码直接编译位机器码,而非字节码,让执行效率得到显著提高。最为重要的是,它支持属性可以在运行时动态添加到或从对象中删除,引擎会为运行中的对象创建一个属性字典,新的属性都要通过字典查找属性在内存中的位置。因此本发明采用它的.Net版动态库(Noesis.Javascript.dll),在脚本执行过程中,动态加入以“XLY”开头的对象,在“XLY”对象中注入Convet,Debug,File,PList,Sqlite,File对象,以方便用户更灵活方便的操作复杂数据结构。完成上述步骤,就可以编写下面的代码语句。
//在输出窗口打印调试信息 “Hello World”
XLY.Debug.WriteLine("Hello World"); 
//调用Sqlite数据恢复数据库数据
var dbpath = XLY.Sqlite.DataRecovery(oldDbpath, chailb, tableList); 
//转换为C#中特定的枚举值
accountTree.DataType = XLY.Convert.ToDataState(account.XLY_DataType);
//把转换Linux系统下10位或13时间戳转换为Windows系统的时间格式。
msg.Date = XLY.Convert.LinuxToDateTime(parseInt(msgInfo.Time));
2.脚本解析
a)  首先使用C#语言把脚本中的配置信息以可扩展标记语言XML的方式读入,通过对配置文件的解析,把用户配置的插件信息转换为在C#中自定义的Data Parse Script对象,其中包含该插件的名称,使用的数据结构,比如树结构,UI视图结构和JavaScript脚本代码。
b)  通过GoogleV8引擎,高效执行JavaScript脚本。这里约定JavaScript的执行结果为Array转换的Json字符串。
c)  通过开源动态库Newtonsoft.Json.dll把Json字符串转换为C#中可以使用的数组对象。
d)  最后,把配置中获取的Data Parse Script对象和JavaScript执行得到的C#语言中数组对象(元素为:自定义的简单对象,动态对象,树节点),再组装为界面UI统一的数据契约对象(IDataSource)进行呈现。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的实施方法,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。

通过脚本插件技术提取智能手机应用数据的方法和装置.pdf_第1页
第1页 / 共9页
通过脚本插件技术提取智能手机应用数据的方法和装置.pdf_第2页
第2页 / 共9页
通过脚本插件技术提取智能手机应用数据的方法和装置.pdf_第3页
第3页 / 共9页
点击查看更多>>
资源描述

《通过脚本插件技术提取智能手机应用数据的方法和装置.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。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1