HuangZhuoRui/LocationSpoofer

▲ 60 stars today★ 1,199⑂ 226

虚拟定位软件,主要是定位,集成了 WiFi、蓝牙、基站等方案,主要有定点模拟和路线模拟。非全局方案,需要单独 hook 对应的软件(因为不想单独去适配各大手机厂商的系统),

About HuangZhuoRui/LocationSpoofer

HuangZhuoRui/LocationSpoofer is an open-source project on GitHub, mainly written in Kotlin. 虚拟定位软件,主要是定位,集成了 WiFi、蓝牙、基站等方案,主要有定点模拟和路线模拟。非全局方案,需要单独 hook 对应的软件(因为不想单独去适配各大手机厂商的系统), It currently holds 1,199 stars and 226 forks with 16 open issues, and was last pushed on 2026-09-12 (repository created 2026-04-24).

Project Overview

Git Homed tracks it on the Today's Trending board, currently at rank #60 with 60 new stars today.

GitHub Repository Details

Repository HuangZhuoRui/LocationSpoofer · default branch main · size 52932 KB · watchers 5 · source: GitHub REST API and repository README

README

LocationSpoofer

基于 KernelSU + LSPosed 的 Android 系统级虚拟定位与无线环境伪装框架

Android system-level location spoofing and wireless environment simulation framework based on KernelSU + LSPosed

License: GPL-3.0 Android Kotlin Compose KernelSU LSPosed Telegram

简体中文 | English

---

📢 加入我们的 Telegram 交流群 进行~~技术探讨、催更、~~吹牛逼、搞抽象。
> 📖 查看 LocationSpoofer 详细使用教程

---

项目简介

在现代 Android 系统的风控与反作弊环境中,传统的“模拟位置(Mock Location)”开发者选项已被商业 SDK(如高德风控、腾讯安全、百度定位、网易易盾、各类考勤及打卡风控系统)列为高风险特征。这类检测机制不仅验证 isFromMockProvider / isMock 标志位,还会主动采集并交叉比对设备所处的周围物理环境:

LocationSpoofer 是专为应对深度风控检测而设计的系统级虚拟定位与无线环境模拟方案。 项目基于 KernelSU / APatch / Magisk 获取底层 Root 权限,并利用 LSPosed (libxposed API 101+) 框架在 Zygote 阶段注入目标应用进程,以高物理契合度拦截并伪造所有与位置、卫星、基站、Wi-Fi、蓝牙、传感器相关的底层 API 响应,确保应用获取自洽且真实的虚假环境指纹。

---

功能特性

┌─────────────────────────────────────────────────────────────────────────┐
│                             LocationSpoofer                             │
│                    系统级虚拟定位与无线环境模拟                         │
└─────────────────────────────────────────────────────────────────────────┘
        │                            │                            │
        ▼                            ▼                            ▼
  【空间定位与物理仿真】       【无线电与传感器模拟】         【反检测套件】
  • 三地图引擎自由切换         • Wi-Fi 扫描与连接态伪装       • Xposed 堆栈调用帧清洗
  • WGS-84/GCJ-02/BD-09 自适应 • 2G-5G NR 蜂窝基站小区模拟   • ClassLoader 探测隔离
  • Ornstein-Uhlenbeck 抖动    • BLE 蓝牙信标扫描过滤         • isFromMockProvider 抹除
  • 步态横向摇摆与高斯噪声     • WiGLE / OpenCellID 云端导入  • AppOps OP_MOCK_LOCATION 隐藏
  • 真实路网拟合与红绿灯停候   • 空间反距离加权 (IDW) 插值    • Settings.Secure 开关覆写
  • 悬浮窗遥控阻尼摇杆         • 步频与计步传感器联动         • MultiDex 动态 Class 拦截

1. 多地图引擎与坐标系适配

2. GPS 物理抖动与步态模拟

真实 GPS 芯片输出的坐标因电离层延迟、多径效应及接收机热噪声,天然具有高斯分布的白噪声特征。 $$\mathrm{d}X_t = -\alpha X_t \mathrm{d}t + \sigma \mathrm{d}W_t$$

其中 $\sigma$ 为漂移强度,$\alpha$ 为均值回归系数(设定为 0.05,即每秒将当前漂移拉回 5%)。它产生符合物理规律的低频缓慢漂移,并在 3-Sigma 原则下严格有界(硬性限制在 4 米内),防止漂移发散引发异常。

$$\Delta L_{\text{lateral}} = 0.15 \cdot \mathcal{N}(0, 1) \quad (\text{米})$$

模拟人类真实行走时身体左右晃动的步态特征。

3. 反检测与 MultiDex 支持

4. Wi-Fi、基站与蓝牙环境模拟

