TanvirHossain2/NEXTVM

GitHub: TanvirHossain2/NEXTVM

无需 root 的 Android 虚拟环境引擎,在隔离沙箱中运行任意应用,支持多实例、身份伪装和反检测。

Stars: 3 | Forks: 2

NEXTVM Logo

NEXTVM

下一代 Android 虚拟环境引擎

在完全隔离的沙箱虚拟环境中运行任何 Android 应用 —— 无需 root,无需模拟器,直接在你的手机上运行。

架构功能路线图构建贡献许可证

## 什么是 NEXTVM? NEXTVM 是一个**轻量级 Android 虚拟化引擎**,可在 Android 设备上创建隔离的虚拟环境。与模拟硬件的传统模拟器不同,NEXTVM 使用 **Binder 代理拦截**和 **ActivityThread hooking** 在沙箱进程中运行真实的 Android 应用 —— 实现了接近原生的性能和完全的隔离。 可以把它看作是 Android 应用的“平行宇宙”—— 每个应用都以其独立的身份、存储空间、账户和网络配置运行,与宿主设备及彼此之间完全隔离。 ### 为什么选择 NEXTVM? | 问题 | NEXTVM 解决方案 | |---------|----------------| | 测试应用而不影响真实数据 | 具备虚拟文件系统的完全隔离沙箱 | | 同时运行同一应用的多个账户 | 最多 10 个独立实例,每个都有唯一的身份 | | 对不可信应用的隐私顾虑 | 应用只能看到你允许的内容 —— 虚拟联系人、虚拟位置、虚拟设备身份 | | 安全研究与应用分析 | 内置运行时分析工具,无需 root | | 跨设备配置文件的应用兼容性测试 | 伪装任何设备型号、Android 版本、运营商、屏幕配置 | ## 架构 NEXTVM 基于**多层拦截架构**构建,在应用层拦截 Android 的 IPC 机制 (Binder),无需任何 OS 修改或 root 权限。 ``` ┌──────────────────────────────────────────────────────┐ │ NEXTVM Engine │ │ │ │ ┌──────────┐ ┌──────────────┐ ┌───────────────┐ │ │ │ Guest │ │ Binder Proxy │ │ Android OS │ │ │ │ App │──│ Layer │──│ (Unmodified) │ │ │ │ │ │ │ │ │ │ │ └──────────┘ └──────────────┘ └───────────────┘ │ │ │ │ │ │ │ ┌──────────┐ ┌──────────────┐ ┌───────────────┐ │ │ │ Virtual │ │ ActivityThread│ │ Native Hook │ │ │ │ Context │ │ mH Hook │ │ Engine (C++) │ │ │ │ Sandbox │ │ (Code 159) │ │ GOT/PLT Patch│ │ │ └──────────┘ └──────────────┘ └───────────────┘ │ │ │ │ ┌──────────────────────────────────────────────┐ │ │ │ Identity Spoofing │ │ │ │ Build.* | IMEI | ANDROID_ID | MAC | Carrier │ │ │ └──────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────┐ │ │ │ Anti-Detection Engine │ │ │ │ Root | Emulator | Xposed | Virtual Env Hide │ │ │ └──────────────────────────────────────────────┘ │ └──────────────────────────────────────────────────────┘ ``` ### 核心机制 1. **Binder 代理拦截** — `IActivityManager`、`IPackageManager` 和系统服务代理拦截所有应用到系统的 IPC 调用 2. **ActivityThread.mH Hook** — 拦截 `EXECUTE_TRANSACTION` (code 159) 以交换 ClassLoader 并通过桩组件 (stub components) 重定向 Activity 启动 3. **虚拟上下文** — 自定义 `ContextWrapper`,将所有文件 I/O、数据库、SharedPreferences 和身份查询重定向到沙箱 4. **Native Hook 引擎 (C++)** — 对 `libc` 函数(`open`、`openat`、`stat`、`access`、`fopen`、`__system_property_get`)进行 GOT/PLT patching,以在 native 层强制隔离 5. **200 个桩组件** — 10 个进程槽 × 每个槽 20 个组件(Activities、Services、ContentProviders、BroadcastReceivers)在 manifest 中预声明 ### 模块结构 ``` NEXTVM/ ├── app/ # Application entry point & DI ├── core/ │ ├── virtualization/ # VM engine, process management, lifecycle │ ├── hook/ # Native (C++) + Java hooking, anti-detection, identity spoofing │ ├── binder/ # Binder proxy interception (AM, PM, SystemServices) │ ├── sandbox/ # File system isolation, virtual context │ ├── services/ # Virtual system services, GMS integration │ ├── framework/ # Android framework parsing, package validation │ ├── apk/ # APK parsing & class loading │ ├── model/ # Data models (VirtualApp, DeviceProfile, ProcessSlot) │ ├── common/ # Reflection utilities, compatibility helpers │ └── designsystem/ # Material 3 theme, design tokens ├── feature/ │ ├── launcher/ # App grid launcher UI │ ├── appmanager/ # APK install/uninstall management │ ├── settings/ # Engine configuration & debugging │ └── filemanager/ # Virtual filesystem browser └── gradle/ # Version catalog & wrapper ``` ## 功能 ### 当前已实现 - **应用虚拟化** — 在隔离的沙箱进程中运行第三方 Android APK - **多实例支持** — 最多 10 个并行应用实例,每个都在其独立的进程槽中 - **完整的文件系统隔离** — 每个实例拥有虚拟的 `/data/data/`、`/sdcard/`,并在 native 层强制执行 - **身份伪装引擎** — 每个实例独立的设备指纹:Build.MODEL、MANUFACTURER、FINGERPRINT、IMEI、ANDROID_ID、MAC 地址、运营商信息 —— 全部确定性生成 - **反检测系统** — 3 级绕过机制,针对 root 检测、模拟器检测、虚拟环境检测、Xposed 检测和签名验证 - **GMS 集成** — 混合架构,桥接到宿主的真实 Google Play Services,以实现认证、FCM 推送通知和 Play Store 兼容性 - **Native Hook 引擎** — 用于 libc 级别文件路径重定向和系统属性伪装的 C++ GOT/PLT patcher - **现代 UI** — 采用 Jetpack Compose 和 Material 3,具有启动器网格、应用管理器、文件浏览器和设置功能 - **Hilt DI** — 跨所有 15 个模块的依赖注入整洁架构 ### 即将推出 —— 路线图
隐私与安全 | 功能 | 描述 | |---------|-------------| | **证人保护** | AI 生成的虚拟联系人、照片、短信 —— 应用看到的是逼真但完全虚拟的用户数据 | | **幽灵网络** | 每个应用独立的 DNS 路由、运营商伪装和独立的网络身份 | | **紧急按钮** | 一键加密擦除所有虚拟数据,启动器伪装成计算器应用 | | **剪贴板防火墙** | 防止应用读取敏感的剪贴板内容 | | **声学沙箱** | 麦克风隔离,可选注入白噪声 | | **自毁协议** | 通过推送通知触发的远程擦除 |
高级用户工具 | 功能 | 描述 | |---------|-------------| | **时间囚笼** | 每个应用独立的时间冻结 —— 将任何应用的时钟锁定到特定日期,而不影响系统 | | **速度控制器** | 调整应用执行速度(0.1x 到 10x),用于游戏和测试 | | **应用 X-Ray** | 实时透明覆盖层,显示所有 API 调用、网络流量和权限使用情况 | | **傀儡大师 API** | 本地 REST API,可从网络上的另一台设备以编程方式控制任何虚拟应用 | | **模仿引擎** | AI 驱动的行为记录和回放,具有基于图像识别的 UI 适配能力 | | **幽灵通知** | 跨所有实例的统一通知中心,具有智能分组和隐身模式 |
分析与研究 | 功能 | 描述 | |---------|-------------| | **应用基因组图谱** | 自动 SDK/库检测,具有反混淆和家族指纹识别功能 | | **漏洞雷达** | 在应用运行时自动发现安全弱点 —— 无需任何专业知识 | | **取证摄像机** | 在统一时间轴中记录所有应用行为(屏幕、网络、文件 I/O、加密) | | **二进制差异引擎** | 在代码层面比较应用版本 —— 查看除“错误修复”之外的确切变化 | | **运行时检查器** | 点击式运行时状态查看器 —— 点击任何 UI 元素以检查/修改活动对象 | | **沙箱剧场** | 创建虚拟环境(慢速网络、低电量、不同国家)以测试应用行为 |
自动化与集成 | 功能 | 描述 | |---------|-------------| | **Tasker/IFTTT 集成** | 将虚拟应用事件作为广播 Intent 暴露,用于自动化工作流 | | **自动化引擎** | 嵌入式脚本(Lua/Python),用于复杂的应用自动化场景 | | **状态传送** | 通过扫描二维码在设备间传输正在运行的应用状态 —— 无需重新登录 | | **应用奇美拉** | 在运行时在应用间移植视觉主题和 UI 功能 |
## 技术栈 | 组件 | 技术 | |-----------|-----------| | **语言** | Kotlin 2.0 + C++ (NDK) | | **UI 框架** | Jetpack Compose + Material 3 | | **架构** | MVI + Clean Architecture | | **DI** | Hilt (Dagger) | | **构建系统** | Gradle 8.9 + Version Catalog | | **Native Hooks** | 自定义 GOT/PLT patcher (C++) | | **Java Hooks** | 基于反射的字段修改 | | **Min SDK** | 26 (Android 8.0) | | **Target SDK** | 35 (Android 15) | | **模块** | 15 (1 app + 10 core + 4 feature) | ## 构建 ### 前置条件 - Android Studio Ladybug (2024.2.1) 或更高版本 - JDK 17 - Android SDK 35 - NDK 27.1.12297006 - CMake(用于 native hook 模块) ### 步骤 ``` # Clone 仓库 git clone https://github.com/TanvirHossain2/NEXTVM.git cd NEXTVM # 构建 debug APK ./gradlew :app:assembleDebug # 安装到已连接的设备 ./gradlew :app:installDebug ``` ## 项目状态 NEXTVM 目前处于 **alpha 阶段**。核心虚拟化引擎、沙箱隔离和身份伪装系统已可用。我们正积极致力于扩大应用兼容性并开发高级功能集。 ### 已可用功能 - 在虚拟环境中安装和启动 APK - 具有 native 级别强制执行的文件系统隔离 - 每个实例独立的身份生成(每个克隆具有唯一的设备指纹) - 针对常见 root/模拟器检查的反检测绕过 - Google Play Services 集成(认证、FCM、Play Store) - 具有 Compose UI 的现代启动器、文件浏览器和设置 ### 开发中功能 - 扩展应用兼容性(目标是 95% 的 Play Store 应用) - WebView 进程隔离 - 摄像头和媒体 API 代理 - Storage Access Framework (SAF) 支持 - 全面的测试套件 - 性能优化和内存管理 ## 贡献 NEXTVM 是一个复杂的系统级项目,欢迎各种贡献!你可以通过以下方式提供帮助: ### 适合新手的 Issue - 为核心模块编写单元测试(目前覆盖率为 0%) - 改进错误处理和日志记录 - UI 打磨和动画 - 各模块的文档编写 ### 高级贡献 - Android 系统服务代理实现 - Native hook 改进(迁移到 [bhook](https://github.com/nicklhw/bhook) 以获得更广泛的兼容性) - 针对特定应用/框架的应用兼容性修复 - 多进程 ClassLoader 隔离改进 - 性能分析和优化 ### 如何开始 1. Fork 本仓库 2. 创建一个功能分支:`git checkout -b feature/your-feature` 3. 阅读模块结构 —— 从 `core/model` 开始了解数据类型,然后查看 `core/virtualization/engine/VirtualEngine.kt` 了解主要的编排器 4. 使用清晰的提交信息进行更改 5. 提交 pull request,描述更改的内容和原因 ### 面向贡献者的架构深入剖析 理解应用虚拟化工作原理的关键代码路径: 1. **`VirtualEngine.kt`** → `installApp()` 和 `launchApp()` — 入口点 2. **`StubRegistry.kt`** → 200 个桩组件如何映射到真实的应用组件 3. **`ActivityThreadHook.kt`** → 使一切成为可能的 `EXECUTE_TRANSACTION` 拦截 4. **`ActivityManagerProxy.kt`** → `startActivity/startService/bindService` 调用如何被重定向 5. **`VirtualContext.kt`** → 文件 I/O 和身份查询如何被沙箱化 6. **`native-hook.cpp`** → 在 native 层强制隔离的 C++ GOT/PLT patcher ## 横向对比 | 功能 | NEXTVM | VirtualApp | Parallel Space | Shelter | |---------|--------|-----------|---------------|---------| | 无需 Root | 是 | 是 | 是 | 是 | | 多实例 | 10 个槽位 | 有限 | 2 个 | Work Profile | | 每个实例独立身份 | 完全伪装 | 基础 | 无 | 无 | | Native 级别隔离 | GOT/PLT hooks | 是 | 否 | 否 | | 反检测 | 3 级系统 | 基础 | 无 | 无 | | GMS 集成 | 混合桥接 | 完整复制 | 基础 | 系统 | | 现代 UI (Compose) | 是 | 否 | 否 | 否 | | 开源 | 是 | 部分 | 否 | 是 | | 活跃开发 | 是 | 已废弃 | 闭源 | 极少 | | 目标兼容性 | 目标 95% | ~70% | ~60% | Work Profile | ## 免责声明 NEXTVM 专为合法用例设计,包括: - **隐私保护** —— 在隔离环境中运行不可信应用 - **应用测试** —— 跨不同设备配置测试应用 - **安全研究** —— 在受控环境中分析应用行为 - **多账户管理** —— 运行消息传递和社交应用的多个实例 - **开发** —— 使用不同的设备配置文件测试你自己的应用 用户有责任在使用本软件时遵守适用的法律和服务条款。NEXTVM 不鼓励或纵容任何形式的软件盗版、未经授权的访问或违反第三方服务条款的行为。 ## 许可证 ``` Copyright 2024-2026 Tanvir Hossain Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ```

来自孟加拉国的坚定构建

如果你认同这一愿景,请 Star 本仓库
让我们共同构建最强大的 Android 虚拟环境。

标签:Android 虚拟化, Binder 代理, C++, Hook 技术, Kotlin, Native Hook, NDK 开发, 免 Root, 动态加载, 反检测, 后台面板检测, 多开应用, 应用分身, 数据擦除, 沙箱引擎, 游戏多开, 目录枚举, 移动安全, 移动开发框架, 网络安全, 虚拟环境, 设备指纹修改, 误配置预防, 身份伪装, 进程隔离, 配置审计, 防封号, 隐私保护, 黑灰产风控对抗