Android手机定位与地理位置解析研究

时间:2017-01-19 11:28:00作者:新闻来源:正义网

评论投稿打印转发复制链接

分享到:

  编者按:智能手机在使用过程中会随着时间的推移产生和存储大量定位数据,将这些定位数据进行提取和解析,可以为电子数据取证提供关键信息。本期,数据恢复四川省重点实验室科研人员将介绍Android手机的几种主要定位技术,以及如何对Android手机中地理位置定位信息进行提取解析。

  一、背景介绍

  随着智能手机的普及以及移动互联网技术的发展,人们越来越多的使用手机进行购物、交友、导航等活动,比如使用QQ、微信、大众点评、美团等手机应用软件,在使用这些APP的过程中,都会使用到相关手机定位技术。手机在进行定位过程中,会产生和存储时间、地理位置等信息数据,将这些数据进行解析和提取,可以为电子数据取证提供重要信息。

  二、Android手机定位技术

  手机定位是手机重要功能之一。针对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定位、中国的北斗定位等。

  三、Android手机定位数据的解析

  手机中的定位信息数据存储方式大致有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智能手机数据恢复取证系统中,取得了很好的效果。

[责任编辑:高航]
下一篇文章:西数(WD)大容量硬盘基本参数修改方法
     
    关于我们 联系我们 广告服务
    Copyright © 2021 JCRB.com Inc. All Rights Reserved. 正义网版权所有 未经授权 严禁转载
    京ICP备:05067280号 国家广电总局信息网络传播视听节目许可证:0110425号 网络文化经营许可证 京网文[2011]0064-023号 京公网安备 110107000076
    网络违法犯罪
    举报网站
    经营性网站
    备案信息
    不良信息
    举报中心
    12321网络不良与
    垃圾信息举报受理中心
    12318全国
    文化市场举报
    电信用户
    申诉受理中心