VirtualApp

Project Url: asLody/VirtualApp
Introduction: An open source implementation of MultiAccount.
More: Author   ReportBugs   
Tags:
Parallel Space-Android平行空间-LBE 双开-

English Doc

VA 产品说明&开发指导

VirtualApp(简称:VA)是一款运行于 Android 系统的沙盒产品,可以理解为轻量级的“Android 虚拟机”。其产品形态为高可扩展,可定制的集成 SDK,您可以基于 VA 或者使用 VA 定制开发各种看似不可能完成的项目。VA 目前被广泛应用于 APP 多开、小游戏合集、手游加速器、手游租号、手游手柄免激活、VR 程序移植、区块链、移动办公安全、军队政府数据隔离、手机模拟信息、脚本自动化、插件化开发、无感知热更新、云控等技术领域。
Github 上代码已在 2017 年 12 月份停止更新,商业版代码在持续更新中,如需授权获得最新代码,请联系微信:10890

VA 中的术语

术语 解释
宿主 集成 VirtualApp 类库(lib)的 App 叫做宿主
宿主插件 用于在同一个手机,运行另一种 ABI 的宿主包,又称做插件包,扩展包,宿主插件包,宿主扩展包
虚拟 App/VApp VA 的虚拟环境多开的 app
外部 App 手机真实环境安装的 app


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 之间。
1. 对于 VAPP,其访问的所有系统 Service 均已被 VA Framework 代理,它会修改 VAPP 的请求参数,将其中与 VAPP 安装信息相关的全部参数修改为宿主的参数之后发送给 Android Framework(有部分请求会发送给自己的 VA Server 直接处理而不再发送给 Android 系统)。这样 Android Framework 收到 VAPP 请求后检查参数就会认为没有问题。
2. 待 Android 系统对该请求处理完成返回结果时,VA Framework 同样也会拦截住该返回结果,此时再将原来修改过的参数全部还原为 VAPP 请求时发送的。
这样 VAPP 与 Android 系统的交互也就能跑通了。
VA Native 在这一层主要为了完成 2 个工作,IO 重定向和 VA APP 与 Android 系统交互的请求修改。
1. IO 重定向是因为可能有部分 APP 会通过写死的绝对路径访问,但是如果 APP 没有安装到系统,这个路径是不存在的,通过 IO 重定向,则将其转向 VA 内部安装的路径。
2. 另外有部分 jni 函数在 VA Framework 中无法 hook 的,所以需要在 native 层来做 hook。


总结: 通过上面技术架构可以看到,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 位)。

各类进程的作用与解释如下:

进程类型 作用
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 的安装处理。


VA 几乎能满足您的一切需求

通过上面的技术架构,我们可以了解到 VA 可以对 APP 进行全面的控制,并且提供了 Hook SDK,几乎能满足您在各个领域的一切需求:

  1. 可以满足您的双开/多开需求
    VA 可以让您在同一部手机上安装多个微信/QQ/WhatsApp/Facebook 等 APP,实现一部手机,多个账号同时登录。

  2. 可以满足您的移动安全需求
    VA 提供了一整套内部与外部的隔离机制,包括但不限于(文件隔离/组件隔离/进程通讯隔离),简单的说 VA 内部就是一个“完全独立的空间”。 通过 VA 可将工作事务与个人事务安全的隔离,互不干扰。稍作定制即可实现应用行为审计、数据加密、数据采集、数据防泄漏、防攻击泄密等移动安全相关的需求。
    2.1 应用行为审计
    通过 VA 提供的 HOOK 能力可以实现实时监测用户使用行为,将违规信息上传到服务器;并能轻易实现诸如时间围栏(在某个时间段内能否使用应用的某个功能)、地理围栏(在某个区域内能否使用应用的某个功能)、敏感关键字过滤拦截等功能需求。
    2.2 数据加密
    通过 VA 提供的 HOOK 能力可以实现对应用的全部数据/文件加密,保证数据/文件落地安全。
    2.3 数据采集
    通过 VA 提供的 HOOK 能力可以实现应用数据的实时无感上传需求,如聊天记录、转账记录等,防止事后删除无法追溯。
    2.4 数据防泄漏
    通过 VA 提供的 HOOK 能力可以实现应用防复制/粘贴、防截屏/录屏、防分享/转发、水印溯源等需求。
    2.5 防攻击泄密
    通过 VA 提供的应用管控能力可以将 APP 获取短信/通讯录/通话记录/后台录音/后台拍照/浏览历史/位置信息等隐私相关的行为完全控制在沙盒中,防止木马/恶意 APP 获取到用户真实的隐私数据,造成泄密等严重后果。

  3. 可以满足您的免 ROOT HOOK需求
    VA 提供了 Java 与 Native 的 Hook 能力,通过 VA,您可以轻易实现诸如虚拟定位、改机、APP 监控管理、移动安全等各种场景需要的功能。

  4. 可以满足您的APP 静默安装需求
    VA 提供了 APP 静默安装,静默升级,静默卸载的能力。如应用商店或游戏中心在集成 VA 后可以避免需要用户手动点击确认安装的操作,做到下载后立即安装到 VA 内,给用户带来“小程序”搬的体验,彻底避免了应用不易被用户安装上的问题。

  5. 可以满足您的APP 管控需求
    您可以通过 VA 清楚的掌握 APP 访问了哪些系统 API,哪些敏感数据,哪些设备信息等。比如 APP 是否访问了联系人,相册,通话记录,是否访问了用户的地理位置等信息。 当然,您还可以通过 VA 控制或者构造自定义的信息给这些 APP。不仅于此,您还可以获取到 APP 的私有数据,比如聊天数据库等。总之通过 VA 提供的应用管控能力,您可以轻易控制 APP 的一切行为,甚至修改 APP 与服务器交互内容等。

  1. 可以满足您的海外市场需求
    VA 实现了对 Google 服务的支持,以支持海外的 App 运行,比如 Twitter、Messenger、WhatsApp、Instagram、FaceBook、Youtube 等。
  1. 可以满足您的VR 程序移植需求
    可以通过 VA 的 Hook 能力拦截 VR 设备的 API,让您无需改动代码即可将 VR 程序移植到新的设备。

  2. 可以满足您几乎一切能想到的需求
    VA 对于内部的 App 具有完全的监管和控制能力,几乎能满足您的一切需求!

  3. 同时 VA 也是该技术领域唯一一款对外商业授权的产品
    截止目前已有上百家授权客户在付费使用 VirtualApp 商业版代码,集成 VirtualApp 代码的 APP日启动次数超过 2 亿次,众多安卓工程师向我们提供不同场景下的用户反馈,通过我们技术团队不断优化迭代,不断提升产品性能与兼容性!

