12下一页
返回列表 发新帖

全域beta_1.1.0的模拟方案

[复制链接]

29

主题

310

回帖

2165

积分

大学生

糕手

Rank: 5Rank: 5

金币
867
好评
20
信誉
100

考神MT论坛帅哥MT论坛新人

发表于 2026-4-1 05:37:37 来自手机  | 显示全部楼层 | 阅读模式  来自 贵州
本帖最后由 Ω SS!W I 于 2026-4-1 05:45 编辑

打工人中的牛马,一周10个版本,才刚上线,没想到这么快就要离开了,你永远也不会知道明天会发生什么。因为明天是早八

目前通过开发者选项模拟位置的方案已基本实现,虽然在防检测方面相比其他APP还有提升空间,但也在尽力优化,非常欢迎大家分享更好的思路,一起交流进步。

下面简单说说技术实现,其实逻辑并不复杂:

我们通过自定义 Service 服务(LocationService)来模拟位置,利用该服务定时上报位置信息。之所以选择 Service 的定时器而非普通定时器,主要是为了保活。因为系统 GPS 本身会不断获取并更新真实位置,如果模拟的位置提交不够频繁,就容易被真实位置覆盖,导致位置“跳回”。

保活的作用,正是通过持续、快速地向系统提交模拟位置,在频率上抢占优势,从而维持位置模拟的效果。简单来说,就是:你更新没关系,我比你更快就行。

稳定性:前台服务(Notification)+后台保活
所以模拟的稳定性取决于软件在后台的存活率,建议忽略电池优化。

成功率:采用双模式策略:
系统接口模式:使用 addTestProvider / setTestProviderLocation 等官方API,通常需要在开发者选项中开启“允许模拟位置”。
反射模式:通过反射直接设置Location对象的 mIsFromMockProvider 等内部标记,试图让定位结果更“真实”,以绕过某些检测。

可动态切换模式,反射失败时自动回退到系统接口。这可以显著提高模拟成功率。但是开发者选项模拟绝不是长久之计。很容易被检测不说,有效性也并不高,这是显而易见的。

既然有了服务类来提交定时位置,那么实现路线模拟也就简单了,LocationService(上报服务)与MockRouter(路线计算与上报)协同工作,这种分离式设计可以很方便的维护与拓展。在MockRouter类中通过Haversine公式计算两个坐标之间的距离,
  1. public static double calculateDistance(double lat1, double lon1, double lat2, double lon2) {
  2.     final int R = 6371; // 地球半径(公里)
  3.     double dLat = Math.toRadians(lat2 - lat1);
  4.     double dLon = Math.toRadians(lon2 - lon1);
  5.     double a = Math.sin(dLat/2) * Math.sin(dLat/2) +
  6.                Math.cos(Math.toRadians(lat1)) * Math.cos(Math.toRadians(lat2)) *
  7.                Math.sin(dLon/2) * Math.sin(dLon/2);
  8.     double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
  9.     return R * c; // 返回公里数
  10. }
复制代码

然后根据距离与时间,将两点间的坐标细分成多个坐标,然后只需要依次提交这些坐标点,就能实现路线模拟了,是不是超简单。

然后就是ROOT方案,当然现在并未实现,只是一个灰度版本1.1.0,大多数设备是无法使用的,鉴于各个厂商,各个版本的ADB SHELL都多多少少被魔改过,所以适配起来很麻烦,所以我打算暂时不考虑开发纯ROOT方案,或者有没有有更好的纯ROOT方案或者开源项目供我研究一下。考虑到LSP基于框架的模块兼容性较强,目前仅考虑基于xposed的方案。在线征集各种技术。

回复

使用道具 举报

229

主题

9655

回帖

2万

积分

博士后

Rank: 8Rank: 8

金币
2995
好评
27
信誉
92

考神MT论坛新人MT论坛活跃会员

发表于 2026-4-1 06:59:10 来自手机  | 显示全部楼层  来自 广东
微信什么时候可以用它
回复

使用道具 举报

15

主题

1634

回帖

4612

积分

大学生

Rank: 5Rank: 5

金币
1720
好评
0
信誉
100
发表于 2026-4-1 09:57:23 来自手机  | 显示全部楼层  来自 山东
大佬可以看一下这个
https://github.com/CrackerCat/Portal/tree/master
回复

使用道具 举报

29

主题

310

回帖

2165

积分

大学生

糕手

Rank: 5Rank: 5

金币
867
好评
20
信誉
100

考神MT论坛帅哥MT论坛新人

发表于 2026-4-1 10:38:54 来自手机  | 显示全部楼层  来自 贵州
哈克奥罗 发表于 2026-4-1 09:57
大佬可以看一下这个
https://github.com/CrackerCat/Portal/tree/master

行,我瞧瞧
回复

使用道具 举报

26

