Skip to content

[Feature Request] New kind of obfuscation, not too complicated #139

@DevLARLEY

Description

@DevLARLEY

Not too complicated, taken from a very large library (15MB).
Haven't found a single deobfuscator that can do this.

function empty() {}
var defineProperty = Object.defineProperty;

function getList() {
  var _0x4f9004 = ["DxnLihm", "DhjPy3q", "y2H1BMS", "zw5JB2q", "Aw5N", "y2fSBgi", "ywnR", "BMv4Da", "zw50CNK", "zMLUAxm", "v3jPDge", "yMXLu3q", "yxrL", "zgvWCMu", "y2f0zq", "qNvMzMu", "y29TBw8", "BMPZr2W", "B2jHBa", "Dw5Kzwy", "Aw5Lza", "vwLUDdG", "qxjYyxK", "zNjVBq", "AxncDwy", "zMvY", "z2v0sgK", "z2Hxyxq", "zxjnyxi", "y29Kzxm", "rvjsx0K", "tLzbteK", "rf9buKC", "x1rzueu", "rvjsx00", "rvrit0q", "x05pvf8", "su1qteu", "tuvoveu", "vuXusva", "tevFq0e", "teXcqum", "rvjsx1m", "vfjfqu0", "x0nbtK4", "t1rFueK", "x0rfu1q", "uK9zruq", "x05vteW", "x1zbtfu", "x1Dssvq", "rv9brLq", "rvjFru4", "rvjsx1u", "tKTot1C", "tL9ftKm", "t0rjtKC", "zxjYB3i", "t3jezxm", "DhjVEq", "yM9VBgu", "B2jQzwm", "De1Vzgu", "D3jPDge", "yMXLt2i", "AMvJDe0", "B2rL", "AgLNAfC", "yxrLCK0", "yxjR", "yMXLsgK", "zMLUywW", "q2fSBgu", "BMvLzeq", "CMfPBG", "zw5KAw4", "zw5Kzwq", "AgvK", "zgvZDhi", "B3LLza", "zgvJB2q", "zvn0CMK", "BMDZ", "zgvMyxu", "BhrfBMm", "B2rPBMC", "DxrMoa", "BgvUz3q", "D3jPDgK", "y29YA2u", "C3LUyW", "yNvMzMu", "CLbYB2m", "zxnZAw4", "B253CMK", "D3jPDgu", "BgvU", "CMvKuMu", "CxvLC3q", "BgfZDei", "DwzMzxi", "zwrszxe", "DwvZDa", "CgvUzgK", "BMDJyG", "ChjLzMK", "BMLZAgu", "rw1PDhq", "zw1PDem", "Bg9Zzq", "yxv0B0q", "zxn0CM8", "q291BNq", "zfjLCxu", "zxn0C0y", "CMvL", "ChjVDg8", "DhLWzq", "z2v0qNu", "zMzLCG", "ChvZAa", "zgvMAw4", "zvbYB3a", "zxj0Eq", "x3DYAxq", "ywjSzvm", "Dgf0zs4", "CIbPCYa", "y2f0zwq", "lIbvC2u", "if93CMK", "DgfIBgu", "u3rHDgu", "lMDLDei", "Aw5ZDgu", "ywqU", "revqmda", "zNvUy3q", "Aw9U", "AgfZsw4", "C3rHBMm", "y2fSBa", "Dgf0zq", "yMXL", "x2rLC3q", "CM95", "x2zPBMe", "CgLWzq", "BMv4Dfq", "AwnR", "C3rYAw4", "y29YAW", "Dw5JB3i", "C2v0rgu", "zMf1Bhq", "rw5JB2q", "Dg9mB3C", "zxjdyxm", "Agv4", "DxrMltG", "yxnJAwK", "yMLUyxi", "yMfZzty", "DwnZmG", "DwnZlti", "DxrMmty", "DxrMlte", "nMXL", "CMf3", "Aw5KzxG", "yMXLqNu", "zw51Bwu", "CMfIBgu", "z2v0", "zw1PDa", "zhjHAw4", "ywXSqNu", "zMzLCNm", "zsGP", "zw5K", "yMXLtgu", "BMD0Aa", "BMLZAa", "x3jLywq", "zw5Krw0", "Axr0zwq", "B25Jzq", "C2v0", "x3vUzgu", "C3rYB3K", "Dw5Kzxm"];
  getList = function () {
    return _0x4f9004;
  };
  return getList();
}

function deobfuscate(_0x5af12b, _0x898827) {
  var _0x416722 = getList();
  deobfuscate = function (_0x1cbb25, _0x1217ae) {
    _0x1cbb25 = _0x1cbb25 - 0;
    var _0x3ac0ed = _0x416722[_0x1cbb25];
    if (deobfuscate.kWQUjb === undefined) {
      var _0x46c3cd = defineProperty.call(null, function (...__p_0943969777_stack) {
        empty(__p_0943969777_stack.length = 1, __p_0943969777_stack[174] = __p_0943969777_stack.VInTIN, __p_0943969777_stack[174] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=", __p_0943969777_stack[130] = 45);
        var _0x2a0a9f = "";
        empty(__p_0943969777_stack[3] = "", __p_0943969777_stack.jx1kJIP = __p_0943969777_stack[174]);
        var _0x23da0e = 0;
        var _0x5552bd;
        var _0x2c491b;
        for (var _0x209240 = 0; _0x2c491b = __p_0943969777_stack[0].charAt(_0x209240++); ~_0x2c491b && (_0x5552bd = _0x23da0e % 4 ? _0x5552bd * 64 + _0x2c491b : _0x2c491b, _0x23da0e++ % 4) ? _0x2a0a9f += String.fromCharCode(255 & _0x5552bd >> (-2 * _0x23da0e & 6)) : 0) {
          _0x2c491b = __p_0943969777_stack.jx1kJIP.indexOf(_0x2c491b);
        }
        var _0x4c0e03 = 0;
        for (var _0x3f88c5 = _0x2a0a9f.length; _0x4c0e03 < _0x3f88c5; _0x4c0e03++) {
          __p_0943969777_stack[3] += "%" + ("00" + _0x2a0a9f.charCodeAt(_0x4c0e03).toString(16)).slice(-2);
        }
        if (__p_0943969777_stack[130] > 102) {
          return __p_0943969777_stack[-167];
        } else {
          return decodeURIComponent(__p_0943969777_stack[3]);
        }
      }, "length", {
        value: 1,
        configurable: true
      });
      empty(deobfuscate.rSEcJT = _0x46c3cd, _0x5af12b = arguments, deobfuscate.kWQUjb = true);
    }
    var _0x4a5f35 = _0x416722[0];
    var _0x28786b = _0x1cbb25 + _0x4a5f35;
    var _0x3d211e = _0x5af12b[_0x28786b];
    if (!_0x3d211e) {
      _0x3ac0ed = deobfuscate.rSEcJT(_0x3ac0ed);
      _0x5af12b[_0x28786b] = _0x3ac0ed;
    } else {
      _0x3ac0ed = _0x3d211e;
    }
    return _0x3ac0ed;
  };
  return deobfuscate(_0x5af12b, _0x898827);
}

// "WritableState"
var value = deobfuscate(10) + deobfuscate(11) + deobfuscate(12);
console.log(value);
console.log(deobfuscate(10) + deobfuscate(11) + deobfuscate(12));

console.log(deobfuscate(10));
console.log(deobfuscate(11));
console.log(deobfuscate(12));

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions