公开/公告号CN107016086A
专利类型发明专利
公开/公告日2017-08-04
原文格式PDF
申请/专利权人 四川艾特赢泰智能科技有限责任公司;
申请/专利号CN201710212233.1
申请日2017-04-01
分类号G06F17/30(20060101);
代理机构
代理人
地址 641000 四川省成都市高新区天府大道北段1700号3栋1单元7层704
入库时间 2023-06-19 02:56:43
法律状态公告日
法律状态信息
法律状态
2020-07-07
授权
授权
2017-08-29
实质审查的生效 IPC(主分类):G06F17/30 申请日:20170401
实质审查的生效
2017-08-04
公开
公开
技术领域
本发明涉及信息安全技术领域,特别涉及一种提取安卓系统GooglePlay中行为及位置数据的方法。
背景技术
智能手机具有独立操作系统、独立运行空间。手机数据信息中涉及犯罪嫌疑人的通讯及行动记录,可以作为电子物证的一种;
在电子取证当中,对移动设备中的位置数据提取显得尤为重要,但以往位置数据的提取仅仅只对手机中各应用的配置文件(xml格式文件)进行分析,相对其他文件格式来说容易得出位置数据。以下总结常规的提取移动设备中位置数据不足:
1、应用中xml文件再更新升级时容易产生变化,常规提取的位置数据在版本不同的情况下可能无法提取到。
2、存在位置数据的文件中与之相关联的行为数据未提取出来。
3、位置数据的定位类型未判断分析。
发明内容
本发明针对现有技术的缺陷,提供了一种提取安卓GooglePlay中行为及位置数据的方法,能有效的解决上述现有技术存在的问题。
一种提取安卓GooglePlay中行为及位置数据的方法,包括以下步骤:
S1:拷贝应用文件中的herrevad数据库;
S2:新建GooglePlay应用的提取解析模型;
S3:打开及读取herrevad数据库;
S4:提取lru_table数据表的基站数据;
S5:提取local_reports数据表的wifi及基站数据;
S6:获取应用使用基站及WIFI网络的行为数据;
S7:调用基站及WIFI位置解析接口获取定位数据。
作为优选,所述S1的详细步骤如下:
S11:创建GooglePlay的“ApkName_Model”类型,包括:解析算法类型、apk包名,应用包所在父目录,apk应用标识,拷贝的文件路径;
S12:设置正则匹配的类型,规则为:0-拷贝单个文件;1-指定文件夹;2-拷贝正则匹配文件;
S13:扫描Android手机中的data分区,判断data/data/com.google.android.gms文件夹是否存在,如果不存在则结束,如果存在则进行herrevad文件的检索及权限判定,执行S14;
S14:当herrevad没有修改权限时,调用命令发送chmod777com.google.android.gmsdatabasesherrevad文件,修改成功后直接拷贝该文件到本地指定目录;
S15:通过制定计算该文件在Android设备上的MD5值并保存在程序运行缓存中,用于后续步骤的解析校验。
作为优选,所述S2的详细步骤如下:
S21:创建C#上层解析主入口;
S211:创建IAppParser解析接口,含有AnalysisData与Dispose两个接口函数;
S212:创建ApkType枚举类型,增加GooglePlayService类型;
S213:上层解析函数App_ParserData中对传入的ApkType做判断,如果为GooglePlayService,则创建一个IAppParser,命名为iApp;
S22:IGooglePlay解析算法类的设计;
S221:创建IGooglePlay类,继承自IAppParser接口,该类型实现了AnalysisData与Dispose两个功能函数;
S222:在AnalysisData功能函数中获取S11中正则匹配得到的文件名:本地路径com.google.android.gmsdatabasesherrevad,传入该db数据库路径并调用定位解析算法;
S223:将IGooglePlay类新建一个对象赋值给S213中的iApp,使用IAppParser中的AnalysisData即可调用解析数据库。
作为优选,S3的详细步骤如下:
S31:通过S222步骤中herrevad路径计算本地db数据库的MD5值,与S123步骤中获取到的Android手机上该文件的MD5值对比看是否一致,若一致执行S32,如果不一致则结束;
S32:通过System.Data.SqliteContext中的FindDataTableByName操作将本地的herrevad指定表映射到程序的DataTable中。
作为优选,S4的具体步骤如下:
S41:在S321中传入"lru_table"表名将该数据表映射到内存到DataTable中,命名为LRU,遍历LRU表,读取每行中的第1个字段,使用字符串分割算法分割“:”字符获取到含有5个字符串的数组;
S42:分解基站字符串的数组;
S421:第1位字符串“gsm”则代表基站类型(“gsm”代表2G基站,“wcdma”则代表3G基站,“lte”则代表4G基站);
S422:第2位字符串460对应的是Mcc标识即国家代码(460为中国);
S423:第3位字符串1对应Mnc标识即网络类型(移动的代码是1,联通的代码是0);
S424:第4位字符串33041对应Lac标识即基站的位置区域码;
S425:第5位字符串57053对应Cid标识即基站编号;
S426:在S41步骤的基础上提取遍历LRU表中,读取每行中的第4个字段。
S5的详细步骤如下:
S51:获取WIFI及基站字符串;
S511:在S321中传入"local_reports"表将数据表映射到内存DataTable,命名为reports;
S512:读取每行中的第6个字段,如果该字符串不为Null,则读取数据,如果每行中的第6个字段为Null,则读取第7个字段中的数据;
S52:获取时间;
S521:读取每行中的第9个字段,获取时间字符串;
S522:获取使用定位及网络的应用名;
S523:读取每行中的第7个字段,获取时间字符串。
作为优选,S6的详细步骤如下:
S61:WIFI使用情况的行为数据分析;
S611:去除连续访问的mac地址数据;
S612:构建一个行为信息,该行为信息包含:类型,时间,应用。
S62:基站使用情况的行为数据;在图3中可以看出cellid中的内容不为Null,则标识该条连网记录是通过基站实现的,参照S612:步骤构建一个行为数据,类型为基站;
S7的详细步骤如下:
S71:基站数据解析,通过S42和S513获取到的基站原始数据调用Api接口“http://api.cellocation.com/cell/?mcc={0}&mnc={1}&lac={3}&ci={2}&coord=gcj02&output=json”对应传入Mcc,Mnc,Lac,Cid获取出基站的经纬度信息;
S72:WIFI数据解析,通过S512获取到的WIFI路由器Mac地址调用Api接口“http://api.cellocation.com/wifi/?mac={0}&output=json&coord=gcj02”,返回的即为路由器所在位置的经纬度数据;
S73:通过经纬度数据在地图上展示,由S71和S72获取的位置数据传入地图控件中,即可获取从GooglePlay中提取到的位置数据。
与现有技术相比本发明的优点在于:
1、分析应用中db数据库的数据,数据类型稳定使提取该应用中的位置数据更准确;
2、数据文件中的多数据表关联提取分析,完整还原该设备的连网使用情况及位置数据;
3、可以对GooglePlay应用使用的基站类型精确分析及提取;
4、通过获取的WIFI路由器MAC,得到更多定位数据,在基站定位,GPS定位的基础上更加丰富位置数据的取证方式。
附图说明
图1位本发明实施例lru_table原始数据表;
图2为本发明实施例WIFI上网模式local_reports原始数据表;
图3为本发明实施例基站上网模式local_reports原始数据表;
图4为本发明实施例的基站行为数据使用情况表;
图5为本发明实施例获得的位置数据地图。
具体实施方式
为使本发明的目的:技术方案及优点更加清楚明白,以下举实施例,对本发明做进一步详细说明。
一种提取安卓GooglePlay中行为及位置数据的方法,包括以下步骤:
S1:拷贝应用文件中的herrevad数据库;
S2:新建GooglePlay应用的提取解析模型;
S3:打开及读取herrevad数据库;
S4:提取lru_table数据表的基站数据;
S5:提取local_reports数据表的wifi及基站数据;
S6:获取应用使用基站及WIFI网络的行为数据;
S7:调用基站及WIFI位置解析接口获取定位数据。
所述S1的详细步骤如下:
S11:创建GooglePlay的“ApkName_Model”类型,包括:解析算法类型、apk包名,应用包所在父目录,apk应用标识,拷贝的文件路径;
S12:设置正则匹配的类型,规则为:0-拷贝单个文件;1-指定文件夹;2-拷贝正则匹配文件,本例应用数据中的herrevad指定路径,则正则匹配规则类型为0;
S13:扫描Android手机中的data分区,判断data/data/com.google.android.gms文件夹是否存在,如果不存在则不进行文件拷贝,如果存在则进行herrevad文件的检索及权限判定;(如果该文件夹存在则代表此安卓手机当中有GooglePlay这个应用和使用痕迹,而herrevad文件则是存在于此文件夹下的。如果该文件夹不存在,则代表此Android手机中无GooglePlay的使用痕迹,不用进行下一步herrevad文件的权限修改和拷贝)
S14:当herrevad没有修改权限时,调用命令发送chmod777com.google.android.gmsdatabasesherrevad文件,修改成功后直接拷贝该文件到本地指定目录;
S15:通过制定计算该文件在Android设备上的MD5值并保存在程序运行缓存中,用于后续步骤的解析校验。
所述S2的详细步骤如下:
S21:创建C#上层解析主入口;
S211:创建IAppParser解析接口,含有AnalysisData与Dispose两个接口函数;
S212:创建ApkType枚举类型,增加GooglePlayService类型;
S213:上层解析函数App_ParserData中对传入的ApkType做判断,如果为GooglePlayService,则创建一个IAppParser,命名为iApp。
S22:IGooglePlay解析算法类的设计;
S221:创建IGooglePlay类,继承自IAppParser接口,该类型实现了AnalysisData与Dispose两个功能函数;
S222:在AnalysisData功能函数中获取S11中正则匹配得到的文件名:本地路径com.google.android.gmsdatabasesherrevad,传入该db数据库路径并调用定位解析算法;
S223:将IGooglePlay类新建一个对象赋值给S213中的iApp,使用IAppParser中的AnalysisData即可调用解析数据库。
S3的详细步骤如下:
DataTable是一个临时保存数据的网格虚拟表(表示内存中数据的一个表),同时也是ADO dot net库中的核心对象,它可以被应用在VB和ASP上,它无须代码就可以简单的绑定数据库。
S31:本地数据库的MD5值校验,通过S222步骤中herrevad路径计算本地db数据库的MD5值,与S123步骤中获取到的Android手机上该文件的MD5值是否一致,或一致执行S32,如果不一致则结束。
S32:映射数据库文件;校验了MD5值过后,通过System.Data.SqliteContext中的FindDataTableByName操作将本地的herrevad指定表映射到程序的DataTable中。
S4的具体步骤如下:
S41:获取基站字符串,在S321中传入"lru_table"表名将该数据表映射到内存到中的DataTable中,命名为LRU,遍历LRU表中,读取每行中的第1个字段,数据如:gsm:460:1:33041:57053的字符串,使用字符串分割算法分割“:”字符获取到含有5个字符串的数组;
S42:分解基站字符串的数组;
S421:第1位字符串“gsm”则代表基站类型(“gsm”代表2G基站,“wcdma”则代表3G基站,“lte”则代表4G基站);
S422:第2位字符串460对应的是Mcc标识即国家代码(460为中国);
S423:第3位字符串1对应Mnc标识即网络类型(移动的代码是1,联通的代码是0);
S424:第4位字符串33041对应Lac标识即基站的位置区域码;
S425:第5位字符串57053对应Cid标识即基站编号;
S426:在S41步骤的基础上提取遍历LRU表中,读取每行中的第4个字段,数据如:1481011390832的字符串,该字符串为Unix时间戳格式,及gsm:460:1:33041:57053该基站的定位时间为2016/12/6 16:03:10。
至此提取到了基站的原始基本信息,通过后续调用基站解析接口即可获取该基站的具体经纬度地址。
lru_table原始数据表如图1所示。
S5的详细步骤如下:
S51:获取WIFI及基站字符串;
S511:在S321中传入"local_reports"表名将该数据表映射到内存DataTable中,命名为reports;
S512:读取每行中的第6个字段,如果该字符串不为Null,则读取数据,(第6个字段代表:无线路由Mac地址。如果是WIFI上网模式,则第6字段有值,如果是基站上网,则第6字段为Null即空值)如24:05:0f:3d:8f:4c,该数据则为手机使用的WIFI路由器的Mac地址;
如果每行中的第6个字段为Null,则读取第7个字段,数据如Ig8KAzQ1NxIBMRjxDCColw8oD0IWCgM0NTcSAjAxGgtMYW8gVGVsZWNvbVAFWhEKAzQ1NxICMDEaBkxhb3RlbGIUEhIKAzQ1NxICMDEY8QwgqJcPK AFqCjQ1NzAxMDExNzg,该数据为Base64加密而成,通过解密算法获取到基站数据为4570101178,通过基站格式分解得到Mcc=457,Mnc=01,Lac=01,Cid=178。
S52:获取时间;
S521:读取每行中的第9个字段,获取时间字符串(参照S426步骤,时间数据结构一样);
S522:获取使用定位及网络的应用名;
S523:读取每行中的第7个字段,获取时间字符串(参照S426步骤);
local_reports原始数据表如图2所示。
S6的详细步骤如下:
S61:WIFI使用情况的行为数据分析
S611:在图2中可以看出同一个bsid出现了多次,在解析位置数据时将去除连续访问的mac地址数据,但在构造行为信息时这些数据将展示手机的详细使用情况。从图2中我们可以得出在切图显示的时间区间内,用户使用了两个应用:Google地图和YouTube,而这段时间只连接了一个WIFI路由器,表示在这段时间范围内用户并未大距离的移动位置。
S612:构建一个行为信息,该行为信息包含:类型(WIFI),时间,应用。
S62:基站使用情况的行为数据;在图3中可以看出cellid中的内容不为Null,则标识该条连网记录是通过基站实现的,参照S612:步骤构建一个行为数据,类型为基站,如图4所示;
S7的详细步骤如下:
S71:基站数据解析,通过S42和S513获取到的基站原始数据调用Api接口http://api.cellocation.com/cell/?mcc={0}&mnc={1}&lac={3}&ci={2}&coord=gcj02&output=json对应传入Mcc,Mnc,Lac,Cid即可获取出基站的经纬度信息;
S72:WIFI数据解析,通过S512获取到的WIFI路由器Mac地址调用Api接口“http://api.cellocation.com/wifi/?mac={0}&output=json&coord=gcj02”,返回的即为路由器所在位置的经纬度数据;
S73:通过经纬度数据在地图上展示,由S71和S72获取的位置数据传入地图控件中,即可获取从GooglePlay中提取到的位置数据,地图如图5所示。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的实施方法,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。
机译: 用于注射多个鸟卵,定位针尖以将物质注射到内部或从多个鸟卵中的每个鸟卵内的特定位置提取样品的方法,以及用于将物质注射到多个鸟卵中的器具禽蛋,并放置针尖以将一种物质注入内部或将生物材料从多只鸟的特定位置中带走一种物质
机译: 编码数字数据音频数据,一种用于计算机的标记方法,包括将信息包含在一个位置的未编码数字数据中,使用编码算法对修改后的数据进行编码,以及将位置存储在修改后的编码数据中
机译: 通过从日志数据中提取行为信息数据来分析用户行为的用户行为分析系统及其方法