ASAR解包脚本
脚本Electron ASAR归档文件解包工具
该工具为脚本程序,源代码如下:
extract.js
const asar = require("asar");
const fs = require("fs");
const path = require("path");
const asarPath = path.join(__dirname, "app.asar");
const outDir = path.join(__dirname, "extracted_app");
if (fs.existsSync(outDir)) {
fs.rmSync(outDir, { recursive: true, force: true });
}
const allEntries = asar.listPackage(asarPath);
let count = 0;
let skipped = 0;
for (const entry of allEntries) {
// Strip leading slash/backslash for extractFile
const relPath = entry.replace(/^[/\\]+/, "");
try {
const data = asar.extractFile(asarPath, relPath);
const localPath = path.join(outDir, relPath);
fs.mkdirSync(path.dirname(localPath), { recursive: true });
fs.writeFileSync(localPath, data);
count++;
} catch (e) {
skipped++;
}
}
console.log("Extracted", count, "files, skipped", skipped, "entries");
console.log("Output:", outDir);