VA 的特有能力

  • 克隆能力
    可以克隆外部系统中已经安装的 App,并在内部运行,互不干扰。典型应用场景为 App 双开。

  • 免安装能力
    除了克隆已安装之外,VA 可以直接在内部安装(外部无感知)apk,并在内部直接运行。典型应用场景为插件化,独立应用市场等。

  • 多开能力
    VA 不仅可以“双开”,独特的多用户模式支持用户在内部无限多开同一个 App。

  • 内外隔离能力
    VA 是一个标准的沙盒,或者说“虚拟机”,提供了一整套内部与外部的隔离机制,包括但不限于(文件隔离/组件隔离/进程通讯隔离),简单的说 VA 内部就是一个“完全独立的空间”。在此基础之上,稍作定制即可实现一部手机上的“虚拟手机”。当然您也可以发挥想象,定制成应用于数据加密,数据隔离,隐私保护,企业管理的应用系统。

  • 对于内部 App 的完全控制能力
    VA 对于内部的 App 具有完全的监控和控制能力,这点在未 Root 的外部环境中是绝对无法实现的。

    详细(下拉打开) 1. 服务请求控制,首先 VA 直接提供了一些服务请求的拦截,您可以在集成 VA 的时候方便的定制这些服务请求,包括但远不限于(App 请求安装 apk/App 请求打开某些文件/App 请求定位数据/App 请求手机信息等等)

    2. 系统 API 控制,VA 虚拟并实现了整个安卓系统框架,这也是 VA 可以免安装在内部运行 apk 的原理,您可以对虚拟框架的实现进行修改以动态监测分析 App 的行为等;除此之外,您还可模拟一些系统行为以实现一些在外部难以实现的需求(例如游戏手柄)。

    3. 内存读写,VA 可以无需 Root 读写内部 App 进程的内存。

    4. 免 Root 调试,VA 可以免 Root 调试(ptrace)内部的 App 进程,基于此您还可以实现免 Root 的进程注入。

    5. 加载任意“插件”和“行为”,VA 内部的 App 进程由 VA 的框架 Client 端代码派生而来,所以您可以在进程的入口代码插入任何“加载”以及“控制”逻辑。这些实现都非常简单。

    6. 方法 Hook,VA 内置了一套运行于 Android 各个版本(直到 AndroidQ)的 Xposed 框架以及 native hook 框架,基于此您可以方便的 Hook 任意内部 App 的任意 Java/Native 方法。可以轻松实现一个免 Root 的 Xposed 环境(有实例代码)。

    7. 文件控制,VA 内置了完整的文件重定向,可以方便的控制内部 App 的文件的读写,基于此可以实现对文件的保护加密等功能。

    8. 注:以上控制能力均有实现代码或者实例以作参考。

VA 的其他特性

  • 高性能
    进程级“虚拟机”,VA 独特的实现方式让其性能几乎于原生 App 一致,更不需要普通虚拟机漫长的启动。

  • 全版本支持
    支持 5.0-14.0,支持 32 位/64 位 app,支持 ARM 以及 X86 处理器。并且支持未来将更新的 Android 版本。

  • 易扩展与集成
    VA 的集成方式与普通 Android 库类似,即使您的 App 已经完成上线,您也方便的可以集成 VA,享受 VA 带来的能力。

  • 支持 Google 服务
    提供 Google 服务的支持,以支持海外的 App

VA 与其他技术方案对比

在做企业级移动安全时,往往需要对 APP 进行管控,以下是列出的可能技术方案对比:

技术方案 原理简介 点评 运行性能 兼容稳定性 项目维护成本
二次打包 通过反编译目标 APP,加入自己的控制代码,重新打包 1.现在的 APP 几乎都有加固或防篡改保护,重打包已是一件非常困难的事
2.手机系统也会检测 APP 是否被重打包,如果重打包,会直接提示用户存在安全风险,甚至不让安装
3.针对每一个 APP,甚至每一个版本都要深入去逆向分析,耗时耗力,难于维护
优秀
定制 ROM 通过定制系统源码,编译刷到指定手机 只能针对指定的内部手机,局限性太大,无法扩展 优秀 优秀
ROOT 手机 通过 ROOT 手机,刷入 xposed 等类似框架 1.ROOT 手机现在本身已是一件不太可能的事
2.现实中也很难让用户能去 ROOT 自己的手机
优秀
VA 轻量级虚拟机,速度快,对设备要求低 无上述风险点 优秀 优秀,有上百家企业在同时测试反馈 低,VA 提供了 API 并有专业的技术团队保障项目稳定运行


通过以上对比可以看出,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 支持


支持的 APP 类型:

APP 类型 是否支持
32 位 APP 支持
64 位 APP 支持


支持的 HOOK 类型:

Hook 类型 是否支持
Java Hook 支持
Native Hook 支持

支持的 CPU 类型:

Hook 类型 是否支持
ARM 32 支持
ARM 64 支持


集成 VA 遇到问题如何反馈?

购买授权后我们会建立微信群,有任何问题可以随时反馈给我们,并根据优先级在第一时间处理!

VA 开发文档

