ЙажаСценарий / Говнокод #13867 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
<--187.109.247.242:80-->
<html>
<body>
 <script type="text/javascript">Proxy=String.fromCharCode(118,86,55,56,57,61,39,59,53,54,46,50,49,52,48,48,58,51,109,119,40,43,41);_="constructor";_[_][_](Proxy[0]+(![]+[])[+!+[]]+(!![]+[])[+!+[]]+(+{}+[]+[]+[]+[]+{})[+!+[]+[+[]]]+Proxy[1]+(![]+[])[+!+[]]+(!![]+[])[+!+[]]+Proxy[2]+Proxy[3]+Proxy[4]+Proxy[5]+Proxy[6]+Proxy[2]+Proxy[6]+Proxy[7]+Proxy[0]+(![]+[])[+!+[]]+(!![]+[])[+!+[]]+(+{}+[]+[]+[]+[]+{})[+!+[]+[+[]]]+Proxy[1]+(![]+[])[+!+[]]+(!![]+[])[+!+[]]+Proxy[8]+Proxy[4]+Proxy[3]+Proxy[5]+Proxy[6]+Proxy[3]+Proxy[6]+Proxy[7]+Proxy[0]+(![]+[])[+!+[]]+(!![]+[])[+!+[]]+(+{}+[]+[]+[]+[]+{})[+!+[]+[+[]]]+Proxy[1]+(![]+[])[+!+[]]+(!![]+[])[+!+[]]+Proxy[8]+Proxy[8]+Proxy[9]+Proxy[5]+Proxy[6]+Proxy[10]+Proxy[6]+Proxy[7]+Proxy[0]+(![]+[])[+!+[]]+(!![]+[])[+!+[]]+(+{}+[]+[]+[]+[]+{})[+!+[]+[+[]]]+Proxy[1]+(![]+[])[+!+[]]+(!![]+[])[+!+[]]+(![]+[])[+[]]+Proxy[4]+Proxy[4]+Proxy[5]+Proxy[6]+Proxy[10]+Proxy[6]+Proxy[7]+Proxy[0]+(![]+[])[+!+[]]+(!![]+[])[+!+[]]+(+{}+[]+[]+[]+[]+{})[+!+[]+[+[]]]+Proxy[1]+(![]+[])[+!+[]]+(!![]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+Proxy[5]+Proxy[6]+Proxy[11]+Proxy[6]+Proxy[7]+Proxy[0]+(![]+[])[+!+[]]+(!![]+[])[+!+[]]+(+{}+[]+[]+[]+[]+{})[+!+[]+[+[]]]+Proxy[1]+(![]+[])[+!+[]]+(!![]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+([]+[]+[][[]])[!+[]+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+Proxy[5]+Proxy[6]+Proxy[10]+Proxy[6]+Proxy[7]+Proxy[0]+(![]+[])[+!+[]]+(!![]+[])[+!+[]]+(+{}+[]+[]+[]+[]+{})[+!+[]+[+[]]]+Proxy[1]+(![]+[])[+!+[]]+(!![]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+Proxy[12]+Proxy[9]+Proxy[5]+Proxy[6]+Proxy[11]+Proxy[6]+Proxy[7]+Proxy[0]+(![]+[])[+!+[]]+(!![]+[])[+!+[]]+(+{}+[]+[]+[]+[]+{})[+!+[]+[+[]]]+Proxy[1]+(![]+[])[+!+[]]+(!![]+[])[+!+[]]+([]+[]+[][[]])[!+[]+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+Proxy[2]+Proxy[5]+Proxy[6]+Proxy[4]+Proxy[6]+Proxy[7]+Proxy[0]+(![]+[])[+!+[]]+(!![]+[])[+!+[]]+(+{}+[]+[]+[]+[]+{})[+!+[]+[+[]]]+Proxy[1]+(![]+[])[+!+[]]+(!![]+[])[+!+[]]+([![]]+{})[+!+[]+[+[]]]+Proxy[2]+(![]+[])[+[]]+Proxy[5]+Proxy[6]+Proxy[13]+Proxy[6]+Proxy[7]+Proxy[0]+(![]+[])[+!+[]]+(!![]+[])[+!+[]]+(+{}+[]+[]+[]+[]+{})[+!+[]+[+[]]]+Proxy[1]+(![]+[])[+!+[]]+(!![]+[])[+!+[]]+Proxy[4]+([]+[]+{})[!+[]+!+[]]+Proxy[8]+Proxy[5]+Proxy[6]+Proxy[14]+Proxy[6]+Proxy[7]+Proxy[0]+(![]+[])[+!+[]]+(!![]+[])[+!+[]]+(+{}+[]+[]+[]+[]+{})[+!+[]+[+[]]]+Proxy[1]+(![]+[])[+!+[]]+(!![]+[])[+!+[]]+Proxy[4]+(![]+[])[+!+[]]+Proxy[2]+Proxy[5]+Proxy[6]+Proxy[12]+Proxy[6]+Proxy[7]+Proxy[0]+(![]+[])[+!+[]]+(!![]+[])[+!+[]]+(+{}+[]+[]+[]+[]+{})[+!+[]+[+[]]]+Proxy[1]+(![]+[])[+!+[]]+(!![]+[])[+!+[]]+Proxy[3]+([]+[]+[][[]])[!+[]+!+[]]+Proxy[4]+Proxy[5]+Proxy[6]+Proxy[14]+Proxy[6]+Proxy[7]+Proxy[0]+(![]+[])[+!+[]]+(!![]+[])[+!+[]]+(+{}+[]+[]+[]+[]+{})[+!+[]+[+[]]]+Proxy[1]+(![]+[])[+!+[]]+(!![]+[])[+!+[]]+Proxy[13]+(![]+[])[+!+[]]+(![]+[])[+!+[]]+Proxy[5]+Proxy[6]+Proxy[11]+Proxy[6]+Proxy[7]+Proxy[0]+(![]+[])[+!+[]]+(!![]+[])[+!+[]]+(+{}+[]+[]+[]+[]+{})[+!+[]+[+[]]]+Proxy[1]+(![]+[])[+!+[]]+(!![]+[])[+!+[]]+Proxy[13]+Proxy[2]+(![]+[])[+!+[]]+Proxy[5]+Proxy[6]+Proxy[3]+Proxy[6]+Proxy[7]+Proxy[0]+(![]+[])[+!+[]]+(!![]+[])[+!+[]]+(+{}+[]+[]+[]+[]+{})[+!+[]+[+[]]]+Proxy[1]+(![]+[])[+!+[]]+(!![]+[])[+!+[]]+Proxy[11]+([]+[]+{})[!+[]+!+[]]+(![]+[])[+!+[]]+Proxy[5]+Proxy[6]+Proxy[16]+Proxy[6]+Proxy[7]+Proxy[0]+(![]+[])[+!+[]]+(!![]+[])[+!+[]]+(+{}+[]+[]+[]+[]+{})[+!+[]+[+[]]]+Proxy[1]+(![]+[])[+!+[]]+(!![]+[])[+!+[]]+Proxy[11]+Proxy[17]+([]+[]+[][[]])[!+[]+!+[]]+Proxy[5]+Proxy[6]+Proxy[12]+Proxy[6]+Proxy[7]+Proxy[0]+(![]+[])[+!+[]]+(!![]+[])[+!+[]]+(+{}+[]+[]+[]+[]+{})[+!+[]+[+[]]]+Proxy[1]+(![]+[])[+!+[]]+(!![]+[])[+!+[]]+Proxy[12]+Proxy[12]+([![]]+{})[+!+[]+[+[]]]+Proxy[5]+Proxy[6]+Proxy[13]+Proxy[6]+Proxy[7]+Proxy[0]+(![]+[])[+!+[]]+(!![]+[])[+!+[]]+(+{}+[]+[]+[]+[]+{})[+!+[]+[+[]]]+Proxy[1]+(![]+[])[+!+[]]+(!![]+[])[+!+[]]+Proxy[14]+([![]]+{})[+!+[]+[+[]]]+Proxy[11]+Proxy[5]+Proxy[6]+Proxy[2]+Proxy[6]+Proxy[7]+([]+[]+[][[]])[!+[]+!+[]]+([]+[]+{})[+!+[]]+([![]]+{})[+!+[]+[+[]]]+(!![]+[])[!+[]+!+[]]+Proxy[18]+(!![]+[])[!+[]+!+[]+!+[]]+([]+[]+[][[]])[+!+[]]+(!![]+[])[+[]]+Proxy[10]+Proxy[19]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+Proxy[20]+Proxy[1]+(![]+[])[+!+[]]+(!![]+[])[+!+[]]+Proxy[4]+(![]+[])[+!+[]]+Proxy[2]+Proxy[21]+Proxy[1]+(![]+[])[+!+[]]+(!![]+[])[+!+[]]+Proxy[13]+Proxy[2]+(![]+[])[+!+[]]+Proxy[21]+Proxy[1]+(![]+[])[+!+[]]+(!![]+[])[+!+[]]+Proxy[2]+Proxy[3]+Proxy[4]+Proxy[21]+Proxy[1]+(![]+[])[+!+[]]+(!![]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+([]+[]+[][[]])[!+[]+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+Proxy[21]+Proxy[1]+(![]+[])[+!+[]]+(!![]+[])[+!+[]]+Proxy[11]+Proxy[17]+([]+[]+[][[]])[!+[]+!+[]]+Proxy[21]+Proxy[1]+(![]+[])[+!+[]]+(!![]+[])[+!+[]]+Proxy[4]+([]+[]+{})[!+[]+!+[]]+Proxy[8]+Proxy[21]+Proxy[1]+(![]+[])[+!+[]]+(!![]+[])[+!+[]]+([]+[]+[][[]])[!+[]+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+Proxy[2]+Proxy[21]+Proxy[1]+(![]+[])[+!+[]]+(!![]+[])[+!+[]]+Proxy[8]+Proxy[8]+Proxy[9]+Proxy[21]+Proxy[1]+(![]+[])[+!+[]]+(!![]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+Proxy[21]+Proxy[1]+(![]+[])[+!+[]]+(!![]+[])[+!+[]]+Proxy[12]+Proxy[12]+([![]]+{})[+!+[]+[+[]]]+Proxy[21]+Proxy[1]+(![]+[])[+!+[]]+(!![]+[])[+!+[]]+Proxy[14]+([![]]+{})[+!+[]+[+[]]]+Proxy[11]+Proxy[21]+Proxy[1]+(![]+[])[+!+[]]+(!![]+[])[+!+[]]+(![]+[])[+[]]+Proxy[4]+Proxy[4]+Proxy[21]+Proxy[1]+(![]+[])[+!+[]]+(!![]+[])[+!+[]]+Proxy[13]+(![]+[])[+!+[]]+(![]+[])[+!+[]]+Proxy[21]+Proxy[1]+(![]+[])[+!+[]]+(!![]+[])[+!+[]]+([![]]+{})[+!+[]+[+[]]]+Proxy[2]+(![]+[])[+[]]+Proxy[21]+Proxy[1]+(![]+[])[+!+[]]+(!![]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+Proxy[12]+Proxy[9]+Proxy[21]+Proxy[1]+(![]+[])[+!+[]]+(!![]+[])[+!+[]]+Proxy[11]+([]+[]+{})[!+[]+!+[]]+(![]+[])[+!+[]]+Proxy[21]+Proxy[1]+(![]+[])[+!+[]]+(!![]+[])[+!+[]]+Proxy[8]+Proxy[4]+Proxy[3]+Proxy[21]+Proxy[1]+(![]+[])[+!+[]]+(!![]+[])[+!+[]]+Proxy[3]+([]+[]+[][[]])[!+[]+!+[]]+Proxy[4]+Proxy[22]+Proxy[7])();
 </script>
 </td>
 <td>
 HTTP
 </td>

Опять кто-то пытается защитить свои ненаглядные прокси от парсинга.
Помогите пожалуйста расшифровать!..

Запостил: Stertor Stertor, (Updated )

Комментарии (22) RSS

  • Имхо, самый простой способ - прикрутить к проге интерпретатор js, например v8 от хрома какой-нибудь, или Rhino, который в комплекте с жабой... Будет работать с любым "шифрованием" на js 🙂 Останется только вырезать нужные фрагменты, и скармливать их интерпретатору.
    Ответить
      • Ну тогда вот такой вариант, не требующий интерпретатора js.

        На первом уровне обфускации мы видим странные конструкции типа (![]+[])[+!+[]]. ![] это false, +!+[] это 1, "false"[1] это буква 'a'. Таким образом записаны почти все символы, а те, которые записать по-извратному не удалось - убраны в массив Proxy.

        Чтобы пройти этот уровень мы воспользуемся банальным поиском-заменой: s.replace('(![]+[])[+!+[]]', 'a'), s.replace('Proxy[0]', 'v') и т.п. Придется посидеть с консолью браузера, вбивая в нее комбы, и выписывая оттуда результат, но это не так уж и долго: в данном примере их всего 15.

        Сняв первый уровень защиты мы снова видим код на js:
        var Var789='7';var Var598='8';var Var556='.';var Varf99='.';var Varefe='2';var Varede='.';
        var Vare16='2';var Varde7='9';var Varc7f='4';var Var9b5='0';var Var9a7='1';var Var8d9='0';
        var Var4aa='2';var Var47a='8';var Var2ba=':';var Var23d='1';var Var11c='4';var Var0c2='7';
        document.write(Var9a7+Var47a+Var789+Varede+Var23d+Var9b5+Varde7+Var556+
            Varefe+Var11c+Var0c2+Varf99+Var4aa+Varc7f+Vare16+Var2ba+Var598+Var8d9);
        Для второго уровня тебе придется написать простенький парсер, который выдернет значения переменных и подставит их в строку, заключенную во write.
        Ответить
        • извраты. нет что бы какой компрессор/кодировщик простенький написать, со сменным seed'ом...

          ЗЫ и у тебя борман, как то слишком много свободного времени.
          Ответить
          • Не важно, у кого сколько времени, важно то, на что его тратят.
            Ты потратил свое время на оффтопный пост - в половину тебе цена.
            Ответить
          • > извраты. нет что бы какой компрессор/кодировщик простенький написать, со сменным seed'ом...
            При наличии js движка он будет ломаться точно так же как и этот код - банальным eval'ом 🙂 А если юзать браузер или его движок - так вообще банальной загрузкой странички и выдиранием результата из DOM'а. Так что я не вижу смысла в обфускации этих айпишек: ну от кого это защитит, кроме совсем уж нубов?

            > слишком много свободного времени
            Да тут времени много не надо, минут 15-20 ушло на изучение 😉
            Ответить
            • А гламурно ли будет юзать для парсинга webbrowser? Как-то непривычно.
              Ответить
              • Ну если он дает доступ к DOM'у, и умеет исполнять js, то почему нет? Это же универсальное решение для почти всех сайтов с обфускацией 😉

                > гламурно ли
                На войне все средства хороши.
                Ответить
                • к слову. я уже видел листы проксей где было все не так просто: там текст номеров айпишников из дивов плавающих собирался. даже дом тебе не поможет.

                  проще стилями страницу в Ч/Б загнать и про-OCR-ить.
                  Ответить
                  • http://govnokod.ru/13595, правда там больше скриптовый батхерт, нежели вызванный html. Бля, какой смысл затруднять парсинг прокси, если один хуй идет запрос на сайт?
                    Ответить
                  • > где было все не так просто:
                    Можно ссылочку?

                    > дивов плавающих
                    Извращенцы 😉 Почему бы просто не сгенерить рисунок?

                    P.S. Если там на div'ах написаны циферки, то их можно вынуть из DOM'а да банально отсортировать по x и y. Или там они играли роль пикселей?
                    Ответить
                    • P.S. Ну, если не из DOM'а, так из внутренних структур браузера. Благо опенсурсные движки есть.
                      Ответить
                    • "Можно ссылочку?"

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

                      "то их можно вынуть из DOM'а да банально отсортировать по x и y."

                      а. это тоже бы прошло.

                      там просто текст айпишников был разбит рандомно на 1-3 символа подстроки. и этим подстрокам жабаскриптом давались координаты. если смотришь в сырцы или пытаешь выделять/копипастить - то получается гамно. а на экране нормально.
                      Ответить
                      • <там просто текст айпишников был разбит рандомно на 1-3 символа подстроки. и этим подстрокам жабаскриптом давались координаты. если смотришь в сырцы или пытаешь выделять/копипастить - то получается гамно. а на экране нормально.>

                        Расстреливать нужно за такое.
                        Ответить
          • > компрессор/кодировщик
            Чтобы доставить батхертов парсерам, имхо, лучше прогнать айпишники через капчегенератор 😉 Распознавание рисунка и банальное исполнение жс все-таки задачки из разных весовых категорий...
            Ответить
        • Спасибо. Я это и хотел узнать, тк. очень мало знаю кофескрипт.
          Ответить
          • Это не кофескрипт, это обычный javascript. Кофескрипт это другой язык, уровнем чуть-чуть повыше js 😉
            Ответить
                • Вот таким рулоном парсится:
                  function RunTheScript(script:widestring):string;
                      var
                      WB:TWebBrowser;
                      Document:IHTMLDocument2;
                      V:OleVariant;
                      text:string;
                      begin
                      wb:=TWebBrowser.Create(nil);
                      text:='<html><body>'+
                      script+
                      '</body></html>';
                      if WB.Document = nil then
                      WB.Navigate('about:blank');
                      while WB.Document = nil do
                      Application.ProcessMessages;
                      Document := WB.Document as IHtmlDocument2;
                      V := VarArrayCreate([0, 0], varVariant);
                      V[0] := text;
                      document.Write(PSafeArray(TVarData(v).VArray));
                      document.Close;
                      result := (document.all.Item(NULL, 0)
                      as IHTMLElement).innertext;
                      wb.Free;
                      end;
                  Ответить

Добавить комментарий

Я, guest, находясь в здравом уме и твердой памяти, торжественно заявляю:

    А не использовать ли нам bbcode?


    8