Оценка обфусцированного объявления переменной JavaScript - PullRequest
0 голосов
/ 04 июля 2019

У меня есть вредоносный код JavaScript, у которого есть некоторые запутанные объявления переменных, которые выглядят следующим образом:

var saki8haveTogether48 = {
    st9a: function (abert, z, n, m) {
        return String["fromChar" + "Co" + "" + "de"]((+'111') + 5)
    },
    revie5: '123'
} ['st9a'](function () {
    return true;
}, 0, 0, 1) + {
    marbl8a: function (abert, z, n, m) {
        return String["fromChar" + "Co" + "" + "de"]((+'109') + 5)
    },
    studi8: '95'
} ['marbl8a'](function () {
    return true;
}, 0, 0, 1) + {
    meta9a: function (abert, z, n, m) {
        return String["fromChar" + "Co" + "" + "de"]((+'92') + 5)
    },
    brig6: '103'
} ['meta9a'](function () {
    return true;
}, 0, 0, 1) + {
    works9a: function (abert, z, n, m) {
        return String["fromChar" + "Co" + "" + "de"]((+'105') + 5)
    },
    this94: '100'
} ['works9a'](function () {
    return true;
}, 0, 0, 1) + {
    whi5a: function (abert, z, n, m) {
        return String["fromChar" + "Co" + "" + "de"]((+'110') + 5)
    },
    pre8: '121'
} ['whi5a'](function () {
    return true;
}, 0, 0, 1);

Существует более 50 таких объявлений переменных, поэтому я намерен использовать какой-то автоматический способ сделать это.

Мой подход состоит в том, чтобы пометить определенные части скрипта, которые я хочу оценить, используя функцию eval ().После оценки я хочу заменить обфусцированный код тем, что я оценил.Выше приведен фрагмент кода.

Однако, когда я оцениваю правую часть этого объявления переменной, я получаю сообщение об ошибке:

SyntaxError: Function statements require a function name

Мой вопрос: есть ли способ оценить толькоправая сторона утверждения?

...