funnycode
Version:
obfuscation {js,ts,cjs,mjs} code
36 lines (30 loc) • 1.13 kB
JavaScript
;
const fs = require('fs');
const node_process = require('node:process');
const path = require('path');
const CryptoJS = require('crypto-js');
const utils = require('./utils.cjs');
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e["default"] : e; }
const path__default = /*#__PURE__*/_interopDefaultLegacy(path);
const CryptoJS__default = /*#__PURE__*/_interopDefaultLegacy(CryptoJS);
async function decode(key) {
const cache = utils.loadCache();
if (!cache || Object.keys(cache).length === 0)
utils.error(3);
const cacheArray = Object.entries(cache);
for (const c of cacheArray) {
const [file, code] = c;
const decryptCode = crypto(code, key);
await fs.promises.writeFile(utils.winPath(path__default.join(utils.cwd, file)), decryptCode);
console.log(`done ${file}`);
}
await save();
}
function crypto(code, key) {
return CryptoJS__default.AES.decrypt(code, key).toString(CryptoJS__default.enc.Utf8);
}
async function save() {
await fs.promises.writeFile(utils.CACHE_PATH, "{}");
node_process.exit(0);
}
module.exports = decode;