主题

1059

回帖

5239

积分

硕士生

Rank: 6Rank: 6

金币
434
好评
5
信誉
102
发表于 2026-4-1 11:00:21 来自手机  | 显示全部楼层  来自 广东
学习
回复

使用道具 举报

68

主题

2883

回帖

7812

积分

硕士生

龙一

Rank: 6Rank: 6

金币
5325
好评
19
信誉
171

MT论坛最佳新人MT论坛帅哥考神MT论坛活跃会员MT论坛新人

发表于 2026-4-1 11:01:49 来自手机  | 显示全部楼层  来自 广东
网暴真的太可怕了 发表于 2026-4-1 06:59
微信什么时候可以用它

微信用的地图数据大概率是腾讯地图,这个模拟定位是高德地图,两个完全不同。
回复

使用道具 举报

29

主题

310

回帖

2165

积分

大学生

糕手

Rank: 5Rank: 5

金币
867
好评
20
信誉
100

考神MT论坛帅哥MT论坛新人

发表于 2026-4-1 11:15:19 来自手机  | 显示全部楼层  来自 贵州
本帖最后由 Ω SS!W I 于 2026-4-1 11:18 编辑
龙一 发表于 2026-4-1 11:01
微信用的地图数据大概率是腾讯地图,这个模拟定位是高德地图,两个完全不同。 ...
当然不是,高德地图只是作为坐标拾取工具,拾取的坐标会转换为WGS-84国际通用坐标系,理论上来讲是通用,我这里微信模拟无论是聊天发送位置还是小程序都是生效的,因为没有足够多的样本来分析,不好排查其它设备模拟不生效的问题。
回复

使用道具 举报

68

主题

2883

回帖

7812

积分

硕士生

龙一

Rank: 6Rank: 6

金币
5325
好评
19
信誉
171

MT论坛最佳新人MT论坛帅哥考神MT论坛活跃会员MT论坛新人

发表于 2026-4-1 16:06:34 来自手机  | 显示全部楼层  来自 广东
Ω SS!W I 发表于 2026-4-1 11:15
当然不是,高德地图只是作为坐标拾取工具,拾取的坐标会转换为WGS-84国际通用坐标系,理论上来讲是通用, ...

只能模拟高德地图位置,微信不行,试过了
回复

使用道具 举报

29

主题

310

回帖

2165

积分

大学生

糕手

Rank: 5Rank: 5

金币
867
好评
20
信誉
100

考神MT论坛帅哥MT论坛新人

发表于 2026-4-1 16:19:42 来自手机  | 显示全部楼层  来自 贵州
龙一 发表于 2026-4-1 16:06
只能模拟高德地图位置,微信不行,试过了

目前在搞xposed模块,搞完之后再修复这个模式
回复

使用道具 举报

2

主题

95

回帖

963

积分

高中生

Rank: 4

金币
426
好评
0
信誉
100
发表于 2026-4-2 11:33:52 来自手机  | 显示全部楼层  来自 河南
你可以用一个单独的模块,与全域挂钩,实现root模式的效果
回复

使用道具 举报

30

主题

493

回帖

2350

积分

大学生

Rank: 5Rank: 5

金币
1211
好评
5
信誉
115

考神MT论坛帅哥MT论坛新人MT论坛最佳新人

发表于 2026-4-2 11:36:19 来自手机  | 显示全部楼层  来自 江苏
还得是我们小黑子
回复

使用道具 举报

0

主题

4

回帖

17

积分

幼儿园

Rank: 1

金币
5
好评
0
信誉
100
发表于 2026-4-2 14:01:48 来自手机  | 显示全部楼层  来自 江苏
怎么root啊
回复

使用道具 举报

373

主题

5320

回帖

1万

积分

博士生

Rank: 7Rank: 7Rank: 7

金币
715
好评
25
信誉
102

MT论坛最佳新人考神

发表于 2026-4-2 14:08:58 来自手机  | 显示全部楼层  来自 贵州
PortalDev是最牛的,我之前发过一个帖子,你可以拆包看看

https://bbs.binmt.cc/thread-162547-1-1.html
回复

使用道具 举报

0

主题

2307

回帖

6703

积分

硕士生

Rank: 6Rank: 6

金币
6734
好评
0
信誉
101

考神

发表于 2026-4-2 18:55:12 | 显示全部楼层  来自 广西
好用,感谢大佬。
回复

使用道具 举报

29

主题

310

回帖

2165

积分

大学生

糕手

Rank: 5Rank: 5

金币
867
好评
20
信誉
100

考神MT论坛帅哥MT论坛新人

发表于 2026-4-3 09:32:37 来自手机  | 显示全部楼层  来自 贵州
likeLF 发表于 2026-4-2 11:36
还得是我们小黑子

这么多年了,还是不肯放过他吗
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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