属性
标题前带有 *
的为必须项
*input
您需要混淆的 JAR 包路径
可以为相对路径或绝对路径
yaml
# 相对路径
input: .\input\xxxx.jar
---
# 绝对路径
input: D:\abcd\hellworld\xxx.jar
*output
您保存混淆后的 JAR 包路径
可以为相对路径或绝对路径
yaml
# 相对路径
output: .\output\xxxx.jar
---
# 绝对路径
output: D:\abcd\hellworld-out\xxx.jar
注意
保存的 JAR 包路径的父目录必须是存在的目录,否则会抛出异常。
minimum_generated_name_length
yaml
# 字典最短长度
# 例如:
# minimum_generated_name_length: 10
# 则生成
# IIIIIIIIII
# IIIIIIIIIl
minimum_generated_name_length: 1
dictionary
重命名器所使用的字典
如出现编码问题可以尝试将配置文件以 GBK
编码保存。
yaml
# 最基本的字典
dictionary: abcdefghijklmnopqrstuvwxyz
---
# 当然你还可以用多个字符当作一个块
dictionary:
- foo
- boo
- poo
当然,幻影盾X还包含了两种预设字典:
yaml
# 空白字符字典
dictionary: spaces
---
# Java 关键字字典
dictionary: keywords
creation_date
Class 文件输出日期
yaml
# 输出 Class 的创建时间会被设定为此日期
creation_date: 2024.2.5 12:00:00
random_seed
随机种子
yaml
# 64bit 整数
# 幻影盾会用到此数值用于 重命名 与 成员顺序 打乱
random_seed: 123456789
generate_phantom_classes
生成幻影类
自动推导缺失的继承依赖关系。
print_classes_as_directory
将类文件输出为文件夹。
legacy_compile_mode
使用标准 GCC 参数运行编译器以替代构建工具。
input_mappings_file
输入的映射文件
该文件由 Renamer
输出
如果您提供了该参数,重命名器会尝试读取该映射文件,并尝试执行增量混淆。
可以为相对路径或绝对路径
yaml
input_mappings_file: .\mappings.txt
cpp_compiler
指定 Native Obfuscation
的编译器
您可以手动指定 MinGW 或其他编译器
注意
目前我们仅支持 GCC 选项兼容的编译器。
可以为相对路径或绝对路径
yaml
cpp_compiler: .\mingw-w64\g++.exe
cpp_compiler_arguments
指定编译器参数
yaml
# 指定 GCC 编译选项
cpp_compiler_arguments: -Wl,-headerpad_max_install_names
cpp_compiler_output
输出名称,如果你指定了编译器,将会使用该选项所指定的名称
默认值为 x64-windows.dll
yaml
cpp_compiler_output: x64-linux.dll
cpp_compiler_is_aarch64
编译器输出的 CPU 架构是否是 arm64 指令集的
yaml
cpp_compiler_is_aarch64: true
targets
如果你未指定编译器,则默认下载使用 zig
来交叉编译动态链接库
该选项指定 zig
所编译的目标平台。
yaml
targets:
- x86_64-windows.win7-gnu
- x86_64-linux-gnu
- aarch64-macos
注意
尽管可以并行编译,但编者仍然推荐单个构建应该只编译一个对应平台的动态链接库。
libraries
依赖库
出于安全性与兼容性的考虑,您必须将您的运行时依赖库加入 幻影盾X
的依赖库选项中,以帮助幻影盾构建完整无误的继承关系。
yaml
libraries:
# 您必须把 Java Runtime Environment 也添加至幻影盾
- C:\Program Files\Eclipse Adoptium\jdk-8.0.392.8-hotspot\jre\lib
# 您可以指定目录,当然也可以指定单个文件
- D:\Program Files\Eclipse Adoptium\jdk-8.0.392.8-hotspot\jre\lib\rt.jar
# 在 Java 9+ 中,您应该引入 Java Development Kit 的 jmods 文件夹
- C:\Program Files\Eclipse Adoptium\jdk-21.0.1.12-hotspot\jmods
filters
全局过滤器