【技术视界】第32期:Android手机定位与地理位置解析研究
编者按
智能手机在使用过程中会随着时间的推移产生和存储大量定位数据,将这些定位数据进行提取和解析,可以为电子数据取证提供关键信息。本期,数据恢复四川省重点实验室科研人员将介绍Android手机的几种主要定位技术,以及如何对Android手机中地理位置定位信息进行提取解析。
随着智能手机的普及以及移动互联网技术的发展,人们越来越多的使用手机进行购物、交友、导航等活动,比如使用QQ、微信、大众点评、美团等手机应用软件,在使用这些APP的过程中,都会使用到相关手机定位技术。手机在进行定位过程中,会产生和存储时间、地理位置等信息数据,将这些数据进行解析和提取,可以为电子数据取证提供重要信息。
手机定位是手机重要功能之一。针对Android手机而言,主要通过以下几种定位方式进行定位:
1. GPS定位
GPS定位原理是通过手机里集成的GPS模块接收轨道上运行的地球同步卫星的信号,根据信号计算出你当前的位置。
优点:它只需要手机集成GPS模块,不需要SIM卡,不需要连接互联网(如WiFi),只要在户外基本上就可以定位。覆盖范围广。
缺点:定位时间长,首次打开需要几分钟的时间搜索卫星。定位精度误差在10米左右,定位精度受云层等天气因素影响。不能在室内定位。
【图1:GPS定位】
2.基站定位
原理是用SIM卡运营商(如移动或者联通)的基站准确位置,利用手机搜索到的最近的三座基站的信号强度,估计出手机用户到每座基站的远近,从中计算出当前位置。
优点:室内室外都能解析,定位速度较快;
缺点:需要注册的SIM卡,必须要有至少三个基站信号,由于信号容易受干扰,定位精度不高,精度在150米左右,需要基础的基站位置数据包。
【图2:基站定位】
3.WIFI定位
由谷歌创造的一种定位方法,准确说法应该是WIFI依赖定位。目的是解决室内精确定位.一般WIFI热点的位置是固定的,利用最近的三个基站信号,通过信号强度计算出手机用户当前位置,类似于基站定位。不同的是WIFI位置信息需要一定的方法收集,比如谷歌等通过连上某WIFI的手机获取热点的MAC地址,然后用手机上的GPS模块对当前位置定位,最后将收集到的数据上传到谷歌服务器,以建立WIFI定位数据库。
优点:WIFI多的地方通过用户上传的数据不断矫正WIFI热点位置使得定位精度高,定位速度很快。
缺点:需要连上WIFI,必须至少3个WIFI资源。
【图3:WIFI定位】
4.其它定位技术
除了以上几种定位方式外,手机定位还包括集合GPS定位和基站定位优势的AGPS定位,以及GPS-one定位、俄罗斯的Glonass定位、中国的北斗定位等。
手机中的定位信息数据存储方式大致有xml文件存储、Sqlite数据库文件存储、图片文件存储,下面分别对这三种存储方式的数据进行解析。
1.通过手机系统中xml文件解析定位出的经纬度等信息。
通过电脑上的手机助手软件(如91助手等)找到某些应用的XML数据(根据不同的手机可能会有不同)。以号码百事通为例,在shared_prefs目录下能找到它的xml数据文件,如图4。
【图4:百事通中找到的xml数据文件】
找到xml数据文件后,利用文本编辑器或者Xml编辑器打开xml文件,如果该节点的name属性名包含地理位置的关键字,取该节点值就是地理位置信息,如图5。
【图5:利用Xml编辑器打开的xml文件】
其中:
① name属性名包含关键字LONGITUDE,该节点值为经度,如图5中的BESTTONE_LOCATION_LONGITUDE包含关键字LONGITUDE,那么该节点的值104.064624就是经度;
② name属性名包含关键字LATITUDE,该节点值为纬度,如图5中的BESTTONE_LOCATION_LATITUDE包含关键字LATITUDE,那么该节点的值30.570307就是纬度;
③ name属性名包含关键字TIME,该节点的值为记录时间,如图5中的enterTime包含关键字TIME,那么该节点的值2016-11-14 06:30:06就是定位的时间;
④ name属性名包含关键字CITY_NAME,该节点的值为定位当前所处的城市,如图5中的BESTTONE_LCOATION_CITY_NAME包含关键字CITY_NAME,那么该节点的值成都为定位城市。
备注:以上所涉及的地理位置定位信息的关键字,需要通过更多的应用不断总结。
已知常见地理位置关键字包括:
经度关键字: last_know_lng;longitude;pref_key_logitude;location_lng;search_lbs_logitude等
纬度关键字:last_know_lat;latitude;pref_key_latitude;location_lat;search_lbs_latitude等。
2.通过手机系统中Sqlite数据库文件解析出经纬度等信息。
通过电脑上的手机助手软件(如91助手等)找到某些应用的Sqlite数据库数据(根据不同的手机可能会有不同)。其中地理位置的数据库文件名可能包含的是locations,也有些是在应用设置数据库里包含地理位置信息,数据库名不是固定的。
以墨迹天气的地理位置数据库为例,在其中能找到一个locations.db的数据库,如图6。
【图6:墨迹天气数据库】
找到locations.db数据库然以后,用Sqlite查看工具打开数据库,打开相关表。如图7。
【图7:用Sqlite工具打开数据库】
其中,地理位置信息的表名也不是固定的。
① 列名包含关键字longitude,该列为经度,如图7中经度为104.0646;
② 列名包含关键字latitude,该列为纬度,如图7中纬度为30.570251;
③ 列名包含关键字address,该列为具体定位地址信息,如图7中位置为四川省成都市武侯区锦悦西路靠近华越楼越南美食;
④ 列名包含关键字aoiname,该列为附近地址,可以作为备注信息,如图7中备注信息为成都环球中心天堂洲际大饭店。
这些关键字也是需要在各种应用中不断积累,可以参考XML解析方法的关键字。
有些手机应用软件的数据库地理位置信息存放位置不是规则的,如图8中的易信数据库。
【图8:易信数据库】
易信的地理位置信息是以Json的数据格式存放在数据库中,但解析方法也可以使用以上提到的关键字去提取。
3.通过手机拍摄的图片解析其中的exif信息提取出经纬度等信息。
通过电脑上的手机助手软件(如91助手等)提取手机中的图片到电脑,打开图片属性,在GPS栏里,就是纬度,经度,高度,创建时间等地理位置信息,如图9。
【图9:打开图片属性查看定位信息】
随着智能手机定位的广泛应用,对手机地理位置信息进行提取和解析,能有效追踪目标活动范围和了解目标动向等。本期,数据恢复四川省重点实验室科研人员介绍了如何利用Android手机中的xml文件、Sqlite数据库文件以及图片中的exif信息解析定位经纬度信息。目前,此方法已成功应用于效率源SPF9139智能手机数据恢复取证系统中,取得了很好的效果。
【技术视界】系列推荐:
1、【技术视界】第1期:手机取证-手机音频文件恢复提取技术研究
2、【技术视界】第2期:精确读取 提高缺陷硬盘数据恢复成功率
3、【技术视界】第3期: 如何利用S.M.A.R.T.技术对硬盘进行健康体检?
4、【技术视界】第4期: 电子取证-WD硬盘固件损坏的文件恢复提取技术研究
5、【技术视界】第5期:电子取证——智能手机定位痕迹如何快速提取?
6、【技术视界】第6期:电子取证——日立硬盘BIOS加密无法访问的快速解密方法技术研究
7、【技术视界】第7期:手机取证-SQLite数据库文件恢复提取技术研究
9、【技术视界】第9期:视频侦查——不转码直接检索监控视频的方法探讨
10、【技术视界】第10期:电子取证— RAID 5、RAID 6崩溃的数据恢复取证提取技术研究
11、【技术视界】第11期:教你怎么编写智能手机APP的取证脚本
12、【技术视界】第12期:电子取证反向思维 防御手机APP偷窃破案机密的2个高招
13、【技术视界】第13期:希捷硬盘修复P表实现数据恢复的电子取证方法研究
14、【技术视界】第14期:手机取证——关于iPhone手机数据提取方式的探讨
15、【技术视界】第15期:智能手机APP取证脚本编写续—iPhone数据提取与解析
16、【技术视界】第16期:视侦检索技术(一)——视频解码研究
17、【技术视界】第17期:电子取证— 360浏览器历史记录数据恢复提取方法
18、【技术视界】第18期:手机取证— 手机解锁不清除数据研究
20、【技术视界】第20期:手机取证——安卓Radio日志基站数据提取
21、【技术视界】第21期:IOS/Android设备GPS定位点和基站原始数据解析
22、【技术视界】第22期:通过清除非常驻缺陷表解决希捷硬盘前好后坏故障的研究
24、【技术视界】第24期:一种基于Oracle数据库的数据恢复方法
26、【技术视界】第26期:手机如何在有屏幕锁情况下设置飞行模式
27、【技术视界】第27期:一种有效提取伪基站中短信内容的技术方案
29、【技术视界】第29期:一种利用密码强度判定WiFi安全等级的方法
30、【技术视界】第30期:重大技术突破:有屏锁高通芯片手机(小米、中兴、OPPO、VIVO等)支持不开机、不调试获取全盘镜像