js-confuser
Version:
JavaScript Obfuscation Tool.
34 lines (33 loc) • 1.56 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.xorDecodeString = xorDecodeString;
exports.xorDecodeStringTemplate = void 0;
exports.xorEncodeString = xorEncodeString;
var _template = _interopRequireDefault(require("./template"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
// Position-based cipher
function xorEncodeString(str, key) {
var result = "";
for (var i = 0; i < str.length; i++) {
key = key + 0x9e3779b9 | 0;
var ks = ((key ^ key >>> 13) % 95 + 95) % 95;
var normalized = str.charCodeAt(i) - 32;
var shifted = ((normalized + ks) % 95 + 95) % 95;
result += String.fromCharCode(shifted + 32);
}
return result;
}
function xorDecodeString(str, key) {
var result = "";
for (var i = 0; i < str.length; i++) {
key = key + 0x9e3779b9 | 0;
var ks = ((key ^ key >>> 13) % 95 + 95) % 95;
var normalized = str.charCodeAt(i) - 32;
var shifted = ((normalized - ks) % 95 + 95) % 95;
result += String.fromCharCode(shifted + 32);
}
return result;
}
var xorDecodeStringTemplate = exports.xorDecodeStringTemplate = new _template["default"]("function {fnName}(key, start, length) {\n\n for (var result = '', i = 0; i < length; i++) {\n key = (key + 0x9e3779b9) | 0;\n var ks = ((((key ^ (key >>> 13)) % 95) + 95) % 95);\n var normalized = {stringsName}[\"charCodeAt\"](start + i) - 32;\n var shifted = (((normalized - ks) % 95) + 95) % 95;\n result += String.fromCharCode(shifted + 32);\n }\n\n return result;\n}");