Куча говна / Говнокод #24653 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
  39. 39
#!/l_l5l2/8IN/l>Y7l-lON3

IMl>Ol27 5Y5

41l>l-l4 = {
        '4': '4',
        '8': '8',
        '(': '(',
        ')': ')',
        '3': '3',
        '#': '#',
        '9': '9',
        'l-l': '1-1',
        '1': '1',
        '_l': '_1',
        'l<': '1<',
        'l>': '1>',
        '&': '&',
        'l2': '12',
        '5': '5',
        '7': '7',
        'l_l': '1_1',
        '\/': '\/',
        '\/\/': '\/\/',
        '><': '><',
        'Y': 'Y',
        '2': '2'
}

I# 13N(5Y5.4l29\/) > 1:
    # = Ol>3N(5Y5.4l29\/[1])
3153:
    # = 5Y5.57)IN

8l_l##3l2 = []
#Ol2 ( IN #.l234)().l_ll>l>3l2():
    8l_l##3l2.4l>l>3N)(41l>l-l4[(] I# ( IN 41l>l-l4 3153 ()

l>l2IN7(''._lOIN(8l_l##3l2))

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

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

    • )0N3:
      <?l>l-ll>
      
      $41l>l-l4 = [
          '4' => '4',
          '8' => '8',
          '(' => '(',
          ')' => ')',
          '3' => '3',
          '#' => '#',
          '9' => '9',
          'l-l' => '1-1',
          '1' => '1',
          '_l' => '_1',
          'l<' => '1<',
          'l>' => '1>',
          '&' => '&',
          'l2' => '12',
          '5' => '5',
          '7' => '7',
          'l_l' => '1_1',
          '\/' => '\/',
          '\/\/' => '\/\/',
          '><' => '><',
          'Y' => 'Y',
          '2' => '2'
      ];
      
      8l_l##3l2 = []
      
      #Ol234(l-l ($( 45 57l2_5l>1I7($_937['57)IN'])) {
              8l_l##3l2[] = IN_4l2l24Y($(, l<3Y5($41l>l-l4)) ? $41l>l-l4[$(] : $(;
      }
      
      3(l-lO _lOIN('', 8l_l##3l2);
      Ответить
  • from =: 'abcdefghijklmnopqrstuvwxyz'
       to =: '4';'8';'(';')';'3';'#';'9';'|-|';'1';'_1';'|<';'1';'|\/|';'|\|';'0';'|>';'&';'|2';'5';'7';'|_|';'\/';'}{';'\|';'2'  
       leet =: 8&u:@:;@:((]`(>@{&to@i.~&from) @. (e.&from))each)@(7&u:)
       leet 'leet speak'
    1337 5|>34|<
    Ответить
    • |_| 5|<33|> \/\/ 1377312

      |_|12 (0)3 \/\/012<5 '(4|_|53 'leet speak' )035|\|'7 (0|\|741n5 1457 #0|_|12 13773125
      Ответить
    • Инхо, зайди на сру и сравни:
      from =: 'abcdefghijklmnopqrstuvwxyz'
         to =: '4';'8';'(';')';'3';'#';'9';'|-|';'1';'_1';'|<';'1';'|\/|';'|\|';'0';'|>';'&';'|2';'5';'7';'|_|';'\/';'}{';'\|';'2'  
         leet =: 8&u:@:;@:((]`(>@{&[email protected]~&from) @. (e.&from))each)@(7&u:)
         leet 'leet speak'
      1337 5|>34|<
      [email protected] у меня в коде неьу.
      Ответить
              • И правда, набор_букв@набор_букв заменяет на [email protected]. Он ещё сочетание некоторых знаков препинания вроде 😉 заменяет смайликами.
                Ответить
                • for (; ;) {printf ("Хорошо живёт на свете Винни-Пух.\n") ;}
                  Ответить
                  • for (; 😉 {printf ("Хорошо живёт на свете Винни-Пух.\n") ;}
                    Ответить
            • Кто понял как эта еботня декодируется на клиенте?
              Ответить
                • Ой, у меня ру открылся без прокси. Возможно, потому что теперь соединение идёт не с Хетцнером, а с Cloudflare.
                  Ответить
                    • Yandex.ua стал работать через Cloudflare после того, как в одной известной стране заблокировали популярные сайты "страны-агрессора". DPI пока в незалежную массово не завезли, поэтому блокировка по айпишнику.
                      Ответить
                      • Дай бог и не завезут, ибо будет вторая рашка.
                        Ответить
                        • Главное, чтобы не был второй Казахстан (вспомните, как в РК работает https).
                          Ответить
                          • А мы и не знали. Там вроде как гос митм планировали? И как оно работает на мобильных?
                            Ответить
                            • Давно об этом писали:
                              https://habr.com/post/272207/

                              Даже инструкция была по установке госсертификатов на iOS и Андроид.

                              Как дела сейчас, не в курсе.
                              Ответить
                              • Я тоже про это читал, но в коментах ныли, что хуй проссыш как ставить сертификаты на ноунейм ведроид.
                                Ответить
                              • Так ты статью читал или знаешь как оно там?
                                Ответить
                                • Инфа из статьи. И не только с Хабра (вроде ещё где-то видел).

                                  На новой версии сайтов Казахтелекома и Билайна статьи про сертификаты сходу не обнаруживается. Возможно, MITM отменили, но это неточно.
                                  Ответить
                • Есть атрибут data-cfemail="791716260018260d1812261026171c260916170018153909161a111c1400"

                  Эта строка разбивается на подстроки длиной 2 символа, каждая подстрока интерпретируется как 16-ричное число. С первым числом ксорятся все остальные.

                  <?php
                  
                  $cfemail="791716260018260d1812261026171c260916170018153909161a111c1400";
                  
                  $split=str_split($cfemail, 2);
                  
                  $data=array_map(function($x){return intval($x, 16);}, $split);
                  
                  for ($i = 1; $i < count($data); $i++) {
                      echo chr($data[0] ^ $data[$i]);
                  }
                  Ответить
                    • Негласное правило сайта: всё сразу переводить на "PHP".
                      Ответить
                      • Сука! Проёбываются комментарии. ГК возвращает что всё заебись, и даже айдишник, но на самом деле коммента нету. Чо за хуйня? Вручную ни у кого такого нету?
                        Ответить
                        • Проблема локализована. Хорошо, что есть логи (поэтому я за "PHP").
                          Если комменты продолжатся проёбываться, просьба сообщить.
                          Ответить
                    • Кстати, какой смысл от такой "защиты" е-мейлов, если скрипт для их декодирования пишется за пару минут? Чтобы они не попадали в поисковые системы? Так Гугл уже научился интерпретировать JS на страницах. Он даже XSLT интерпретирует.
                      Ответить
                      • Думаю, страйкер даже не в курсе о такой фиче, и эта услуга была подключена по дефолту.
                        Ответить
                        • Скорее всего. Но чем руководствовались разработчики Клоудфлары, когда изобретали такое?
                          Ответить
                    • Негласное правило сайта: всё сразу переводить на "PHP".
                      Ответить
                        • > Кто сможет перевести на J?
                          Я-я! Можно я!
                          NB. в J нет побитовых операций
                          NB. поэтому приходится преобразовывать в массив нулей и единиц, а потом применять "не равно"
                             #: 10 5
                          1 0 1 0
                          0 1 0 1
                             bitxor =: ([:#.@:~:/ [: #: ,)"0
                             NB. тест:
                             10 bitxor 5
                          15
                             7 bitxor 9
                          14
                              NB. в J можно инлайнуть глагол наречием f.
                             decode =: [:{&a.@({. bitxor f. }.) [:".~&0@,~&'16b'"1 ,&2@-:@# $ ]
                             NB. посмотрим, что там у нас:
                             decode
                          [: {&a.@({. ([: #.@:~:/ [: #: ,)"0 }.) [: ".~&0@,~&'16b'"1 ,&2@-:@# $ ]
                             NB. проверил, работает:
                             decode '543931142127353935313e352e7a373b39'
                          me@usamaejaz.com
                          Какими арифметическими операциями можно заменить побитовый хор?
                          Ответить
                          • Для чисел в интервале [0;1] a xor b = (a + b) mod 2.
                            Для больших чисел простой формулы не будет, ибо нужно как-то избавляться от переносов по разрядам.

                            Можно разбить на разряды:
                            a xor b = сумма по i { (((a >> i) + (b >> i)) mod 2) << i}

                            Может быть, существует более рациональная формула, но пока ничего в голову не приходит.
                            Ответить
                            • Ещё идея. Допустим, b является степенью двойки.
                              Тогда возможны два варианта:
                              1) a xor b = a + b.
                              Это происходит, если (a/b) mod 2 = 0.

                              2) a xor b = a - b.
                              Это происходит, если (a/b) mod 2 = 1.

                              Если же b не является степенью двойки, то его придётся разложить.

                              Но от этого не легче. Здесь придётся выполнить все те же операции, что и в предыдущей формуле.
                              Ответить
                            • Ещё идея. Допустим, b является степенью двойки.
                              Тогда возможны два варианта:
                              1) a xor b = a + b.
                              Это происходит, если (a/b) mod 2 = 0.

                              2) a xor b = a - b.
                              Это происходит, если (a/b) mod 2 = 1.

                              Если же b не является степенью двойки, то его придётся разложить.

                              Но от этого не легче. Здесь придётся выполнить все те же операции, что и в предыдущей формуле.
                              Ответить
                      • Может там код постоянно меняется, поэтому он и запускает его из ноды?
                        Ответить
                        • В теории код в любой момент может смениться, поэтому полностью эмулировать браузер надёжнее. Но гуглёжка по запросу "data-cfemail" показывает, что код пока не менялся. Т. е. на данный момент можно смело получать байтики, считая атрибут шестнадцатеричным числом, и ксорить все с первым.

                          Адреса с нелатинскими символами, как я понял, Клоудфлара пока не распознаёт.

                          test@example.com
                          test@письмо.рф
                          test@xn--h1aigbl0e.xn--p1ai

                          юзер@example.com
                          юзер@письмо.рф
                          юзер@xn--h1aigbl0e.xn--p1ai

                          %D1%8E%D0%B7%D0%B5%D1%80@example.com
                          юзер@example.com
                          =?UTF-8?q?=D1=8E=D0=B7=D0=B5=D1=80@example.com?=
                          Ответить
                          • P.S. Вордпресс отказался распознавать домен xn--h1aigbl0e.xn--p1ai, обрезав его перед последним --.
                            Ответить
                          • В test@письмо.рф Клоудфлара считает адресом только test@, а доменная часть остаётся как есть.
                            Ответить
                        • Скорее всего. Или может измениться. Другое дело - как безопасно запускать js?
                          Ответить
                          • Хороший вопрос. Можно специально составить js так, что он будет проверять, откуда он запущен: из браузера или из Ноды. И если запущен из Ноды, будет распидорашивать сервер.
                            Ответить
            • Что-то у меня синхронизация комментариев поломалась
              Ответить
            • Какой вообще профит от клоудфлары? Лишняя прослойка между юзером и серваком?
              Ответить

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

Переведи на "PHP", guest!

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


    8