效率源数据恢复论坛

 找回密码
 免费注册

QQ登录

用新浪微博登录

快捷导航
查看: 1200|回复: 0
打印 上一主题 下一主题

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

[复制链接]

646

主题

809

帖子

3585

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3585
跳转到指定楼层
楼主
发表于 2017-1-12 17:35:56 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
【文章来源:效率源科技(微信号)】微信号:xiaolvyuantech

     编者按:智能手机在使用过程中会随着时间的推移产生和存储大量定位数据,将这些定位数据进行提取和解析,可以为电子数据取证提供关键信息。本期,数据恢复四川省重点实验室科研人员将介绍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智能手机数据恢复取证系统中,取得了很好的效果。





分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

站长推荐上一条 /3 下一条

Copyright(C)2015-2016 四川效率源信息安全技术股份有限公司 版权所有|蜀ICP备09015844号|效率源数据恢复论坛  

GMT+8, 2024-9-17 03:44 , Processed in 0.182916 second(s), 30 queries .

Powered by Discuz! X3.2

© 2001-2014 技术支持: Weixiaoduo.com

快速回复 返回顶部 返回列表