选择预设
预设是初始配置。选择预设后,请检查所选混淆器版本实际生效的选项。
观看
Which Obfuscator.io Preset Should I Use? VM Low vs Default vs High
在 8.0.0 及更高版本中,建议以 VM Default 作为生产配置的起点。VM Low 关闭了 VM Self Defending 和 VM Debug Protection,适合初步评估。其他 VM 预设会启用这两项防御。在 Free 套餐中,控制台只提供 VM Low;其他 VM 预设及其 VM 选项需要付费套餐。
VM(8.0.0 及更高版本)
| optionsPreset | 主要变化 |
|---|---|
vm-low-obfuscation | VM Low 使用较少的 VM 防御,并且不启用 stringArray 和 vmBytecodeArrayEncoding。请用它来评估 VM 混淆,而不要把它作为测试构建的基础。 |
vm-default | VM Default 结合 VM 保护、String Array 保护和高级防护,适合作为生产配置的起点。 |
vm-high-obfuscation | VM High 增加 Stateful Opcodes、Stack Encoding 和 Compact Dispatcher。请在自己的代码上测量成本。 |
vm-ultra-high-obfuscation | VM Ultra High 保留 Stateful Opcodes 和 Stack Encoding,但不包含 Compact Dispatcher,并增加 Control Flow Flattening 及额外的基础变换。这会显著降低运行时性能。 |
在 8.0.0 及更高版本中,vm-anti-llm(VM Anti-LLM)和 vm-medium-obfuscation(VM Medium)生成的选项与 vm-default 相同,不再作为控制台中的独立选项。旧版本可能仍单独显示它们。
基础混淆
| optionsPreset | selfDefending | debugProtection | disableConsoleOutput |
|---|---|---|---|
default | false | false | false |
low-obfuscation | true | false | true |
medium-obfuscation | true | false | true |
high-obfuscation | true | true | true |
更重的预设可能增加输出体积和执行时间。请测量自己代码的启动时间、热点路径及压缩后的包大小,而不要依赖固定的性能下降倍数。 要保护选定的函数,请参阅针对特定函数。
通过 API 构建时,请从预设端点获取与您的混淆器版本对应的内置预设选项,并将其作为 options 发送(参见 API 参考)。
自定义预设
内置预设只是起点。只要您在某个内置预设的基础上做了调整,就把结果保存下来,而不是下次再重新配置:在选项面板顶部的预设库中选择新建预设。预设会把此刻的每个选项连同您起的名称和可选描述一起保存;它不保存混淆器版本,因此构建时所选的版本才会生效。您保存的预设列在自定义下。自定义预设在 Pro 及以上套餐中可用,每个账号最多 20 个。
点击预设卡片,即可将其应用到选项面板。一旦您更改了某个选项,已应用的预设就会被标记为已编辑:撤销更改会恢复它的选项;对于您自己的预设,更新预设会把更改保存到该预设中。在其他预设覆盖未保存的更改之前,系统会先请您确认。编辑、复制和删除都在预设的菜单里。常见的做法是准备一个生产预设,再准备它的一个测试变体,加入测试与 CI中的覆盖项,这样两个构建运行的是相同的转换。
保存对话框中还有两个字段,可以让预设走出您自己的控制台:
- 共享给我的团队会把它发布给您的团队,并且它还可以成为团队默认预设。只有团队所有者才能看到这个开关。参见共享预设。