$$w_i = \frac{1}{d_i^2}$$

对 Wi-Fi RSSI 信号强度与蜂窝小区 dbm 信号进行平滑插值,保证移动过程中信号连续渐变。

5. 卫星矩阵与 NMEA 模拟

6. 传感器与步频模拟

7. 路线规划与红绿灯模拟

8. 用户界面

---

系统架构

本项目采用 MVVM + Clean Architecture,并按职责拆分为 6 个 Gradle 模块:

| 模块 | 类型 | 职责 | |---|---|---| | app | Android App | 宿主壳工程:Application / MainActivity、签名与打包配置、聚合各模块的 Koin DI;仅把 xposed 模块的产物(LocationHooker 类与 META-INF/xposed/* 元数据)打进最终 APK 供 LSPosed 扫描加载,自身不直接调用其代码 | | app-ui | Android Library | 全部 Jetpack Compose UI:页面、弹窗、自研“液态玻璃”组件(ui/liquid)与 ViewModel 层 | | service | Android Library | 前台保活服务 SpoofingService、悬浮摇杆 FloatingJoystickService、开机自启广播等后台/服务层 | | xposed | Android Library | LSPosed / Xposed 注入模块本体:LocationHooker 入口 + hooks/hooks/network/ 下的各类 Hook 实现 | | core-data | Android Library | app / app-ui / service 三端共用的数据与业务层:Room 数据库、各类 Repository,以及 ConfigManagerRootManagerEnvironmentScanner 等核心工具类 | | core-geo | 纯 Kotlin/JVM | 全项目唯一不依赖 Android 的模块:WGS-84 / GCJ-02 / BD-09 坐标系换算 |

利用 Root 权限与系统共享内存通道规避了 Android 11+ 的沙盒可见性隔离,实现零权限跨进程配置传递:

┌─────────────────────────────────────────────────────────────────────────┐
│     LocationSpoofer 宿主进程(app / app-ui / service / core-data)      │
│  ┌─────────────────────────┐  ┌──────────────────────────────────────┐  │
│  │     Triple Map Engine   │  │          RouteStateMachine           │  │
│  │ (AMap / Baidu / Google) │  │     (IDLE / READY / RUN / PAUSE)     │  │
│  └────────────┬────────────┘  └──────────────────┬───────────────────┘  │
│               │                                  │                      │
│  ┌────────────▼──────────────────────────────────▼───────────────────┐  │
│  │                    ConfigManager(core-data)                     │  │
│  │     序列化配置与坐标系映射,多路径 + SELinux 授权写入本地文件     │  │
│  └──────────────────────────────────┬────────────────────────────────┘  │
│  ┌──────────────────────────────────▼────────────────────────────────┐  │
│  │                    SpoofingService(service)                     │  │
│  │           前台保活服务、悬浮摇杆控制器与路网 / 步态计算           │  │
│  └───────────────────────────────────────────────────────────────────┘  │
└─────────────────────────────────────┬───────────────────────────────────┘
                                      │ (core-data ConfigManager 写入,chmod 644 + 专属 SELinux type)
                                      ▼
               ┌─────────────────────────────────────────────┐
               │ 3 份配置文件(tmp / system / app 私有目录) │
               └──────────────────────┬──────────────────────┘
                                      │ (LocationHooker 守护线程默认 1000ms 轮询,失败退避 10s/60s)
                                      ▼ LSPosed / libxposed (API 101+) 注入
┌─────────────────────────────────────────────────────────────────────────┐
│                              目标 App 进程                              │
│  ┌───────────────────────────────────────────────────────────────────┐  │
│  │                         LocationHooker                            │  │
│  │  • Location/GNSS:BaseLocationHooker、GnssStatusHooker 等         │  │
│  │  • 地图 SDK:AMapHooker / BaiduMapHooker / TencentMapHooker       │  │
│  │  • hooks/network/:Wifi* / Cellular* / Bluetooth*Hooker 等        │  │
│  │  • SensorStepHooker(计步)/ AntiDetectionHooker(反检测)        │  │
│  └───────────────────────────────────────────────────────────────────┘  │
└─────────────────────────────────────────────────────────────────────────┘
[!NOTE]
跨进程通信 (IPC) 设计
目标 App 进程在沙盒内运行时,由于 Android 11+ 包可见性及 SELinux 策略,使用 ContentProvider 会导致主线程卡顿并产生 Failed to find provider info 错误。
core-data 模块的 ConfigManager 借助 Root 权限,把配置以 JSON 格式同时写入三份路径/data/local/tmp//data/system/、应用私有目录 files/,读取时再兜底一份 /sdcard/Download/ 备份),权限收紧为 644(仅 owner 可写),并由 RootManager 动态注入一个专属 SELinux 类型 locationspoofer_config_file(而非笼统的 shell_data_file),只对目标应用所在的域(untrusted_appplatform_app 等)授予 read / open / getattr,而非简单粗暴的全局可读可写。
xposed 模块的 LocationHooker 内置后台守护线程,按调用方 UID 决定优先读取顺序,默认每 1000ms 轮询一次并写入内存缓存;读取失败时自动退避到 10s(一般失败)或 60s(com.android.phone 权限被拒绝的场景),避免异常状态下无意义的高频重试。主线程的 Hook 方法只读内存缓存,实现 0-IO 延迟,避免导致目标 App 丢帧与卡顿。

---

环境要求

---

使用指南

1. 编译与安装

# 1. 克隆代码仓库
git clone https://github.com/your-username/LocationSpoofer.git

2. 编译 Debug APK 并直接安装到设备

./gradlew installDebug

2. 权限与激活

1. 打开 KernelSU / APatch / Magisk 管理器,授予 LocationSpoofer Root 权限。 2. 打开 LSPosed 管理器,在模块列表中找到 LocationSpoofer 并启用。 3. 在模块的作用域(Scope)中,勾选需要进行定位伪装的目标应用(如微信、企业微信、钉钉、超星学习通、百度地图、高德地图等)。 4. 强行停止勾选的目标 App(或重启手机)以使其加载 Hook 逻辑。

3. 常见场景

定点模拟与环境锁定

1. 启动 LocationSpoofer,在主页地图上拖动准星或搜索栏搜索目标位置。 2. 在底部抽屉开启所需伪装开关:伪造 Wi-Fi模拟基站模拟蓝牙模拟传感器计步开启随机抖动。 3. 点击“启动模拟”接管系统 GPS。 4. 如需锁定使用具体的本地采集点,可在“管理数据”中点击对应采集点进行锁定绑定。

路线模拟

1. 切换至“路线规划”标签页,在地图上依次标记多个路点。 2. 设定移动模式(循环 / 往返 / 单程)以及速度档位(步行、跑步、骑行、自驾或自定义速度)。 3. 开启 “使用真实路线规划”(系统将自动拉取真实道路轮廓并标记红绿灯等待节点)。 4. 点击“开始模拟”。可随时开启“悬浮窗摇杆”在前台微调坐标与速度。

实地采集与数据自定义

1. 开启“设置” -> “环境图谱与扫街” 模式,手机将在后台记录沿途的真实 Wi-Fi、基站与蓝牙信标。 2. 进入“管理采集数据”页面,可查看列表、编辑备注,或手动指定/修改某条 Wi-Fi(如 SSID、BSSID、RSSI 等)或基站小区数据。 3. 支持将采集到的无线电指纹一键导出为 JSON 文件,用于备份或共享导入。

独立应用坐标系配置

---

技术栈

---

免责声明

本程序仅供学习研究、技术交流以及个人合法合规测试(如开发者定位测试、设备兼容性调试)使用。 使用者请勿将本工具用于任何违法违规或违反相关平台服务协议的活动(包括但不限于虚假打卡、网络考试作弊、商业欺诈等)。 使用本模块造成的任何账号封禁、数据丢失、法律纠纷或其他直接/间接损失,均由使用者自行承担,作者不对此承担任何责任。

---

开源协议

本项目基于 GNU General Public License v3.0 协议开源。

Copyright (C) 2026 SuseOAA

GitHub Stars & Activity

1,199Stars
226Forks
16Open issues
KotlinLanguage

GitHub Popularity

GitHub stars1,199
Forks226
Open issues16
Primary languageKotlin
LicenseNOASSERTION
Stars gained today60
Created2026-04-24
Last pushed2026-09-12

Trending History

Daily boardrank #60 · ▲ 60 stars

Related GitHub Projects

1

2dust / v2rayNG

Kotlin★ 63,021⑂ 8,152▲ 52 stars
2

rukamori / ArchiveTune

Kotlin★ 6,320⑂ 262▲ 33 stars
3

obra / superpowers

Shell★ 290,622⑂ 26,005▲ 485 stars
4

mattpocock / skills

Shell★ 268,429⑂ 22,633▲ 719 stars
5

f / prompts.chat

HTML★ 171,111⑂ 21,982▲ 131 stars
6

clash-verge-rev / clash-verge-rev

Rust★ 146,827⑂ 10,544▲ 395 stars
7

Comfy-Org / ComfyUI

Python★ 134,710⑂ 15,949▲ 203 stars
8

nodejs / node

JavaScript★ 122,051⑂ 37,548▲ 33 stars

More Trending Repositories