当前位置: 首页 > 新闻中心 > 产品专题 > 干货必看丨取证大师V6脚本扩展功能全解析

干货必看丨取证大师V6脚本扩展功能全解析

发布时间:2018-11-29  浏览次数:1376


2018年美亚柏科感恩周,一大波暖冬福利接踵而至,包括有奖互动、版本升级、感恩回馈、免费试用等,你领取了吗?赶紧呼朋唤友前来围观吧~


往期福利回顾:

第一波:取证金刚双重惊喜重磅来袭丨每个取证实验室都值得拥有

第二波:取证大师十周年,系列感恩活动限时开启!

第三波:十周年感恩回馈丨取证大师V6版本升级上线!新功能详解看这里~


从2008到2018,十年的时间,美亚柏科取证大师不断突破,持续积累,历经一代又一代的产品升级,终于从一个仅支持Windows取证的单一软件,发展成国内应用最广、功能最强的电子数据取证综合分析系统。这个11月,取证大师全新升级,V6版正式上线,其中新增支持自定义脚本的功能更是给取证带来无限可能。今天,小编亚亚就给大家带来取证大师V6版本的重要功能——脚本扩展功能全解析。


1、计算机软件不断增长带来取证挑战


随着计算机的不断普及和互联网用户的海量增长,新的计算机软件层出不穷。2018年11月份数据显示,以Windows系统为主的腾讯软件中心,软件种类数量过万。360软件管家上的软件种类也高达7500种。 每款软件经过升级更新的版本更是不计其数。 不同软件不同版本之间的数据存储结构各不相同,给执法人员取证带来巨大挑战。


1543581513956923.png


小众应用和应用细分版本过多无法进行取证的问题日益凸显,基于此,美亚柏科取证大师全新升级的V6版本(更新版本功能点击此处了解)中增加了脚本扩展功能,能快速有效解决计算机软件取证不支持的情况。


2. 脚本扩展解决方案助力取证


2.1 脚本插件


插件的本质在于不修改程序主体(平台)的情况下对软件功能进行拓展与加强,当插件的接口公开后,任何公司或个人都可以制作自己的插件来解决一些操作上的不便或增加新功能,也就是真正意义上实现“即插即用”软件开发。


平台加插件的软件架构是将一个待开发的目标软件分为两部分,一部分为软件的主体或框架,可定义为平台,比如这里的取证大师。另一部分为功能或补充模块,可定义为插件。这个就是后面要编写的插件程序。(常见的脚本语言有Python、Lua等,取证大师支持的脚本语言是Python。)


2.2 脚本插件式开发的好处


2.2.1 不需重新下载安装软件。当添加新软件或软件版本更新时不需要重新下载安装,直接将新脚本添加到对应目录或者导入即可。

2.2.2 用户自己可编写。不仅软件研发人员可以编写脚本,客户在遇到突发的不能解决的数据解析时也可以自己编写脚本。


3、编写插件


下面我们以取证大师在Windows文件夹下所有文件分类为例来说明如何编写脚本插件。


3.1 准备数据

首先准备测试数据。在测试计算机上,准备一个测试文件夹,放置下面的测试数据,主要包括db后缀,图片,txt等。


1543581529194152.png


3.2 提取数据

由于我们的示例数据是针对文件分类的,因此上面准备好数据之后就已经完成了。如果是其他的比较复杂的软件,我们需要通过搜索,抓包,分析软件存储文件在电脑上的位置。


3.3 数据分析

我们想要获取的文件信息包括jpg、jpeg、gif、bmp、png代表的图片。


3.4 编写插件

取证大师脚本插件包括三部分:插件配置,过滤出特征文件,解析特征文件。


3.4.1 插件配置

首先,我们打开大师脚本入口,在应用解析处,点击新建按钮,这样我们得到一个最小模板的脚本插件代码。


1543581546307709.png

d4.png


打开查看示例模板,对pluginCfg进行配置,这里配置插件的名称,数据库的定义。

同时,我们把数据库表修改为我们想要的数据格式。


d5.png


3.4.2 过滤出特征文件

继续查看实现部分,initplugin,getplugin_cfg都默认。


1543581593661509.png


接下来的isanalyzefile就是我们要处理的过滤出特征文件的接口,通过上面分析,我们已经知道,图片文件的后缀是有特定的类型的,因此我们做出如下特征提取。


1543581608919010.png

3.4.3 解析特征文件

可以看到要解析特征文件的接口为start_analyze。以图片后缀不同来区分,完整代码请查看示例。


1543579785248852.png

1543581637820742.png


3.4.4 取证大师取证结果

取证大师取证结果,主要指的是取证结果展示的树型结构,在前面我们编写的脚本插件教程中已经使用到,这里介绍下取证结果树型结构。


1543581653341574.png

如上图,红色1处指向的就是脚本插件的根节点,显示名称是PluginCfg中配置的词条 ,根节点id是FmPlugin函数gettreerootnodeid取到的数据。


1543581667939392.png


上面展示的就是如何创建上级节点下面的子节点的示例,以文件分类根节点为父节点,创建了一个"图片"的子节点,也就是上面的红色2处,并且关联到数据库表"EXAMPLEFILECATEGORY_IMAGE"(在PluginCfg中配置的),因此,该节点展示的是该数据库表的存储信息。


1543581691579318.png


上图红色1处表示的就是上面创建节点要入库的数据库表的存储操作

上图红色2处表示的就是以上面创建的节点node_id为关联,取证信息的存储

上图红色3处表示的就是该节点总共存储了多少数量的,更新一下该节点的数量。


通过上面的取证树操作,最后展示的就是我们在取证大师上看到的取证信息。


3.4.5 测试脚本插件

编写完成后,应用解析文件夹下的插件自动存放到大师安装目录的FmPlugins下面,接下来重启取证大师,新建案例,执行自动取证,选择刚刚添加的自定义取证项。


1543581704676254.png

 

这样,我们就完成了脚本插件的编写。


注意事项

1、isanalyzefile,startanalyze引用的fileid,plugin_id是取证大师相关的内部数据结构,不能随意传递一个整形数据,否则会造成程序异常。


2、新导入插件,变更数据库结构等涉及数据库的操作,需要重新启动取证大师再新建案例进行重新取证才生效。


总结

与传统方式相对,脚本插件的最大优点是扩展性强,当发现无法解析的计算机软件时,一线取证人员不用软件更新到新版本,通过手动编写脚本插件,即可完成取证工作,快速提高取证效率。


本文介绍的是比较常见的文本解析,取证大师V6附带的示例中,包括其他常见的xml文件解析,sqlite数据库解析,二进制文件解析等。用户可在此示例基础上,扩展自己的需求编写脚本插件代码。取证大师V6除了版除了脚本扩展这个升级亮点外,还有更多的细节优化和新增功能,期待您的持续发掘!


d13.png


“十年磨一剑、百炼终成钢”!取证大师研发团队为回馈广大用户一直以来的支持和厚爱,凭借十年来的产品运营和技术沉淀,厚积薄发、真诚奉献,为大家呈上匠心良作,取证大师V6版本旨在带给客户更好、实用性更强的取证使用体验!感恩这十年每个陪伴取证大师一起成长的你们,未来的路,我们邀您继续同行!


如您想要了解更多关于取证大师V6版本相关信息,欢迎在美亚柏科微信平台(微信ID:meiyapico)留言或者联系美亚柏科当地销售进行咨询。