Skip to content

基础配置

为不同的应用配置不同的伪装机型与系统属性。配置文件使用 TOML 格式。

配置文件路径

/data/adb/device_faker/config/config.toml

配置为热加载:模块在每次应用启动时重新读取配置文件。修改配置后只需重启目标应用,无需重启系统

  • 配置文件缺失或解析失败时,该应用跳过伪装并卸载模块,不影响其他应用
  • 未出现在任何配置中的应用不做任何伪装

全局设置

toml
debug = false                        # 调试日志(默认关闭)
default_force_denylist_unmount = false
default_cpu_spoof = "kirin_9030pro"  # 模板/应用未指定 cpu_spoof 时的兜底预设
  • debug:启用后输出 Info 级别日志(关闭时仅 Error),写入 /data/adb/device_faker/logs/device_faker.log;正常使用建议保持关闭,以免留下不必要的运行痕迹
  • default_force_denylist_unmount:为目标应用启用 Zygisk 的 FORCE_DENYLIST_UNMOUNT,可在模板/应用里用 force_denylist_unmount 覆盖
  • default_cpu_spoof:CPU 伪装预设名,模板/应用未指定 cpu_spoof 时回落到该预设

cpu_presets

[cpu_presets] 定义命名预设,值为完整的 /proc/cpuinfo 内容(TOML 多行字符串,示例省略了中间行):

toml
[cpu_presets]
kirin_9030pro = """Processor       : AArch64 Processor rev 0 (aarch64)
Features        : fp asimd evtstrm aes pmull sha1 sha2 crc32
...
Hardware        : HiSilicon Kirin 9030 Pro"""

在模板或 [[apps]] 中用 cpu_spoof = "预设名" 引用。详见 CPU 伪装

编辑配置

多用户支持

支持在包名后追加 @userId 来只对指定用户生效。

  • userId 对应路径 /data/user/<userId>/... 中的数字(例如 0999
  • 匹配优先级:先匹配 com.example.app@userId,找不到再回退匹配 com.example.app
  • 该写法同时适用于 apps 里的 package 和模板的 packages 列表

方式一:机型模板

在模板中定义 packages 列表,自动应用到所有包名:

toml
[templates.redmagic_9_pro]
packages = [
    "com.mobilelegends.mi",
  # 仅对 userId=999 生效
  # "com.mobilelegends.mi@999",
    "com.supercell.brawlstars",
]
manufacturer = "ZTE"
brand = "nubia"
model = "NX769J"
device = "REDMAGIC 9 Pro"
fingerprint = "nubia/NX769J/NX769J:14/UKQ1.230917.001/20240813.173312:user/release-keys"
build_id = "UKQ1.230917.001"

# 无需写 [[apps]],所有包名自动使用该模板

优点

  • 集中管理机型和包名
  • 无需重复写 [[apps]]
  • 一目了然地看到哪些应用使用哪个模板

方式二:直接配置

使用 [[apps]] 为单个应用指定设备信息:

toml
[[apps]]
package = "com.omarea.vtools"
manufacturer = "Xiaomi"
brand = "Xiaomi"
model = "2509FPN0BC"
device = "Xiaomi 15 Pro"
product = "popsicle"
name = "popsicle"

注意package 是唯一必填字段,缺失会导致整个配置解析失败。

优先级

[[apps]] 直接配置 > 模板 packages 列表 > 全局默认值
  • [[apps]] 是整记录匹配:一旦包名命中 [[apps]],该条记录整体取代模板——记录中未设置的字段不会回落模板,只套用全局默认值
  • 未命中 [[apps]] 时,在模板的 packages 列表中查找
  • 最终套用全局默认值:force_denylist_unmountdefault_force_denylist_unmount,CPU 预设 ← default_cpu_spoof
  • 未匹配任何配置的应用:不做伪装并卸载模块

覆盖模板示例

toml
[templates.redmagic_9_pro]
packages = ["com.mobilelegends.mi"]  # 默认使用这个模板
manufacturer = "ZTE"
brand = "nubia"

[[apps]]
package = "com.mobilelegends.mi"  # 命中后整记录取代模板
manufacturer = "Samsung"
# 模板中设置了但这里未写的字段(如 brand)不会生效

下一步

基于 GPL-3.0 许可证发布。