@vvk996

Как деобфусцировать скрипт?

Помогите раскодировать код, и подскажите как это делается.
Спасибо!
<script type="text/javascript">
var _0x1f3a=["\x3C\x64\x69\x76\x20\x69\x64\x3D\x22\x6E\x65\x77\x6F\x70\x74\x22\x3E\x3C\x2F\x64\x69\x76\x3E","\x61\x70\x70\x65\x6E\x64","\x75\x6C\x2E\x73\x68\x6F\x70\x2D\x6F\x70\x74\x69\x6F\x6E\x73\x3A\x65\x71\x28\x31\x29","\x3C\x64\x69\x76\x20\x63\x6C\x61\x73\x73\x3D\x22\x65\x6B\x6F\x70\x74\x22\x3E","\x3C\x2F\x64\x69\x76\x3E","\x23\x6E\x65\x77\x6F\x70\x74","\x74\x65\x78\x74","\x2E\x73\x68\x6F\x70\x2D\x6F\x70\x74\x69\x6F\x6E\x73\x2D\x73\x3A\x66\x69\x72\x73\x74\x20\x6F\x70\x74\x69\x6F\x6E","\x6E\x61\x6D\x65","\x61\x74\x74\x72","\x63\x6C\x61\x73\x73","\x65\x6B\x6F\x70\x74\x20\x73\x65\x6C\x65\x63\x74\x65\x64","\x2E\x65\x6B\x6F\x70\x74\x3A\x66\x69\x72\x73\x74","\x73\x65\x6C\x65\x63\x74\x65\x64","\x2E\x73\x68\x6F\x70\x2D\x6F\x70\x74\x69\x6F\x6E\x73\x2D\x73\x3A\x66\x69\x72\x73\x74\x20\x6F\x70\x74\x69\x6F\x6E\x5B\x6E\x61\x6D\x65\x3D\x22","\x22\x5D","\x63\x68\x61\x6E\x67\x65","\x2E\x73\x68\x6F\x70\x2D\x6F\x70\x74\x69\x6F\x6E\x73\x2D\x73\x3A\x66\x69\x72\x73\x74","\x65\x6B\x6F\x70\x74","\x2E\x65\x6B\x6F\x70\x74","\x63\x6C\x69\x63\x6B","\x72\x65\x61\x64\x79"];$(document)[_0x1f3a[21]](function (){$(_0x1f3a[2])[_0x1f3a[1]](_0x1f3a[0]);$(_0x1f3a[7])[_0x1f3a[6]](function (_0xb109x1,_0xb109x2){$(_0x1f3a[5])[_0x1f3a[1]](_0x1f3a[3]+_0xb109x2+_0x1f3a[4]);} );$(_0x1f3a[7])[_0x1f3a[9]](_0x1f3a[8],function (_0xb109x3){return $(this)[_0x1f3a[6]]();} );$(_0x1f3a[12])[_0x1f3a[9]](_0x1f3a[10],_0x1f3a[11]);$(_0x1f3a[19])[_0x1f3a[20]](function (_0xb109x1){$(_0x1f3a[14]+$(this)[_0x1f3a[6]]()+_0x1f3a[15])[_0x1f3a[9]](_0x1f3a[13],_0x1f3a[13]);$(_0x1f3a[17])[_0x1f3a[16]]();$(_0x1f3a[19])[_0x1f3a[9]](_0x1f3a[10],_0x1f3a[18]);$(this)[_0x1f3a[9]](_0x1f3a[10],_0x1f3a[11]);} );} );
</script>
  • Вопрос задан
  • 292 просмотра
Решения вопроса 1
bogdanov-s
@bogdanov-s
Че-то там программирую
Вот вам для начала:
var data = ["<div id=\"newopt \"></div>",
                "append",
                "ul.shop-options:eq(1)",
                "<div class=\"ekopt\">",
                "</div>", 
                "#newopt", 
                "text", 
                ".shop-options-s:first option", 
                "name", 
                "attr", 
                "class",
                "ekopt selected", 
                ".ekopt:first", 
                "selected", 
                ".shop-options-s:first option[name=\"", 
                "\"]", 
                "change",
                ".shop-options-s:first", 
                "ekopt", 
                ".ekopt", 
                "click", 
                "ready"
]
$(document)[data[21]](function() {
    $(data[2])[data[1]](data[0]);
    $(data[7])[data[6]](function(_0xb109x1, _0xb109x2) {
        $(data[5])[data[1]](data[3] + _0xb109x2 + data[4]);
    });
    $(data[7])[data[9]](data[8], function(_0xb109x3) {
        return $(this)[data[6]]();
    });
    $(data[12])[data[9]](data[10], data[11]);
    $(data[19])[data[20]](function(_0xb109x1) {
        $(data[14] + $(this)[data[6]]() + data[15])[data[9]](data[13], data[13]);
        $(data[17])[data[16]]();
        $(data[19])[data[9]](data[10], data[18]);
        $(this)[data[9]](data[10], data[11]);
    });
});
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
Для начала в консоли разработчика вывести эту переменную)
Ответ написан
alsopub
@alsopub
В простейшем случае заменяете все eval на alert или console.log.
Иногда даже eval зашифрован, тогда надо смотреть функцию и думать.
Возможно нужно заменить на console.log крайни вызов функции, возможно нет.
Ответ написан
Комментировать
Rou1997
@Rou1997
jsbeautifier.org и желательно хорошую IDE с подсветкой синтаксиса и т.п., наподобие WebStorm, здесь нет ничего сложного, строки вида "\x3C\x64\x69\x76\x20\x69\x64\x3D\x22\x6E\x65\x77\x6F\x70\x74\x22\x3E\x3C\x2F\x64\x69\x76\x3E" - это строки с закодированными символами, раскодировать их можно разными способами, а переменные вида _0x1f3a нужно просто везде переименовать во что-то удобочитаемое, для этого и нужна IDE, тогда все станет "прозрачно".
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы