Releases: taisuii/VectorTai
Release list
VectorTai v2.3
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
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 AIDLIXposedService仍含 Xposed 字样。
VectorTai v2.1
VectorTai v2.1 — full Xposed-API de-fingerprint + developer API packages.
在 v2.0(框架去特征)基础上,本版把 Xposed API 本身也换掉,并附带开发者 API 包。
命名空间映射(伪装成普通 runtime 库)
de.robv.android.xposed->dev.android.runtime.extio.github.libxposed.api->dev.android.runtime.apiio.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.*)
开发者用法(简)
- 模块工程
compileOnly上面对应 AAR。 - 代码用
dev.android.runtime.ext.*/dev.android.runtime.api.*替代原 Xposed/libxposed 包。 - AndroidManifest 声明
rt.min.versionmeta-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.lspdservice 未在本版处理。
VectorTai v2.0
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 模块刷入并重启。