Skip to content

Releases: taisuii/VectorTai

VectorTai v2.3

Choose a tag to compare

@taisuii taisuii released this 01 Jul 08:52

VectorTai v2.3 — 行为特征去除(第一批,低风险高性价比)。

变更

  • 匿名可执行内存伪装:Dobby 的 trampoline 可执行内存用 PR_SET_VMA_ANON_NAME 命名为 dalvik-jit-code-cache,在 /proc/pid/maps 里与 ART 自带 JIT 缓存同名,规避「anonymous executable memory」检测(补丁 patches/dobby-anon-vma-name.patch)。
  • 去残留串:注入的 dummy 超类 xposed.dummy.* -> com.android.bridge.res.*(此前漏掉的字符串特征)。

仍未处理(更深、需真机验证且有风险)

  • ClassLoader 数量(≥9 判注入):需合并/摘链 class_loaders_,风险较高。
  • libart.so 脏页:LSPlant inline-hook FixupStaticTrampolines/ShouldUseInterpreterEntrypoint 打脏 .text,属 inline hook 固有代价,减到零很难。

本版针对上述检测中的「匿名可执行内存」一项,请在真机跑一遍检测确认是否变绿。
名字类特征(Class.forName)此前已通过。

资产: 模块 zip + legacy-api(com.android.bridge.) + modern-api(dev.android.runtime.api.) AAR。

VectorTai v2.2

Choose a tag to compare

@taisuii taisuii released this 01 Jul 07:14

VectorTai v2.2 — 传统 API 类名对齐 taisuii/LSPlantTai,模块可 1:1 迁移。

变更

传统 API 全面改名为中性的 com.android.bridge.*(与 LSPlantTai 一致):

  • XposedBridge->TsBridge, XposedHelpers->TsHelpers, XC_MethodHook->TsMethodHook,
    XC_MethodReplacement->TsMethodReplacement, XSharedPreferences->TsSharedPreferences,
    XC_LoadPackage->TsLoadPackage, XCallback->BridgeCallback, IXUnhook->IUnhook,
    IXposedHookLoadPackage->ILoadPackageHook, IXposedMod->IModuleHook,
    IXposedHookZygoteInit->IZygoteInitHook, XposedInit->BridgeInit
  • 嵌套类 MethodHookParam/LoadPackageParam 与方法签名不变(迁移零成本)

资产

  • VectorTai-v2.2-3043-Release.zip — Zygisk 模块
  • VectorTai-legacy-api-v2.2.aar — 传统开发包 com.android.bridge.*(Ts 系)
  • VectorTai-modern-api-v2.2.aar — 现代开发包 dev.android.runtime.api.*

对接见 docs/MODULE_API.md。
验证: core.dex/daemon.apk/legacy AAR 中 Xposed/XC_/robv/dev.android.runtime.ext = 0。

残留(未处理): 现代 dev.android.runtime.api.* 类名、libxposed service AIDL IXposedService 仍含 Xposed 字样。

VectorTai v2.1

Choose a tag to compare

@taisuii taisuii released this 01 Jul 04:34

VectorTai v2.1 — full Xposed-API de-fingerprint + developer API packages.

在 v2.0(框架去特征)基础上,本版把 Xposed API 本身也换掉,并附带开发者 API 包。

命名空间映射(伪装成普通 runtime 库)

  • de.robv.android.xposed -> dev.android.runtime.ext
  • io.github.libxposed.api -> dev.android.runtime.api
  • io.github.libxposed.service -> dev.android.runtime.service

模块识别契约(也已去特征)

  • meta-data xposedminversion -> rt.min.version;xposedscope -> rt.scope;xposedsharedprefs -> rt.shared.prefs
  • 传统模块入口清单 assets/xposed_init -> assets/rt_init

资产

  • VectorTai-v2.1-3043-Release.zip — Zygisk 模块(Magisk/KernelSU 刷入)
  • VectorTai-legacy-api-v2.1.aar — 传统 API 开发包(dev.android.runtime.ext.*:XposedBridge/XposedHelpers/XC_MethodHook…)
  • VectorTai-modern-api-v2.1.aar — 现代 API 开发包(dev.android.runtime.api.*)

开发者用法(简)

  1. 模块工程 compileOnly 上面对应 AAR。
  2. 代码用 dev.android.runtime.ext.* / dev.android.runtime.api.* 替代原 Xposed/libxposed 包。
  3. AndroidManifest 声明 rt.min.version meta-data(取代 xposedminversion);传统模块入口写在 assets/rt_init。

验证(本版产物已扫描)

core.dex / daemon.apk / 两个 AAR 中旧特征串(robv/libxposed/xposedminversion)= 0。

⚠️ 破坏性:与标准 Xposed 模块不兼容(它们用 de.robv/libxposed)——这是去特征的代价,需用新 API 重新编译模块。
从源码复现:git submodule update --init 后运行 python3 rename_api.py 再构建(libxposed 子模块的改名由该脚本复现)。
残留:manager 包名 org.lsposed.manager、内部 org.lsposed.lspd service 未在本版处理。

VectorTai v2.0

Choose a tag to compare

@taisuii taisuii released this 01 Jul 03:39

VectorTai —— JingMatrix/Vector(基于 LSPosed 的 Zygisk ART hook 框架)的去特征 fork。
作者/维护: 太岁又沐风 (github.com/taisuii)。版本号对齐上游 v2.0。

进程信息

  • Zygisk 模块注入 zygote/app_process,模块 id system_resd
  • 独立 daemon 进程(unshare 私有挂载命名空间启动)
  • 寄生管理器:借宿主 com.android.shell 的 BugreportWarningActivity 启动管理 UI

抹掉/随机化的特征

  • LSPlant hooker 类前缀 / 源文件名 每进程运行时随机(去掉固定 Vector_ / Dobby)
  • 模块/磁盘标识中性化:system_resd、/data/adb/.resd、core.dex、libdexopt*.so
  • 自定义 SELinux 类型 xposed_file/xposed_data → resd_file/resd_data
  • dex2oat 注入用 memfd 伪装成 ART 的 jit-cache
  • module.prop 去除 Xposed/LSPosed 字样与上游 updateJson
  • release 包默认开启运行时 DEX 类名混淆(勿用 debug 包)

构建: WSL + JDK21 + NDK 29.0.13113456 + CMake 3.31.6,4 ABI。
安装: Magisk/KernelSU 作为 Zygisk 模块刷入并重启。