AfterPack 快速上手:几分钟内混淆一次构建

选择你的框架,安装一个开发依赖,执行构建,然后打开 Protection Map。

用编码智能体开始粘贴到 Claude Code、Codex、Cursor 或 Copilot

选择你的框架

默认构建会做什么

  • light 预设:复杂度为 5。字符串字面量会被编码,标识符会被重命名,语法会被重写,不添加任何结构层。当项目需要更强的保护时再提高预设;参见预设。
  • 每次构建使用一个新的随机种子,因此同一份源代码的两次构建在结构上互不相同。只构建一次,并将同一份字节提升到各个环境;只有在需要可复现输出时才固定 seed: "git"。
  • **开发构建不受影响。**插件只作用于生产构建。
  • **失败即中止。**引擎无法混淆的文件会让构建失败,并报出该文件的名称。参见退出码。

若要保留插件但在某一次运行中跳过引擎,将 build.autorun 设为 false。

检查结果

Protection Map 是你的原始源代码,按每个词元经历了多少变换着色。在 CI 之外,当打包工具输出了 source map 时,它会被写入 .afterpack/protectionMap.html;每篇框架指南都说明了如何开启。这份报告包含你的完整源代码。切勿提交或对外提供它。.afterpack/ 自带一个 .gitignore,因此 git 会忽略它。

entitlements.jslight · complexity 5Open full size
entitlements.js, 54 lines, built at the light preset with a directive around the signature check. Click any token to see what was applied to it.

打开在线演示报告,在第一次构建之前先看看它的样子。

对特定代码施加更强的保护

全局混淆覆盖整个 bundle。要对某一区域加强保护,或让某一区域保持原样,用指令标记它:

/* @afterpack preset=hard */
function checkLicense(token: string) {
  return verify(token);
}
/* @afterpack end */

const apiKey = /* @afterpack preset=extreme */ "YOUR_SECRET";

指令在 Pro 构建上生效;指令一页是语法以及所有可设置键的参考。

下一步