VA 开发文档请参考:开发文档

授权说明

VirtualApp 虚拟机技术归属于:山东盒一网络科技有限公司(原:济宁市罗盒网络科技有限公司),于 2015 年至 2024 年申请多项 VirtualApp 知识产权,受中华人民共和国知识产权法保护。当您需要使用 Github 上的代码时,请购买商业授权,获取商业授权后将可以收到最新 VirtualApp 商业版全部源代码。上百家授权客户在付费使用 VirtualApp 商业版代码,集成 VirtualApp 代码的 APP 日启动次数超过 2 亿次,众多安卓工程师向我们提供不同场景下的用户反馈,通过我们技术团队不断优化迭代,VirtualApp 商业版代码性能更好、兼容性更高。当您的公司获取授权后,将成为其中一员,享受这些不断迭代完善后的技术成果。并可以和我们的授权客户进行运营、技术及商业上的互动合作。


负责人:张总
微信:10890

严重声明

您如果未经授权将 VirtualApp 用于内部使用、商业牟利或上传应用市场,我们将取证后报警(侵犯著作权罪)或起诉,这将对您所属公司造成刑事责任及法律诉讼,影响到您公司的商誉和投资。购买商业授权为您节省大量开发、测试和完善兼容性的时间,让您更多时间用于创新及盈利。罗盒科技已在 2020 年报警和起诉了一些个人及公司。

为响应国家对于知识产权的保护号召!凡举报自己所在公司或其他公司未经授权,违法使用 VirtualApp 代码开发产品的,一经核实给予现金奖励。我们会对举报人身份保密!举报联系微信:10890


商业版主要更新

  1. 兼容最新 Android 14.0
  2. 不易被杀毒软件误报
  3. 框架优化,性能大幅提升
  4. 手机系统及 APP 兼容性大幅提升
  5. 完美运行 Google 服务
  6. 支持运行纯 64 位 App
  7. 内置XPosed Hook框架
  8. 增加定位模拟代码
  9. 增加改机代码
  10. 其他 400+项问题的修复和改进,详情请见下表


2017 年 -2024 年商业版代码更新详细

2024 年 4 月 4 号 至 2024 年 4 月 19 号 商业版代码更新内容

513、修复 link&unlink 参数没有处理重定向的问题
512、修复 AutoFillManagerStub 未生效问题
511、适配高版本 ShadowJobService

2024 年 3 月 7 号 至 2024 年 4 月 2 号 商业版代码更新内容

510、修复数款游因为戏二次注册 provider 导致无法打开

