后包装/ 核心
后面的发动机 在 Pack 之后, JavaScript 调试器它在节点运行,取出JavaScript并返回被混淆的JavaScript,这样您就可以在任意构建中保护自己的JavaScript源代码.
大多数人想要CLI(npx afterpack)或框架插件取而代之。 开始于 快速启动 或 CLI 参考。在撰写自己的构建步骤或工具时使用此软件包.
安装
npm install @afterpack/core
需要节点18或以后。 用于您平台的预建二进制 .
使用量
import { obfuscate, obfuscateAll, version } from "@afterpack/core";
const result = await obfuscate('console.log("hello")', { preset: "hard" });
result.code; // the obfuscated source
result.bytes; // the same output as bytes, ready to write
// Several files at once. Results come back in input order.
const results = await obfuscateAll([
{ path: "dist/app.js", source: appSource },
{ path: "dist/vendor.js", source: vendorSource, sourceMap: vendorMap },
]);
await version(); // "0.1.0"
obfuscate 接受字符串, a Uint8Array,或文件对象 { path, source, sourceMap, sourceType }时 sourceMap 是文件的现有映射到链条和 sourceType (单位:千美元)"auto", (中文(简体) ), "module" 或者说 "script") 覆盖该文件的构建。 每个结果都有 code, (中文(简体) ), bytes, (中文(简体) ), sourceMap 财务报告和审定财务报表 diagnostics。 。 。 .
第二个论点是配置: preset, (中文(简体) ), complexity, (中文(简体) ), sourceMap, (中文(简体) ), identifiers, (中文(简体) ), strings 还有更多 未知的密钥被拒绝, 因此一个打字器会响亮失败 。 见 配置参考。 。 。 .
包入 AfterPack 的工具可以在可选的第三个参数中给云命名, obfuscate(source, config, { client: "my-tool/1.0.0" })。它永远不会改变输出.
错误
如果一个建筑不能安全地起航,呼叫就会发出. 包括一个无效的配置,一个被阻断的诊断, 或输出会去无防护。 错误带有引擎的诊断:
import { obfuscate, ObfuscationError } from "@afterpack/core";
try {
await obfuscate(source);
} catch (err) {
if (err instanceof ObfuscationError) console.error(err.diagnostics);
throw err;
}
赞成
没有钥匙,所有的自由运行 在你的机器上, 每一个预设, 没有账户和网络呼叫。 设置您的 Pro 密钥于 AFTERPACK_KEY 环境变量,或通过 key 在配置(它胜过变量)中,同一调用在AfterPack的云中运行了构建。 Pro通过每个文件添加每个区域的方向 指令,存储每个建筑的 保护地图,并在 仪表板。它还提供了两个选入加固设置, transforms.selfIntegrity 财务报告和审定财务报表 transforms.comparisonHardening,两者默认关闭(细节) (中文(简体) ). 它不会使任何转变更强大。 更多信息 在Pack Pro之后 或见 定价。 。 。 .
为什么现在这很重要: AI 代理解析 JavaScript 老工具保护。 看看"后页" 比起Javascript-obfuscator和杰斯克兰布勒。 。 。 .
平台
- macOS: arm64 (苹果硅), x64
- Linux (glibc): x64, arm64 (英语)
- 视窗: x64
Alpine等基于musl的Linux还没有本土二进制:使用基于glibc的图像. 在那些宿主上,无论哪个地方,一个本地人都无法装载(如云旗工人), @afterpack/wasm 运行相同 obfuscate API (英语).
许可证
任何用途都可以免费,包括商业和CI,没有限制,输出是你的. 你不能自行再分配二进制,在二进制上制造出相竞争的模糊产品或服务,或者逆向工程师. 见 Pack 引擎许可后。 。 。 .