安卓修改GPS经纬度
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安卓修改GPS经纬度相关的知识,希望对你有一定的参考价值。
比如:我有一部安卓手机,有GPS,我运行一些软件(比如微信、QQ)会获取我的经纬度坐标,以显示我的位置,那么我想的是怎么来修改这个经纬度,让一些软件被欺骗!懂没?就是让一些需要获取经纬度的软件上面获取的是我已经修改过的经纬度!大概就是后台修改经纬度的意思,或者有没软件可以关闭GPS然后手动输入经纬度以欺骗软件
参考技术A尝试使用这款软件吧!
《伪装GPS Fake GPS
location》是一款能伪造你GPS定位的软件。不想让朋友知道你的位置吗?或者在切克或者点评上发表你的文章时候,不想让别人知道你在哪不。用这个软件吧。可以伪造出你的GPS位置。明明你在上海,但软件可以帮助显示你在美国。
1、在eclipse下,windows-->open perspective-->DDMS-->Emulator control-->Manual下手动设置经纬度,并按send按钮。
2、在cmd下手动添加信息。
(1)首先打开模拟器,然后运行cmd,输入telnet localhost 5554(注:5554是模拟器在本机的端口,有可能不一样哈,具体端口号,模拟器左上方有显示的),这样会出现android Console: type 'help' for a list of commandsOK的字样。如果是使用WIN7的朋友,控制台可能会提示telnet无效什么的,那是因为WIN7下默认是不出现telnet的,需要手动打开。具体为:[1]控制面板-->程序-->打开或关闭Windows功能,然后将Telnet服务器和Telnet客户端勾选上。[2]然后在管理工具-->服务中手动启动Telnet
(2)使用geo命令模拟发送GPS信号:
geo fix 经度 纬度
(3)这时就会发现在模拟器的状态栏上多了一个GPS的标志,一个小雷达的图标就出现了,再使用Location loc = LocationManager.getLastKnownLocation("gps");就能获取到该坐标的位置了。追问
是回答 ,不是叫你去百度出来粘贴!我难道不知道搜吗?
参考技术C 不少经常从事办公室文书工作的上班族肯定遇到这样的问题,当收到来自国外的PDF文件的时候,在编辑上往往存在较大的困难。有数据表明,通过选择将PDF文件转换成为Word文件内容,利用Word文件格式本身强大的编辑功能,可以更好地为广大用户编辑和修改提供方便。在针对PDF文件转换成为Word文件格式的处理上,绝大多数的用户都会优先考虑选择PDF转换成Word转换器。所谓PDF转换成Word转换器,指的是利用专业的处理工具,针对PDF文件进行内部识别和处理,从而将其中的内容完整地转换成为Word文件内容的软件。
需要指出的是,并非所有的PDF转换成Word转换器都可以实现完美转换。这其中主要的问题在于大多数的PDF转换成Word转换器本身的识别核心技术存在缺陷,无法真正深入地对PDF文件内容进行深度识别,因此很难准确地对PDF文件进行完美的转换。大多数的时候,普通的PDF转换成Word转换器最终转换出来的Word文件内容大多数存在乱码、排版混乱和超链接丢失等一系列的问题。
相对来说,迅捷pdf转换成word转换器是一款真正意义上是实现完美转换的工具。迅捷pdf转换成word转换器具备更为优秀的PDF文件内容识别核心,能够准确而完整地对PDF文件内容进行很好地识别。迅捷pdf转换成word转换器是一款功能强大、界面简洁、操作简单的PDF转Word软件,你只需把PDF文件拖拽到软件界面中,然后单击“转换”即可完成转换。
迅捷pdf转换成word转换器软件特点:
1.支持设置输出的文档中是否保留图像。
2.支持输出MS Word文档(.doc)和富文本格式(.rtf)两种格式。
3.支持自定义转换页面范围。
4.支持转换加密后的PDF文件(需要手动输入PDF文档密码)。
5.支持批量添加PDF文件。
6.转换速度快,效果良好,可较好地保留PDF文档中的图片、超链接、布局。
7.生成的Word文档可直接应用于编辑。
8.不依赖于Adobe Acrobat,Acrobat Reader 软件。
Android模拟位置信息
Android模拟位置程序,俗称GPS欺骗,只能修改采用GPS定位的软件。 手机定位方式目前有4种:基站定位,WIFI定位,GPS定位,AGPS定位
常见的修改手法:
1. 抓包欺骗法,抓包改包欺骗服务器端, 但是得专门去针对某款app,而且现在很多app数据包都加密了
2. hook java层经纬度获取函数, 这个方法以前可以用,现在不行了
3. hook native层经纬度获取函数
4. 使用允许模拟地址位置信息(不是很通用有版本限制)
为了修改微信朋友圈地理位置信息,为了好玩
试过了上面的一些方法
1. xpose hook java层gps函数试过了没有用
2. 抓包发现全部加密了(去年经纬度信息都还没有加密的)
3. hook native没有去研究
4. 允许地址位置信息模拟(实测可以用) 无需root
但是有版本限制, 5.0以后这个功能有限制
4.4.2版本的Nexus失效
红米4.1.2成功了
下文主要讲解方法4, 允许模拟地理位置信息法
一.开启允许位置信息模拟
该功能在开发者选项里面,勾选允许地理位置信息即可
二. 开始编码
1. 成员定义
private String mMockProviderName = LocationManager.GPS_PROVIDER;
private Thread thread;
private LocationManager locationManager;
private Boolean is_run = true; 2. 初始化
/**
* inilocation 初始化 位置模拟
*
*/
private void init_location() {
locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
locationManager.addTestProvider(mMockProviderName, false, true, false, false, true, true, true, 0, 5);
locationManager.setTestProviderEnabled(mMockProviderName, true);
locationManager.requestLocationUpdates(mMockProviderName, 0, 0, this);
} 3. 设置地理位置模拟
@SuppressLint("NewApi")
private void setLocation(double longitude, double latitude) {
Location location = new Location(mMockProviderName);
location.setTime(System.currentTimeMillis());
location.setLatitude(latitude);
location.setLongitude(longitude);
location.setAltitude(2.0f);
location.setAccuracy(3.0f);
location.setElapsedRealtimeNanos(SystemClock.elapsedRealtimeNanos());
locationManager.setTestProviderLocation(mMockProviderName, location);
} 4. 开启线程一直修改
// 开启线程,一直修改GPS坐标
thread = new Thread(new Runnable() {
@Override
public void run() {
while (is_run) {
try {
Thread.sleep(500);
setLocation(longitude, latitude);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
});
thread.start(); 5.检测是否开启了允许地址位置模拟
import android.provider.Settings;
if (Settings.Secure.getInt(getContentResolver(),Settings.Secure.ALLOW_MOCK_LOCATION, 0) != 0){
// 开启了地理位置模拟
} 最后在加上百度地图SDK就可以随意的获取经纬度坐标了并修改地理位置坐标了
百度地图SDK用法:
代码上传github:
最后的效果:
以上是关于安卓修改GPS经纬度的主要内容,如果未能解决你的问题,请参考以下文章