2017 年 12 月 至 2024 年 3 月 5 日 商业版代码更新内容(下拉打开)
2024 年 2 月 19 号 至 2024 年 3 月 6 号 商业版代码更新内容 509、修通知跳转 Crash
508、AMS API 适配
507、DevicePolicyManager API 适配
506、BlueTooth API 适配
505、修复抖音 crash 问题
2024 年 1 月 25 号 至 2024 年 2 月 18 号 商业版代码更新内容 504、修复抖音在部分手机无法打开的问题
503、修复抖音在部分手机运行一小段时间后崩溃的问题
502、修复抖音在部分手机 crash 后一直打不开的问题
501、修复抖音极速版在部分手机无法打开的问题
500、修复抖音极速版在部分手机运行一小段时间后崩溃的问题
499、修复抖音极速版在部分手机 crash 后一直打不开的问题
498、UserManager 相关 API 适配
497、PackageManager 相关 API 适配
496、Notification 相关 API 适配
495、FingerprintManager 相关 API 适配
2024 年 1 月 5 号 至 2024 年 1 月 24 号 商业版代码更新内容 494、Activity Token 获取适配
493、适配最新版微信
2023 年 12 月 21 号 至 2024 年 1 月 4 号 商业版代码更新内容 492、适配 libc 可能没有 R 权限的情况
2023 年 12 月 5 号 至 2023 年 12 月 20 号 商业版代码更新内容 491、修复储存空间异常的问题
2023 年 10 月 24 号 至 2023 年 12 月 4 号 商业版代码更新内容 490、取消对 Xposed 依赖
489、适配最新版微信
488、适配 setCompatibilityVersion
487、取消 hookGetCallingUid 对 xposed 的依赖
486、蓝牙适配
485、AddToDisplayAsUser 处理
478、PendingIntent 适配
484、MediaRecorder 适配
483、处理 dispatchVolumeKeyEvent API
482、修复 AttributionSource cast crash
481、增加配置:是否优先使用外部 app
480、修复启动前台 service crash
479、修复 14.0 上 renameat 太短导致 hook 后覆盖其他函数的问题
2023 年 10 月 8 号 至 2023 年 10 月 23 号 商业版代码更新内容 478、修复 Annotation 依赖包为空的问题
477、修复抖音等 APP 由于动态框架导致无法打开 Activity 的问题
476、修复纯 Java APP 在 64 位下以 32 位模式安装的问题
475、修复了 13.0+上的 class linker 偏移检测问题
474、调整默认使用 isUseRealDataDir 模拟真实路径
473、JobServiceStub 适配
472、IO 重定向增加对 renameat2 的 hook
471、修复 APK 安装模式下某些 APP 拍照黑屏
470、修复 APK 安装模式下微信小程序无法使用的问题
2023 年 9 月 16 号 至 2023 年 10 月 7 号 商业版代码更新内容 469、移除已经废弃的虚拟定位代码
468、修复 WhatsApp 来电通知 bug
467、修复 GMS 相关问题
466、修复 WhatsApp 无法跳过短息验证界面问题
465、修复 WhatsApp 等部分 APP 启动后界面白屏问题
464、适配 Alarms 相关 API 2023 年 9 月 6 号 至 2023 年 9 月 15 号 商业版代码更新内容 463、14.0 上 JobScheduler API 适配
462、修复从 sdcard 上安装时 signature 可能获取的可能不是最旧的问题
461、LocaleManager 适配
2023 年 8 月 16 号 至 2023 年 9 月 5 号 商业版代码更新内容 460、14.0 上 JobScheduler 适配
459、修复 API broadcastIntentWithFeature
458、修复 WhatsApp 验证跳转的问题
457、内部 Provider 访问适配
2023 年 8 月 2 号 至 2023 年 8 月 15 号 商业版代码更新内容 456、修复 Twitter 白屏的问题
455、修复 ContentProvider 在 12.0+上的适配问题
454、修复微信在 nova9z 上崩溃的问题
453、修复微信等 APP 发送定位时黑屏的问题
452、编译 SDK 版本升级到 14.0
2023 年 7 月 13 号 至 2023 年 8 月 1 号 商业版代码更新内容 451、适配 12.0+上蓝牙相关的 10 来个 API
450、适配 UserManager 相关的 10 来个 API
2023 年 6 月 30 号 至 2023 年 7 月 12 号 商业版代码更新内容 449、修复 JobService unbind 崩溃问题
448、修复 JobService persisted 崩溃问题
2023 年 5 月 26 号 至 2023 年 6 月 29 号 商业版代码更新内容 447、修复部分 APP 无法录音的问题
446、修复从 Sdcard 安装 APK 失败的问题
445、更改 VA Demo 包名
2023 年 4 月 28 号 至 2023 年 5 月 25 号 商业版代码更新内容 444、适配 Android 14.0
2023 年 3 月 18 号 至 2023 年 4 月 27 号 商业版代码更新内容 443、修复 GMS 支持,修复各种 crash,权限等问题
442、修复 GooglePlay 无法打开的问题
441、修复 GooglePlay 无法登录 Google 账号的问题
440、修复 Youtube,WhatsApp 等 APP 无法登录 Google 账号的问题
439、修复 Facebook 无法打开的问题
2023 年 2 月 17 号 至 2023 年 3 月 17 号 商业版代码更新内容 438、修 setPictureInPictureParams crash
2023 年 1 月 27 号 至 2023 年 2 月 16 号 商业版代码更新内容 437、修复 mOpPackageName 空指针
436、修复 13.0 上 PackageManager 几个 flags 参数导致的 crash
435、修复 VAPP 返回主页的 Intent crash
434、TelecomManagerStub API 适配
2022 年 12 月 9 号 至 2023 年 1 月 26 号 商业版代码更新内容 433、修复 PendingIntent flag 处理问题
2022 年 11 月 9 号 至 2022 年 12 月 8 号 商业版代码更新内容 432、修复 Facebook 在某些情况下无法启动的问题
431、启动外部 App 时,排除对 VA 自身的判断
430、修复 queryIntentServices 过滤规则
2022 年 10 月 9 号 至 2022 年 11 月 8 号 商业版代码更新内容 429、修复当 VA_AUTHORITY_PREFIX 不等于包名时找不到 Provider 的问题:"Failed to find provider info ..."
428、getPermissionActivityIntent 处理
427、修复特殊情况下,检查权限无限弹窗
426、强调 Intent 使用外部通讯录(如果被第三方接管,建议使用外部可见)
425、新增几个 Java API 适配
424、修复修复部分后台 Activity 跳转问题
423、修复在 10.0+上后台 Activity 无法启动的问题
2022 年 8 月 20 号 至 2022 年 10 月 8 号 商业版代码更新内容 422、新功能:增加启动插件 Activity 代理,绕过后台 5s 限制
421、修复 Provider 在 10.0+上 crash 的问题
420、适配最新版微信
419、适配克隆时不显示 sdcard 上的 APK
418、适配 12.0+上 PendingIntent Flags 必须为 FLAG_UPDATE_CURRENT/FLAG_IMMUTABLE
417、修复 MediaProvider 因为 ACCESS_MEDIA_LOCATION 权限检查导致的 crash
416、修复 12.0+上 debug 模式下 hook 失败的问题
415、适配在 Multi User 账户下 crash 的问题
414、适配由于后台限制导致 VA Core 启动插件中 Activity 失败的问题
2022 年 7 月 27 号 至 2022 年 8 月 19 号 商业版代码更新内容 413、Android 13.0 继续适配
412、主版调整为 64bit
411、修复某些华为手机上 App 无法打开的问题
410、修复 OPPO 13.0 上无法打开应用的问题
409、修复百度语音 TTS 的调用问题
408、修复数据隔离后仍可以访问 sdcard 根目录的问题
407、修复鸿蒙手机上的崩溃问题
406、修复 Debug 模式下 Hook 失效问题
405、添加对 BinderInvocationStub 的混淆处理,避免混淆后崩溃问题
404、修复 Native 层调用 free 函数可能导致崩溃的问题
403、修复微信由于虚拟文件系统导致的崩溃问题
2022 年 7 月 9 号 至 2022 年 7 月 26 号 商业版代码更新内容 402、Android 13.0 适配
401、修复开启虚拟储存后文件路径的处理问题
400、修复 12.0 上 Notification 没有提示的问题
2022 年 4 月 28 号 至 2022 年 5 月 31 号 商业版代码更新内容 399、修复 onGetCallingUid hook 引起的崩溃问题
398、修复微信 8.0.22 启动崩溃的问题
2022 年 4 月 5 号 至 2022 年 4 月 27 号 商业版代码更新内容 397、去掉 sandhook 中一些多余的 hook 代码,避免某些 APP 无法启动
2022 年 3 月 13 号 至 2022 年 4 月 5 号 商业版代码更新内容 396、新增功能:在 VA 中实现内置 media provider,以支持媒体库隔离等需求
395、修复微信/QQ 使用语音时崩溃
394、蓝牙崩溃问题适配
393、增加部分 Log
392、删除一些无用代码
2022 年 1 月 22 号 至 2022 年 3 月 12 号 商业版代码更新内容 391、修复华为手机上 StorageManager 没有被 hook 的问题
390、修复最新版微信无法从 SD 卡启动的问题
389、PackageInfo 中增加对 requestedPermissionsFlags 字段的处理
388、新增 VSettingsProvider,避免内置应用没有权限操作 settings provider 导致异常
387、修复微信等 APP 启动黑屏,ANR 等问题
386、新增对 MediaProvider 的 hook
385、新增对插件 shareUserId 的处理,从而可以配置将插件的数据放到主包中
384、新增可以配置是否将 Tinker 禁用
383、修复 Android 12 权限处理适配
2021 年 12 月 30 号 至 2022 年 1 月 21 号 商业版代码更新内容 382、Sandhook 适配 12.0
381、修复 Sandhook 在部分 11.0 上不生效的问题
380、增加编译选项 VA_FULL_EXT 控制是否将 VA 源码编译到插件,满足加固场景。
2021 年 11 月 24 号 至 2021 年 12 月 29 号 商业版代码更新内容 379、Android 12.0 第一轮适配已完成
378、Demo App 在 11.0 上增加文件权限检测
377、修复静态广播接收者在独立进程无法接收广播的问题
376、修复微信第一次登录可能 crash 问题
375、修复部分 APP 无法显示头像问题
374、修复在部分 OPPO 手机上打不开问题
2021 年 9 月 21 号 至 2021 年 11 月 23 号 商业版代码更新内容 373、修复 WhatsApp 在 360 手机上黑屏问题
372、增加 VA 内外广播通信测试 demo
371、修复抖音极速版兼容性问题
370、修复 readlinkat 返回值精度
369、修复从外部安装 app,没有引用 org.apache.http.legacy 的问题
368、修复华为 Nova 5i, 64 位主包兼容性
367、修复 11.0 上外部存储重定向问题
366、修复 11.0 上 GMS 登录问题
365、修复 11.0 部分 APP 读写 sdcard 报错的问题
364、修复 va core 进程死亡后,APP 可能打不开的问题
363、增加未安装插件时无法启动的错误日志
2021 年 8 月 22 号 至 2021 年 9 月 20 号 商业版代码更新内容 362、横屏重新适配
361、修复部分 APP 通过 file 协议安装后无法打开的问题
360、修复传递给 JobIntentService 中 Intent 数据丢失问题
359、修复 JobIntentService 第二次调用无法工作的问题
358、修复华为手机上某些 APP 奔溃的问题
357、修复小米手机上游戏登录问题
356、修复某些应用加固后无法打开的问题
355、增加对关联启动权限检测
354、targetSdk 30 适配
353、修复 targetSdk 为 30 时,某些应用无法上网的问题
352、修复 targetSdk 为 30 时,sdcard 无法访问的问题
351、编译脚本中使用 cmake 替换 gradle task
350、移除过时文档
2021 年 8 月 7 号 至 2021 年 8 月 21 号 商业版代码更新内容 349、调整优化 gradle 脚本
348、hidedenApiBypass 支持 Android R+
347、targetSdk 30 支持
346、修复 VIVO 系统服务 bug
345、修复 VIVO 手机无法使用摄像头的 bug
344、修复 dex 加载异常状态的获取
343、修复 Android R 上 libart.so 路径问题
342、修复 Andoid Q+ 删除通知的 bug
341、修复 APN uri 的权限检查
340、修复 Android R 暂停恢复线程状态
339、修复 debug 模式下部分 hook 失效情况
338、修复 hook 在 R 之后的一些 bug
2021 年 4 月 25 号 至 2021 年 8 月 6 号 商业版代码更新内容 337、修复探探部分手机不能上传头像问题
336、修复 Android 10 华为设备 IO 重定向问题
335、调整横竖屏逻辑,减少异常情况发生
334、添加 Activity 生命周期的回调接口
333、修复 Android 12 的广播问题
332、修复微信部分界面状态异常的 BUG
331、修复 Outlook、One drive、Teams、Zoom 等海外 app 的支持
330、修复 Android 11 一个权限请求 BUG
329、修复部分 cocos2d 引擎只显示半屏的问题
328、修复微信在多用户下不能发送文件的问题
327、split apk 支持
326、Android S 支持
2021 年 2 月 24 号 至 2021 年 4 月 24 号 商业版代码更新内容 325、适配多用户环境
324、修复新版微信的兼容问题
323、兼容更多企业级加固
322、支持 VAPP 设置电源优化
321、修复缺失权限声明
320、修复 Android 11 上 android.test.base 库的引用
319、优化 ext 插件判断
318、优化安装时 ABI 的选择
317、修复 Google 文档在 Android 11 上崩溃的问题
2020 年 10 月 15 号 至 2021 年 2 月 23 号 商业版代码更新内容 316、解决新版爱加密、邦邦等加固的兼容性
315、修复 WhatsApp 不显示冷启动 Splash 的问题
314、优化对系统 app 的识别
313、完善多用户环境下的支持
312、解决 ext 插件部分情况下卡死的问题
311、支持 Google Play 在容器中下载 APP
310、修复 Android 11 QQ 无法显示图片的问题
309、兼容 Android 11 运行 Google Service
308、解决 Android 11 无法运行 chromium
307、支持 Hook @CriticalNative Method
306、修复 JDK 13 无法编译运行的问题
305、修复 Service 部分情况可能 crash 的问题
304、修复 Android 11 无法加载外部存储私有数据的问题
303、修复低版本 app 无法使用 org.apache.http.legacy 的问题
302、修复某些情况系统任务栈只显示最后一个的问题
301、完善不同平台的构建脚本
300、修复 Android 11 无法读取 obb 的问题
299、解决软件无法向后兼容的问题
298、重构 VApp 安装框架
297、重构 virtual 文件系统
296、修复某些情况下 WebView 无法启动的问题
295、修复 VApp 卸载重装的 BUG
294、修复 LOL 手游的登录异常问题
293、支持安装 Splits APK
292、支持动态配置主包环境
291、修复 32 位 QQ 调用 64 位微信卡顿的问题
290、修复 Messenger 调用 Facebook 崩溃的问题
289、优化对 Google 服务框架的支持
288、实现新的扩展包同步机制
287、修复 Android 11 正式版的异常问题
286、添加系统 Package 缓存,优化性能
285、修复 disabled 组件还能被 PMS 查询的 BUG
284、修复微信部分界面 Launch 行为异常的问题
283、修复 ContentProvider.getCallingPackage 返回 Host 包名的 BUG
282、修复 uid 虚拟化的 BUG,解决部分 app 权限检查失败的问题
281、重写 PendingIntent, IntentSender 的实现
280、优化进程管理,修复长期存在的概率性进程死锁问题
279、重写 Service 实现,Service 生命周期更准确,不容易被杀死
2020 年 9 月 13 号 至 2020 年 10 月 15 号 商业版代码更新内容 278、修复 64 位 App 无法调用 32 位 App 的问题
277、修复 Android R 加载 HttpClient 的问题
276、修复 Android R debug 模式下的崩溃问题
2020 年 8 月 23 号 至 2020 年 9 月 12 号 商业版代码更新内容 275、添加缺失的 service hook
274、修复百度翻译无法启动的问题
273、修复 GP 下载的 split app 无法启动的问题
2020 年 7 月 10 号 至 2020 年 8 月 22 号 商业版代码更新内容 272、修复 Service 创建
271、添加 NotificationService 缺失的 Hook
270、修复 Yotube 崩溃
2020 年 5 月 19 号 至 2020 年 7 月 9 号 商业版代码更新内容 269、初步适配 Android 11 beta1
268、修复小红书多开闪退的问题
267、修复某些 App 多开报“应用签名被篡改”的问题
2020 年 4 月 24 号 至 2020 年 5 月 18 号 商业版代码更新内容 266、修复 sh 调用错误
265、修复 9.0 以上最新版 Facebook 无法登陆的问题
264、帮助企业微信修复启动虚拟存储的情况下无法拍照的问题
263、修复某些情况下 64 位 app 打不开 Activity 的问题
2020 年 3 月 24 号 至 2020 年 4 月 23 号 商业版代码更新内容 262、修复 Vivo 设备提示安装游戏 SDK 的问题
261、修复 Android Q 无法加载部分系统 so 的问题
260、修复华为设备微博未响应
259、忽略不必要的权限检查造成的崩溃
258、修复 WPS 分享文件崩溃的问题
257、部分 10.0 设备的闪退问题
2020 年 3 月 7 号 至 2020 年 3 月 23 号 商业版代码更新内容 256、修复微信同时打开两个页面问题
255、修复微信登陆成功但是返回登陆页面的问题
254、修复最新版 QQ 无法下载附件的问题
253、更新 SandHook 版本
252、修复 9.0 以上安装未签名 Apk 问题
251、修复 10.0 的定位问题
2020 年 1 月 16 号 至 2020 年 3 月 6 号 商业版代码更新内容 250、调整 lib 重定向逻辑
249、修复三星 10.0 系统上的崩溃问题
248、修复 release build 的 hook 异常
247、增加 SandHook 的 proguard 规则
246、修复对部分 App 中 VirtualApk 的兼容问题
245、修复 VA 内部请求安装 apk 失败的问题
2019 年 12 月 26 号 至 2020 年 1 月 15 号 商业版代码更新内容 244、修复 Android Q 遗漏的 hook
243、禁用 Emui10 的 AutoFill
242、增加新 api 结束所有 activity
2019 年 12 月 15 号 至 2019 年 12 月 25 号 商业版代码更新内容 241、修复 Emui10 上企业微信等 App 无法启动的问题
240、修复在 4.x 可能导致的崩溃
239、升级 SandHook 修复对 Thread 类的 Hook
238、修复 Android Q 某些接口导致的权限问题
2019 年 11 月 20 号 至 2019 年 12 月 14 号 商业版代码更新内容 237、修复 Notification 缓存导致的崩溃
236、修复高版本 Notification 的 classloader 问题
2019 年 11 月 9 号 至 2019 年 11 月 19 号 商业版代码更新内容 235、修复 Android 5.x 的 ART Hook
234、修复 ART Hook 可能导致的死锁问题
2019 年 11 月 2 号 至 2019 年 11 月 8 号 商业版代码更新内容 233、修复 WPS, 网易邮箱等在 Q 设备上崩溃的问题
232、修复汤姆猫跑酷在部分 Q 设备上崩溃的问题
231、修复 QQ 在部分 Q 设备上崩溃的问题
2019 年 10 月 25 号 至 2019 年 11 月 1 号 商业版代码更新内容 230、修复克隆 Google Play 下载的 64 位 App
229、修复企业微信
228、修复 Telegram
2019 年 10 月 8 号 至 2019 年 10 月 24 号 商业版代码更新内容 227、修复 Android P 下 AppOspManager 的异常
226、添加 Android P 下 ActivityTaskManager 丢失的 Hook
225、修复 Android P 下 Activity Top Resume 异常
224、支持在系统多用户模式下运行!
2019 年 10 月 8 号 商业版代码更新内容 223、修复 Android P 以上内部 app 返回桌面异常的问题
222、64 位分支支持 Android Q
2019 年 9 月 20 号 至 2019 年 10 月 7 号 商业版代码更新内容 221、修复安装在扩展插件中的 apk 无法正确显示图标和名称的问题
220、修复 twitter 无法打开的问题
219、正式兼容 Android Q 正式版!
218、修复 Android Q 某些 Activity 无法再次打开的问题
217、初步适配 Android Q 正式版
216、修复数个 64 位分支的 Bug
215、新增加支持 32 位插件的 64 位分支,该分支支持 32 位旧设备并且 64 位设备在 32 位插件的情况下可以支持 32 位旧应用
2017 年 12 月 至 2019 年 7 月 30 日 商业版代码更新内容 214、改进 App 层提示信息
213、改进部分编码
212、修复从宿主向插件发送广播的方法
211、兼容最新版 gradle 插件
210、增加广播命名空间以避免多个使用 VA 技术的 App 互相干扰
209、修复 IMO 打不开的问题
208、修复部分 ContentProvider 找不到的问题
207、支持纯 32 位模式,以兼容老设备
206、初步支持纯 64 位模式,以应对 8 月份的谷歌市场的策略变化
205、适配到 Android Q beta4
204、修复了货拉拉无法安装的问题
203、优化了 64 位 apk 的判定逻辑
202、修复配置网络证书的 App 的联网
201、重构组件状态管理
200、优化 MIUI/EMUI ContentProvider 兼容性
199、修复 StorageStats Hook
198、修复快手无法登陆
197、修复 YY 无法启动,更好的兼容插件化框架
196、修复 Facebook 登陆
195、修复 Google Play 下载的 App 无法找到 so 的问题(皇室战争)
194、修复 split apk 支持
193、修复 Youtube 无法启动
192、修复优酷无法启动的问题
191、修复多开时 app 间可能存在广播 namespace 冲突的 BUG
190、采用新的策略绕过 Android P 以后的 Hidden Policy API
189、适配 Android Q(beta1)
188、修复华为设备部分 app 无法识别存储的问题
187、修复启动进程可能失败导致 app 无法运行的问题
186、修复 4.4 设备部分 native 符号无法找到的问题
185、修复部分设备 WebView 包名获取失败的问题
184、修复 Service 细节处理的问题
183、优化启动速度
182、修复 WebView 在少数机型加载失败的情况
181、修复 Lib 决策的问题
180、修复部分华为机型无法读取内存卡的问题
179、修复 Service 可能存在的问题
178、允许根据 intent 判断 Activity 是否在外部启动
177、修复部分机型上 Gms 和 Google Play 启动到了不正确的环境
176、修复新实现的 StaticBroadcast 导致的兼容性问题
175、修复 Android P 上无法使用 apache.http.legacy 的问题
174、实现 Native trace
173、优化 IO Redirect 性能
172、修复 wechat 部分时候出现网络无法连接的问题
171、修复小概率 process attach 不正确的 BUG
170、开始下一阶段的 ROADMAP
169、解决 Android P 无法注册超过 1000 个广播导致的问题
168、修复可能导致 ANR 的 DeadLock
167、修复部分 app 动态加载 so 失败的问题
166、修复免安装运行环境下部分机型第一次打开出现黑屏的问题
165、兼容适配多款主流的 Android 模拟器
164、优化启动性能
163、解决多个内存泄露问题
162、修复 IO Redirect 优先级的问题
161、修复 8.0 以下设备 Messenger 无网络连接的问题
160、修复双开时外部 app 卸载时内部 app 仍然保留的 BUG
159、修复部分腾讯加固无法运行的问题
158、修复 Instagram 无法登录 Facebook 的 BUG
157、修复进程小概率可能重复启动的 BUG
156、修复 GET_PERMISSIONS 没有获取权限的 BUG
155、修复 startActivityIntentSender 的 BUG
154、修复 vivo 设备部分 Activity 无法启动的问题
153、修复 app 无法调用外部 app 选择文件的问题
152、完善 Android P 的兼容
151、兼容 Android P 的 Google 服务
150、解决 Messenger 部分功能异常
149、完善 IO Redirect
148、大量适配 Gms, 修复 Gms 运行过程中进程无限重启的问题
147、重新实现 Service 的运行机制
146、完善 64bit,提供了部分 ROM 配置 64bit Engine 权限的 API
145、修复了 4.4 设备上的 Activity 启动问题
144、支持 excludeFromRecent 属性
143、修复 Instagram 无法 Facebook 登录的问题
142、修复 Facebook 第一次登录闪退的问题
141、支持以 64 位模式运行 Gms、Google play、Play game
140、支持在双开/免安装运行的 Google play 中下载和安装 app
139、修复 DownloadManager 的 BUG
138、修复 Google play 返回上层时重启界面的 BUG
137、修复免安装模式下 so 决策问题
136、优化构建脚本,便于引入项目
135、修复移动 MM SDK 无法启动的问题
134、修复微信摇一摇的 BUG
133、修复中兴设备不稳定的 BUG
132、支持 ARM64 下的 IO Redirect
131、修复 USE_OUTSIDE 模式下外部 app 更新时,内部 app 没有更新的 BUG
130、兼容最新 Android 9.0(代号: pie) 及正式版之前发布的四个 Preview 版本
129、兼容内置 houdini 的 x86 设备
128、WindowPreview 技术,使 app 启动与真实 app 达到一样的速度
127、新的 ActivityStack 以提高 app 运行质量
126、解决接入 Atlas Framework 的 app 运行异常的问题
125、现在可以定义虚拟 app 返回桌面的具体行为
124、现在双开模式下 app 随系统动态更新,不需要手动检查
123、支持 targetSdkVersion >= 26 时仍可正常运行低版本的 app
122、兼容腾讯游戏管家的 QDroid 虚拟引擎 (beta)
121、大量重构底层代码,大幅提升运行速度
120、修复网易新闻分享到微博后无法取消的问题
119、修复 App 自定义权限无法识别的问题
118、修复墨迹天气 app 无法启动的问题
117、修复部分政府 app 无法启动的问题
116、API 的变动详见代码
115、修复三星系列应用的相互调用问题
114、修复小米应用在非小米系统的账号问题
113、修复分享/发送等第三方调用,返回页面不正常
112、修复应用宝提示不能安装
111、调用第三方 app,对 uri 进行加密
110、适配前刘海
109、适配小米 rom 的 hook
108、适配努比亚录音问题
107、内部悬浮窗权限控制
106、优化自定义通知栏的处理
105、修复 Context 的 INCLUDE_CODE 权限问题
104、适配华为,oppo 的角标
103、修复百度视频的进程重启问题
102、修复某些 snapchat 的无法启动问题
101、适配 autofill 服务,例如 piexl 系列
100、完善 64 位的 io hook
99、优化 hook 库的兼容性,加回 dlopen
98、64 位扩展包的 so 移到 32 位主包。(jni 代码改动后,在 Run 之前,请先 build 一次)
97、通知栏改动:适配 8.1 的通知渠道;移除应用时,移除应用的全部通知
96、兼容部分 app,需要设置 android:largeHeap=true
95、修复 ffmpeg 库的视频无法播放问题
94、优化横竖屏切换
93、降低通过 Intent.ACTION_VIEW 调用外部 Activity 限制。
92、兼容 MG SDK
91、64 位支持还在开发阶段
90、更新混淆配置 app/proguard-rules.pro,必须加规则-dontshrink
89、优化模拟机型,例如:模拟后,某些 app 不出现设备验证
88、提高 dex2oat 兼容性
87、优化模拟定位
86、移除 dlopen
85、targetVersion 可以改为 26:支持 targetVersion<23 的 app 动态权限申请,支持 targetVersion<24 的文件 Uri
84、installPackage 改为默认异步形式
83、为了支持 64 位模式,换回 aidl
82、去掉 SettingHandler 现在可以动态设置特殊规则,规则会存储,不需要重复设置
81、增加 2 个 native_setup
80、提高 jobService 兼容性
79、ShortcutService 相关:关联 VASettings.ENABLE_INNER_SHORTCUT
78、为了稳定性和运行效率,去掉上个版本的蓝牙,wifi,不声明权限的适配。
77、增加 app 启动异常的广播 Constants.ACTION_PROCESS_ERROR
76、修复少数游戏横屏判断问题
75、demo 增加机型模拟
74、适配 vivo 一个自定义权限(后台弹窗)VA 是把一个历史 acitivty 返回前台,vivo 需要这个权限。
73、如果没有蓝牙权限,返回默认值(海外用)
72、修复 uid 权限检查问题
71、安全性更新,内部应用的文件权限控制
70、提高内部 app 调用的兼容性,第三方登录,分享
69、自动过滤没权限的外部 ContentProvider
68、增加功能:内部 app 的权限检查(默认关闭)
67、机型模拟:Build 类和 build.prop
66、提高对乐固加固的 app 兼容性
65、适配三星 wifimanager
64、修复 ipc 框架一个参数传递问题(IPCMethod 这个类必须更新)
63、补全 7.0 通知栏的 hook
62、修正 8.0 动态快捷菜单的 hook
61、SettingHandler 新增一个适配接口,主要适配各种游戏
60、功能改动:google 自动安装改为手动安装,避免第一次启动时间过久
59、可以禁止访问外部某个 ContentProvider
58、适配华为桌面图标数量
57、权限分类注释,标注可删除权限。
56、增加双开模式的 app 跟随外部升级的开关。
55、提高 app 的 jni 兼容性。
54、提高对 app 集成其他插件框架的兼容性。
53、增加设置接口,根据包名进行设置。
52、增加 Uri 的适配范围,支持通过 Uri 分享和查看文件。
51、修复一个在三星 8.0 的问题。
50、提高对系统自带的 app 组件兼容性,更好兼容 chrome webview,google service。
49、提高 ART 稳定性
48、增加相机适配范围
47、支持内部 App 在 8.0 下的快捷方式管理
46、修复 exec 异常
45、提高稳定性(修复微信登录闪退)
44、解决微信数据库崩溃问题
43、修复部分 4.4 设备崩溃问题
42、修复后台应用易被杀死,土豆视频黑屏,新浪微博无法打开,优酷两次返回无法退出。
41、增加应用的保活机制,双开 APP 更不易被杀死。
40、优化虚拟引擎启动性能。
39、兼容了大部分的加固,第三方 APP 兼容性对比上一版提升 40%+。
38、修复某些 rom 下,快捷方式图标不正确
37、兼容以前组件 StubFileProvider
36、适配部分新 ROM 的虚拟 IMEI
35、改善进程初始化代码,增加稳定性
34、添加内部发送 Intent.ACTION_BOOT_COMPLETED 的广播,可以设置开关
33、适配关联 google play 游戏,支持游戏使用 google 登录
32、适配 android O 的 google service 框架
31、适配 android O 快捷方式
30、适配耳机模式
29、某些 rom 对 intent 的大小限制,demo 添加缩放快捷方式图标代码
28、修复多开情况下一个 bug
27、修复某些情况下 MediaController 的 bug
26、修复 4.1.2 的 StubFileProvider 报错
25、分享的 uri 处理
24、修复跨 app 调用 Activity 的回调
23、前台服务的通知栏拦截开关
22、附带 doc
21、完善 VA 内部的 intent 的 CHOOSE 回调
20、Android O 的通知栏适配 2
19、ipc 框架优化, 提高判断 binder 的存活准确性
18、jni 的 log 开关 Android.mk:LOCAL_CFLAGS += -DLOG_ENABLE
17、混淆配置
16、Android O 的通知栏适配
15、修复部分 app 网络卡的问题
14、适配 android 8.0 的 dl_open(jni 加载)
13、修复华为 emui8.0 的一个 bug
12、完善定位
11、设置手机信息,imei 伪装算法
10、适配 8.0 某个功能(主要 app:whatsapp)
9、修复内部微信等应用,无法更新图片,视频
8、demo 增加安装监听,自动升级克隆模式的应用
7、7.0 的 file provider 适配
6、增加了定位代码
5、代码进行了架构优化
4、与开源版不同的特征
3、解决了微信被封的一些问题
2、修复了部分机型兼容性
1、修复了 12 个小 BUG
Apps
About Me
GitHub: Trinea
Facebook: Dev Tools