"use strict";
|
|
const fs = require("fs");
|
const { deobfuscate } = require("../lib/obfuscate");
|
|
function decode(text) {
|
return text.replace(/\[OBF\][A-Za-z0-9+/=]+/g, (match) => {
|
return deobfuscate(match);
|
});
|
}
|
|
function decodeStdin() {
|
const chunks = [];
|
process.stdin.setEncoding("utf-8");
|
process.stdin.on("data", (chunk) => chunks.push(chunk));
|
process.stdin.on("end", () => {
|
process.stdout.write(decode(chunks.join("")));
|
});
|
}
|
|
function decodeFile(filePath) {
|
const content = fs.readFileSync(filePath, "utf-8");
|
process.stdout.write(decode(content));
|
}
|
|
if (process.argv.includes("--stdin")) {
|
decodeStdin();
|
} else if (process.argv[2]) {
|
decodeFile(process.argv[2]);
|
} else {
|
console.log("用法:");
|
console.log(" node tools/decode-log.js <日志文件> 解码日志文件");
|
console.log(" node tools/decode-log.js --stdin 解码标准输入");
|
console.log("");
|
console.log("密钥: JMS_LOG_KEY 环境变量 (未设置时使用默认值)");
|
}
|