pxdecoder-non-cli
Version:
Easily decode all Cgt strings for Perimeter X scripts inside your code.
31 lines (23 loc) • 831 B
JavaScript
var colors = require('colors');
var fs = require('fs');
const {Base64} = require('js-base64');
let pxDecodeStrings = function (path) {
let cgtRegex = /(?=\Cgt)(.*?)(?=\")/g
function atob(str) {
return Buffer.from(str, 'base64').toString('binary');
}
function decodePxString(encoded) {
for(var i = atob(encoded), a = "ZSA8q7L", c = "", u = 0; u < i.length; ++u) {
var f = a.charCodeAt(u % 7);
c += String.fromCharCode(f ^ i.charCodeAt(u));
}
return c;
}
let encodedScript = fs.readFileSync(path, 'utf8')
let decodedScript = encodedScript.replace(cgtRegex, (cgtString) => {
return decodePxString(cgtString)
})
return decodedScript
}
module.exports = {pxDecodeStrings}