安卓端http劫持实现破解fakelocation

查看 157|回复 15
作者:Leland   
在我的上一篇帖子中使用本地代理的方式劫持了fake location的网络验证请求,并给出了示例代码。但是还是有一些服务器操作不太熟悉的同学表示不太能复现。
于是我就始终在思考怎么优雅地帮助这些同学使用上这个服务。
首先我在刷了openwrt的路由器上面修改了hosts并搭建了伪造服务器。这种方式一是大部分同学可能没有刷了openwrt的路由,其次在没有连接wifi的时候就无法破解了,所以最终还是把目光放到了安卓端。
恰巧看到virtual hosts在github上是开源的,virtual hosts通过在本地建立vpn连接的方式获取了所有的流量,最终将这些流量按照预定的规则转发。如果在本地启动一个伪造服务器并把fake location的验证流量全部转发到本地就可以实现破解。
一开始本来打算直接在安卓端运行我写的flask服务,但是没有找到比较方便的轮子。所以最后用了NanoHTTPD这个开源库在本地跑了一个伪造服务器。

NanoHTTPD是一个免费、轻量级的(只有一个Java文件) HTTP服务器,可以很好地嵌入到Java程序中。  

简单地对virtual hosts进行一些二次修改后就完成了对本地流量劫持转发和处理的功能。
最后做出了一个app,只需要先在fake location中登录后再开启这个app即可解锁专业版功能(可能需要重新进入fake location)。
第一次写安卓程序,以前连java都不会写,可能写得不太好
app链接
源码
打包后只有1.1M大小,界面只有一个按钮,非常的简洁
程序运行截图:


Screenshot_2021-09-04-22-41-03-882_com.fakehost.f.jpg (72.14 KB, 下载次数: 0)
下载附件
程序运行截图
2021-9-4 22:43 上传

解锁专业版成功:


Screenshot_2021-09-04-22-41-19-590_com.lerist.fak.jpg (129.83 KB, 下载次数: 0)
下载附件
解锁专业版成功
2021-9-4 22:43 上传

可以正常使用反检测等专业版功能:


Screenshot_2021-09-04-22-41-26-554_com.lerist.fak.jpg (153 KB, 下载次数: 0)
下载附件
可以正常使用反检测等专业版功能
2021-9-4 22:43 上传

专业版, 下载次数

tomatohuan   


tomatohuan 发表于 2021-9-18 16:32
大佬,实测基站模拟还是没办法打开,如下图,能否帮忙看看?(其实我只需要这一个功能)

楼主看到这条回复的话可以帮忙补充在你原帖,我知道基站模拟要怎么打开了。
1.首先你人必须要到你需要模拟的地址,然后添加地址,选择采集地址,这样的话他就会自动分析你所在位置的基站信息。
2.添加上面采集地点之后,这个地点就可以打开基站模拟了。
实测已经成功,再次感谢楼主提供的软件。
Morty.   

正常可以使用,在虚拟机里面就停止运行了
lmw258   

感谢大佬分享
npfjcg   

楼主太强了,这已经可以做Xposed和Magisk模块了
闷骚小贱男   

之前因为是试用期只hook getProindate能用专业版功能,今天试了一下,再加上hook  getKey函数为DES加密结果即可
但是 楼主的这个小工具,如果加以小小的改编,能实现很多功能。
Leland
OP
  


jianyugege 发表于 2021-11-19 11:36
还有啥方法可以破解他吗

统一说下,现在fake location采用了双向证书效验,客户端的证书好办tansparent.png还是啥来着是证书,密码是lerist.key.2021,但是验证服务端就得靠hook了,单纯的重定向不管用,这是由https保证的安全性,所以fake host应该不会再跟进了。
sgh2zlx   

成品无法下载,打不开,换个其他链接吧
mingzial   

亲测 有效
Leland
OP
  


sgh2zlx 发表于 2021-9-5 14:21
成品无法下载,打不开,换个其他链接吧

我这边测试可以下载呢?是蓝奏盘
您需要登录后才可以回帖 登录 | 立即注册

返回顶部