У меня есть вредоносный код 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
Мой вопрос: есть ли способ оценить толькоправая сторона утверждения?