CN104142830B - 通过脚本插件技术提取智能手机应用数据的方法和装置 - Google Patents
通过脚本插件技术提取智能手机应用数据的方法和装置 Download PDFInfo
- Publication number
- CN104142830B CN104142830B CN201410389950.8A CN201410389950A CN104142830B CN 104142830 B CN104142830 B CN 104142830B CN 201410389950 A CN201410389950 A CN 201410389950A CN 104142830 B CN104142830 B CN 104142830B
- Authority
- CN
- China
- Prior art keywords
- script
- plug
- evidence
- mobile phone
- data
- 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.)
- Active
Links
Landscapes
- Stored Programmes (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
本发明公开了通过脚本插件技术提取智能手机应用数据的方法和装置,属于数据恢复技术领域,包括以下步骤:S1:使用Java Script编写脚本文档;S2:将编写好的脚本文档存放在取证系统运行的特定目录Script下;S3:将取证系统与手机连通,获取手机安装的所有应用及其版本,并把取证系统中的插件应用和手机安装的应用进行智能匹配;S4:将匹配成功的脚本插件进行数据提取、解析、分析,最后呈现到用户界面。本发明的有益效果如下:本发明由于使用了Java Script脚本编写插件,无缝集成到取证系统中,使取证系统可以无限扩展。
Description
技术领域
本发明属于信息安全技术领域,具体涉及一种通过脚本插件技术提取智能手机应用数据的方法和装置。
背景技术
智能手机取证系统是对手机中各种应用(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)进行呈现。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的实施方法,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。
Claims (8)
1.一种通过脚本插件技术提取智能手机App数据的方法,其特征在于,包括以下步骤:
S1:使用Java Script编写脚本文档;
S2:将编写好的脚本文档存放在取证系统运行的特定目录Script下;
S3:将取证系统与手机连通,获取手机安装的所有应用及其版本,并把取证系统中的插件应用和手机安装的应用进行智能匹配;
S4:将匹配成功的脚本插件进行数据提取、解析、分析,最后呈现到用户界面;
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#语言中数组对象组装为用户界面统一的数据契约对象进行呈现。
2.根据权利要求1所述的方法,其特征在于,所述的脚本文档由两部分组成,分别是配置部分和Java Script代码部分。
3.根据权利要求2所述的方法,其特征在于,所述的配置部分包括应用名称、隶属于哪种应用类别、版本号、提取方式、使用的数据结构、使用的图标文件以及需要使用的数据文件。
4.根据权利要求2或3所述的方法,其特征在于,所述的Java Script代码部分加入GoogleV8脚本引擎中注入的用C#编写的XLY对象。
5.根据权利要求4所述的方法,其特征在于,采用所述的GoogleV8的.Net版动态库Noesis.Javascript.dll,在脚本执行过程中,动态加入以XLY开头的对象。
6.一种基于权利要求5所述方法的插件控制器,其特征在于,包括设置在取证系统运行的特定目录Script下的脚本编辑模块;将取证系统中的插件应用和手机安装的应用进行智能匹配的匹配模块;将匹配成功的脚本插件进行数据提取、解析、分析,最后呈现到用户界面的解析模块。
7.根据权利要求6所述的插件控制器,其特征在于,所述的脚本编辑模块包括配置单元和代码单元,所述的配置单元包括应用名称、隶属于哪种应用类别、版本号、提取方式、使用的数据结构、使用的图标文件以及需要使用的数据文件。
8.根据权利要求7所述的插件控制器,其特征在于,所述的代码单元包括GoogleV8脚本引擎中注入的用C#编写的XLY对象。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410389950.8A CN104142830B (zh) | 2014-08-11 | 2014-08-11 | 通过脚本插件技术提取智能手机应用数据的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410389950.8A CN104142830B (zh) | 2014-08-11 | 2014-08-11 | 通过脚本插件技术提取智能手机应用数据的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104142830A CN104142830A (zh) | 2014-11-12 |
CN104142830B true CN104142830B (zh) | 2017-06-06 |
Family
ID=51852012
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410389950.8A Active CN104142830B (zh) | 2014-08-11 | 2014-08-11 | 通过脚本插件技术提取智能手机应用数据的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104142830B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104699519A (zh) * | 2015-04-03 | 2015-06-10 | 四川效率源信息安全技术有限责任公司 | 基于GDI+实现的结合C#类库的JavaScript脚本编辑器 |
CN106657028B (zh) * | 2016-12-02 | 2020-04-03 | 杭州字节信息技术有限公司 | 一种安卓手机数据加密导出技术的实现方法 |
CN106980504B (zh) * | 2017-03-28 | 2022-07-01 | 腾讯科技(深圳)有限公司 | 一种应用程序开发方法及其工具、设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102739802A (zh) * | 2012-07-06 | 2012-10-17 | 广东电网公司汕头供电局 | 面向业务应用的it集中运维分析系统 |
CN102750495A (zh) * | 2012-06-07 | 2012-10-24 | 北京锐安科技有限公司 | iPhone手机加密备份文件的破解及还原系统 |
CN103064764A (zh) * | 2012-12-28 | 2013-04-24 | 盘石软件(上海)有限公司 | 一种快速恢复安卓手机删除信息的取证方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080313545A1 (en) * | 2007-06-13 | 2008-12-18 | Microsoft Corporation | Systems and methods for providing desktop or application remoting to a web browser |
WO2009143187A2 (en) * | 2008-05-19 | 2009-11-26 | Citrix Systems, Inc. | Systems and methods for remoting multimedia plugin calls |
-
2014
- 2014-08-11 CN CN201410389950.8A patent/CN104142830B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102750495A (zh) * | 2012-06-07 | 2012-10-24 | 北京锐安科技有限公司 | iPhone手机加密备份文件的破解及还原系统 |
CN102739802A (zh) * | 2012-07-06 | 2012-10-17 | 广东电网公司汕头供电局 | 面向业务应用的it集中运维分析系统 |
CN103064764A (zh) * | 2012-12-28 | 2013-04-24 | 盘石软件(上海)有限公司 | 一种快速恢复安卓手机删除信息的取证方法 |
Non-Patent Citations (3)
Title |
---|
.NET技术在管理信息系统开发中的应用;汪捷 等;《微机发展》;20041130;第14卷(第11期);第118页 * |
Windows Phone 7智能手机的取证;姚伟 等;《中国司法鉴定》;20140715;第75卷(第4期);第53页第2栏,第54页第2栏,第56页第1栏,表1 * |
基于Grails的在线自适应测试系统的设计与实现;杨进中 等;《开放教育研究》;20091231;第15卷(第6期);第97页第2栏 * |
Also Published As
Publication number | Publication date |
---|---|
CN104142830A (zh) | 2014-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI520061B (zh) | 移動裝置的應用程式框架 | |
CN104158836B (zh) | 一种通过数据渲染移动应用界面的方法 | |
CN108491199A (zh) | 一种自动生成接口的方法及终端 | |
CN101958987B (zh) | 电信业务数据动态转换的方法及其系统 | |
CN102184184B (zh) | 一种网页动态信息获取方法 | |
CN104142830B (zh) | 通过脚本插件技术提取智能手机应用数据的方法和装置 | |
CN100525302C (zh) | 基于组件复用的脚本生成装置及其方法 | |
Danielsson | React Native application development | |
CN105404514B (zh) | JavaScript渲染方法和装置 | |
CN105554577B (zh) | 一种智能电视ota升级的方法、装置及智能电视 | |
CN110297627A (zh) | 一种基于gitlab-ci的前端代码自动化持续集成方法 | |
CN102262684A (zh) | 移动终端网页页面生成方法及装置 | |
CN111176629A (zh) | 一种应用开发的方法和装置 | |
Danielsson | React Native application development: A comparison between native Android and React Native | |
CN111158687B (zh) | Java插件的界面生成方法、装置、计算机设备和存储介质 | |
CN106843901B (zh) | 一种页面渲染和验证的方法和装置 | |
CN110045956A (zh) | 组件的配置方法、装置、设备及可读存储介质 | |
CN108170409A (zh) | Web前端控件的开发方法和系统 | |
CN104699519A (zh) | 基于GDI+实现的结合C#类库的JavaScript脚本编辑器 | |
CN115525282A (zh) | 跨平台桌面应用程序的实现方法及其相关设备 | |
CN106126299B (zh) | 业务插件的处理方法及装置 | |
WO2012129864A1 (zh) | 一种以脚本形式表示增值业务流程的实现方法和系统 | |
CN103455307B (zh) | 对命令行输出的信息进行处理的方法和装置 | |
CN113641594B (zh) | 跨端自动化测试方法以及相关装置 | |
CN114968741B (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: E57 floor Tianfu Avenue in Chengdu city of Sichuan province in 610000 new century global center No. 1700 3-2-702 Applicant after: SICHUAN XLY INFORMATION SAFETY TECHNOLOGY CO., LTD. Address before: E37 floor Tianfu Avenue in Chengdu city of Sichuan province in 610000 new century global center No. 1700 2-1-715 Applicant before: Sichuan SalvationData Information Safety Technology Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |