VirtualApp
Virtual Engine for Android(Support 14.0 in business version)
Install / Use
/learn @asLody/VirtualAppREADME
VA是什么?
VirtualApp(简称:VA)是一款运行于Android系统的沙盒产品,可以理解为轻量级的“Android虚拟机”。其产品形态为高可扩展,可定制的集成SDK,您可以基于VA或者使用VA定制开发各种看似不可能完成的项目。VA目前被广泛应用于APP多开、小游戏合集、手游加速器、手游租号、手游手柄免激活、VR程序移植、区块链、移动办公安全、军队政府数据隔离、手机模拟信息、脚本自动化、插件化开发、无感知热更新、云控等技术领域。<br> Github上代码已在2017年12月份停止更新,商业版代码在持续更新中,如需授权获得最新代码,请联系微信:10890
VA中的术语
术语 | 解释
---- | ---
宿主 | 集成VirtualApp类库(lib)的App叫做宿主
宿主插件 | 用于在同一个手机,运行另一种ABI的宿主包,又称做插件包,扩展包,宿主插件包,宿主扩展包
虚拟App/VApp | VA的虚拟环境多开的app
外部App | 手机真实环境安装的app
<br/>
VA技术架构

VA技术一共涉及到了Android的APP层,Framework层以及Native层。
一个APP想要在Android系统上运行,必须要安装后系统才会接纳。安装到VA内部的APP实际上并没有安装到系统中,所以正常情况下是无法运行的。那如何才能让它运行呢?
答:那就只有“欺骗”系统,让系统认为已经安装。而这个“欺骗”过程就是VA Framework的核心工作内容,也是整个VA的核心技术原理。
下面介绍下在这3个层次分别做了什么事情:
层次 | 主要工作
---- | ---
VA Space | 由VA提供了一个内部的空间,用于安装要在其内部运行的APP,这个空间是系统隔离的。
VA Framework | 这一层主要给Android Framework和VAPP做代理,这也是VA的核心。VA提供了一套自己的VA Framework,处于Android Framework与VA APP之间。</br>1. 对于VAPP,其访问的所有系统Service均已被 VA Framework 代理,它会修改VAPP的请求参数,将其中与VAPP安装信息相关的全部参数修改为宿主的参数之后发送给Android Framework(有部分请求会发送给自己的VA Server直接处理而不再发送给Android系统)。这样Android Framework收到VAPP请求后检查参数就会认为没有问题。</br>2. 待Android系统对该请求处理完成返回结果时,VA Framework同样也会拦截住该返回结果,此时再将原来修改过的参数全部还原为VAPP请求时发送的。</br>这样VAPP与Android系统的交互也就能跑通了。
VA Native | 在这一层主要为了完成2个工作,IO重定向和VA APP与Android系统交互的请求修改。</br>1. IO重定向是因为可能有部分APP会通过写死的绝对路径访问,但是如果APP没有安装到系统,这个路径是不存在的,通过IO重定向,则将其转向VA内部安装的路径。</br>2. 另外有部分jni函数在VA Framework中无法hook的,所以需要在native层来做hook。
</br>
总结: 通过上面技术架构可以看到,VA内部的APP实际是跑在VA自己的VA Framework之上。 VA已将其内部APP的全部系统请求进行拦截,通过这项技术也能对APP进行全面控制,而不仅仅只是多开。并且为了方便开发者,VA还提供了SDK以及Hook SDK。
VA进程架构

VA运行时有5类进程:CHILD进程,VA Host Main进程,VA Host Plugin进程,VAPP Client进程,VAServer进程。
VA为了同时支持32位APP与64位APP,需要安装2个包:一个主包,一个插件包(在本文档中主包是32位,插件包是64位)。
2个包也是必须的,因为一个包只能运行在一种模式下,要么32位,要么64位。所以对于32位的APP,VA使用32位的主包去运行,对于64位的APP,VA则使用64位的插件包去运行。
在主包中含了VA的所有代码,插件包中只有一段加载主包代码执行的代码,无其他代码。所以插件包几乎不用更新,只需要更新主包即可。
另外主包是选择用32位还是64位,可以在配置文件中修改(比如对于要上GooglePlay的用户,会修改为主包64位,插件包32位)。
各类进程的作用与解释如下:</br>
进程类型 | 作用 ---- | --- CHILD | 由VA Host集成的其他进程,比如:保活进程,推送进程等。 VA Host Main | VA主包的UI主界面所在的进程。默认主包是32位,插件包是64位,可在配置文件中修改切换。 VA Host Plugin | 支持64位APP的插件包所在进程。默认主包是32位,插件包是64位,可在配置文件中修改切换。 VAPP Client | 安装到VA中的APP启动后产生的进程,在运行时会将io.busniess.va:pxxx进程名修改VAPP的真实进程名。 VAServer | VA Server的所在的进程,用于处理VA中不交予系统处理的请求。比如APP的安装处理。 <br/>
VA几乎能满足您的一切需求
通过上面的技术架构,我们可以了解到VA可以对APP进行全面的控制,并且提供了Hook SDK,几乎能满足您在各个领域的一切需求:
-
可以满足您的双开/多开需求
VA可以让您在同一部手机上安装多个微信/QQ/WhatsApp/Facebook等APP,实现一部手机,多个账号同时登录。 -
可以满足您的移动安全需求
VA提供了一整套内部与外部的隔离机制,包括但不限于(文件隔离/组件隔离/进程通讯隔离),简单的说VA内部就是一个“完全独立的空间”。 通过VA可将工作事务与个人事务安全的隔离,互不干扰。稍作定制即可实现应用行为审计、数据加密、数据采集、数据防泄漏、防攻击泄密等移动安全相关的需求。
2.1 应用行为审计
通过VA提供的HOOK能力可以实现实时监测用户使用行为,将违规信息上传到服务器;并能轻易实现诸如时间围栏(在某个时间段内能否使用应用的某个功能)、地理围栏(在某个区域内能否使用应用的某个功能)、敏感关键字过滤拦截等功能需求。
2.2 数据加密
通过VA提供的HOOK能力可以实现对应用的全部数据/文件加密,保证数据/文件落地安全。
2.3 数据采集
通过VA提供的HOOK能力可以实现应用数据的实时无感上传需求,如聊天记录、转账记录等,防止事后删除无法追溯。
2.4 数据防泄漏
通过VA提供的HOOK能力可以实现应用防复制/粘贴、防截屏/录屏、防分享/转发、水印溯源等需求。
2.5 防攻击泄密
通过VA提供的应用管控能力可以将APP获取短信/通讯录/通话记录/后台录音/后台拍照/浏览历史/位置信息等隐私相关的行为完全控制在沙盒中,防止木马/恶意APP获取到用户真实的隐私数据,造成泄密等严重后果。 -
可以满足您的免ROOT HOOK需求
VA提供了Java与Native的Hook能力,通过VA,您可以轻易实现诸如虚拟定位、改机、APP监控管理、移动安全等各种场景需要的功能。 -
可以满足您的APP静默安装需求
VA提供了APP静默安装,静默升级,静默卸载的能力。如应用商店或游戏中心在集成VA后可以避免需要用户手动点击确认安装的操作,做到下载后立即安装到VA内,给用户带来“小程序”搬的体验,彻底避免了应用不易被用户安装上的问题。 -
可以满足您的APP管控需求
您可以通过VA清楚的掌握APP访问了哪些系统API,哪些敏感数据,哪些设备信息等。比如APP是否访问了联系人,相册,通话记录,是否访问了用户的地理位置等信息。 当然,您还可以通过VA控制或者构造自定义的信息给这些APP。不仅于此,您还可以获取到APP的私有数据,比如聊天数据库等。总之通过VA提供的应用管控能力,您可以轻易控制APP的一切行为,甚至修改APP与服务器交互内容等。 </br> -
可以满足您的海外市场需求
VA实现了对Google服务的支持,以支持海外的App运行,比如Twitter、Messenger、WhatsApp、Instagram、FaceBook、Youtube等。 -
可以满足您的VR程序移植需求
可以通过VA的Hook能力拦截VR设备的API,让您无需改动代码即可将VR程序移植到新的设备。 -
可以满足您几乎一切能想到的需求
VA对于内部的App具有完全的监管和控制能力,几乎能满足您的一切需求! -
同时VA也是该技术领域唯一一款对外商业授权的产品
截止目前已有上百家授权客户在付费使用VirtualApp商业版代码,集成VirtualApp代码的APP日启动次数超过2亿次,众多安卓工程师向我们提供不同场景下的用户反馈,通过我们技术团队不断优化迭代,不断提升产品性能与兼容性!
VA的特有能力
-
克隆能力<br/> 可以克隆外部系统中已经安装的App,并在内部运行,互不干扰。典型应用场景为App双开。
-
免安装能力<br/> 除了克隆已安装之外,VA可以直接在内部安装(外部无感知)apk,并在内部直接运行。典型应用场景为插件化,独立应用市场等。
-
多开能力<br/> VA不仅可以“双开”,独特的多用户模式支持用户在内部无限多开同一个App。
-
内外隔离能力<br/> VA是一个标准的沙盒,或者说“虚拟机”,提供了一整套内部与外部的隔离机制,包括但不限于(文件隔离/组件隔离/进程通讯隔离),简单的说VA内部就是一个“完全独立的空间”。在此基础之上,稍作定制即可实现一部手机上的“虚拟手机”。当然您也可以发挥想象,定制成应用于数据加密,数据隔离,隐私保护,企业管理的应用系统。
-
对于内部App的完全控制能力<br/> VA对于内部的App具有完全的监控和控制能力,这点在未Root的外部环境中是绝对无法实现的。
VA的其他特性
-
高性能<br/> 进程级“虚拟机”,VA独特的实现方式让其性能几乎于原生App一致,更不需要普通虚拟机漫长的启动。
-
全版本支持<br/> 支持5.0-17.0,支持32位/64位app,支持ARM以及X86处理器。并且支持未来将更新的Android版本。
-
易扩展与集成<br/> VA 的集成方式与普通Android库类似,即使您的App已经完成上线,您也方便的可以集成VA,享受VA带来的能力。
-
支持Google服务<br/> 提供Google服务的支持,以支持海外的App
VA与其他技术方案对比
在做企业级移动安全时,往往需要对APP进行管控,以下是列出的可能技术方案对比:
技术方案 | 原理简介 | 点评 | 运行性能 | 兼容稳定性 | 项目维护成本 ---- | --- | --- | --- | --- | --- 二次打包 | 通过反编译目标APP,加入自己的控制代码,重新打包 | 1.现在的APP几乎都有加固或防篡改保护,重打包已是一件非常困难的事</br> 2.手机系统也会检测APP是否被重打包,如果重打包,会直接提示用户存在安全风险,甚至不让安装</br>3.针对每一个APP,甚至每一个版本都要深入去逆向分析,耗时耗力,难于维护 | 优秀 | 差 | 高 定制ROM | 通过定制系统源码,编译刷到指定手机 | 只能针对指定的内部手机,局限性太大,无法扩展 | 优秀 | 优秀 | 高 ROOT手机 | 通过ROOT手机,刷入xposed等类似框架 | 1.ROOT手机现在本身已是一件不太可能的事</br> 2.现实中也很难让用户能去ROOT自己的手机 | 优秀 | 差 | 高 VA | 轻量级虚拟机,速度快,对设备要求低 | 无上述风险点 | 优秀 | 优秀,有上百家企业在同时测试反馈 | 低,VA提供了API并有专业的技术团队保障项目稳定运行 <br/> 通过以上对比可以看出,VA是一款优秀的产品,并且能降低您的开发维护成本!
集成VA步骤
第1步:在您的Application中调用VA接口VirtualCore.get().startup()来启动VA引擎
第2步:调用VA接口VirtualCore.get().installPackageAsUser(userId, packageName)将目标APP安装到VA中
第3步:调用VA接口VActivityManager.get().launchApp(userId, packageName)启动APP
仅通过以上3个API就完成了基础使用,VA已屏蔽了复杂的技术细节,并提供了接口API,让您的开发变得很简单!
VA的兼容稳定性
VA已被上百家企业进行了广泛测试,包含数十家上市公司高标准的测试及反馈,几乎涵盖了海内外的各种机型设备和场景! 为您的稳定运行提供了充分的保障!
截止目前,支持的系统版本:
系统版本 | 是否支持 ---- | --- 5.0 | 支持 5.1 | 支持 6.0 | 支持 7.0 | 支持 8.0 | 支持 9.1 | 支持 10.0 | 支持 11.0 | 支持 12.0 | 支持 13.0 | 支持 14.0 | 支持 15.0 | 支持 16.0 | 支持 17.0 | 支持 <br/>
支持的APP类型:
APP类型 | 是否支持 ---- | --- 32位APP | 支持 64位APP | 支持 <br/>
支持的HOOK类型:
Hook类型 | 是否支持 ---- | --- Java Hook | 支持 Native Hook | 支持
支持的CPU类型:
Hook类型 | 是否支持 ---- | --- ARM 32 | 支持 ARM 64 | 支持 <br/>
集成VA遇到问题如何反馈?
购买授权后我们会建立微信群,有任何问题可以随时反馈给我们,并根据优先级在第一时间处理!
VA开发文档
VA开发文档请参考:开发文档
授权说明
VirtualApp虚拟机技术归属于:山东盒一网络科技有限公司(原:济宁市罗盒网络科技有限公司),于2015年至2026年申请多项VirtualApp知识产权,受中华人民共和国知识产权法保护。当您需要使用Github上的代码时,请购买商业授权,获取商业授权后将可以收到最新VirtualApp商业版全部源代码。上百家授权客户在付费使用VirtualApp商业版代码,集成VirtualApp代码的APP日启动次数超过2亿次,众多安卓工程师向我们提供不同场景下的用户反馈,通过我们技术团队不断优化迭代,VirtualApp商业版代码性能更好、兼容性更高。当您的公司获取授权后,将成为其中一员,享受这些不断迭代完善后的技术成果。并可以和我们的授权客户进行运营、技术及商业上的互动合作。
严重声明
您如果未经授权将VirtualApp用于内部使用、商业牟利或上传应用市场,我们将取证后报警(侵犯著作权罪)或起诉,这将对您所属公司造成刑事责任及法律诉讼,影响到您公司的商誉和投资。购买商业授权为您节省大量开发、测试和完善兼容性的时间,让您更多时间用于创新及盈利。罗盒科技已在2020年报警和起诉了一些个人及公司。<br/>
为响应国家对于知识产权的保护号召!凡举报自己所在公司或其他公司未经授权,违法使用VirtualApp代码开发产品的,一经核实给予现金奖励。我们会对举报人身份保密!举报联系微信:10890
<br/>商业版主要更新
- 兼容最新Android 17.0
- 支持Binder拦截,不再使用动态代理
- 支持Seccomp-Bpf拦截
- 不易被杀毒软件误报
- 框架优化,性能大幅提升
- 手机系统及APP兼容性大幅提升
- 完美运行Google服务
- 支持运行纯64位App
- 内置
XPosed Hook框架 - 增加定位模拟代码
- 增加改机代码
- 其他600+项问题的修复和改进,详情请见下表
2017年-2026年商业版代码更新详细
2026年3月5号 至 2026年 3月16号 商业版代码更新内容
663、17.0 beta2上的报错修复<br/> 662、 Seccomp-bpf only相关的调整<br/> 661、反射代码调整<br/>
2026年2月12号 至 2026年 3月4号 商业版代码更新内容
660、增加对部分加固的支持<br/> 659、 fp指针调整避免某些App无法打开<br/>
<details> <summary>2017年 12月 至 2026年 2 月 11 日 商业版代码更新内容(下拉打开)</summary> <br/>2026年2月1号 至 2026年 2月11号 商业版代码更新内容
658、 修复NativeEngine.onGetCallingUid在VisitRoots的时候crash<br/> 657、 Secomp-Bpf开启后,执行execve时支持fd<br/> 656、fix getFromLocation crash on 15.0+<br/>
2025年12月31号 至 2026年 1月30号 商业版代码更新内容
655、增强环境检测方面的处理<br/> 654、.0上AdvancedProtectionService以及ISupervisionManager适配<br/> 653、fix AttributionSource子类验证报错:AttributionSource should be unparceled during a binder<br/> 652、fix ParceledListSlice->getList返回null<br/> 651、对于一些没有权限的函数调用进行处理<br/> 650、maps处理方式更新<br/> 649、对fp指令范围进行判断,避免crash<br/>
2025年12月19号 至 2025年 12月30号 商业版代码更新内容
648、从处理openat2与faccessat2,seccomp等调用<br/> 647、适配APP中对seccomp-bpf的调用<br/> 646、处理某些应用因为检测打不开<br/>
2025年12月3号 至 2025年 12月18号 商业版代码更新内容
645、某些svc处理<br/> 644、系统路径调整<br/> 643、maps调整<br/>
2025年11月12号 至 2025年 12月2号 商业版代码更新内容
642、新功能:Native层增加机型模拟支持<br/> 641、支持对应用强制开启机型模拟/强制使用真机信息<br/> 640、seccomp-bpf对ptrace的一些处理<br/> 639、修复执行Java命令时进程可能崩溃的问题<br/> 638、修复其他几处崩溃的问题<br/>
2025年10月29号 至 2025年 11月11号 商业版代码更新内容
637、新功能:Seccomp-Bpf下增加了对execve的调用支持<br/> 636、处理了与反射相关的几个地方<br/> 635、对几个内存文件的chmod处理<br/>
2025年10月11号 至 2025年 10月28号 商业版代码更新内容
634、修复IBatteryStats相关的空指针<br/>
2025年9月18号 至 2025年 10月10号 商业版代码更新内容
633、处理onNewIntent()中的activity Referrer<br/> 632、适配NotificationProviderPublic<br/> 631、修复15.0+上isDirectlyHandlingTransaction()的多线程处理<br/> 630、隐藏Libcore.os的反射获取<br/> 629、binderproxy模式支持IBatteryStats<br/> 628、适配某些加固APP<br/>
2025年9月2号 至 2025年 9月17号 商业版代码更新内容
627、Android 16kb page size 适配<br/> 626、fix蓝牙几个代理类的代码错误<br/> 625、处理某些APP在Application->attach中获取到宿主Applica
Related Skills
openhue
336.9kControl Philips Hue lights and scenes via the OpenHue CLI.
sag
336.9kElevenLabs text-to-speech with mac-style say UX.
weather
336.9kGet current weather and forecasts via wttr.in or Open-Meteo
tweakcc
1.4kCustomize Claude Code's system prompts, create custom toolsets, input pattern highlighters, themes/thinking verbs/spinners, customize input box & user message styling, support AGENTS.md, unlock private/unreleased features, and much more. Supports both native/npm installs on all platforms.
