1. JavaScript / Говнокод #15782

    +156

    1. 1
    http://alexnisnevich.github.io/untrusted/

    кто знает как 11 уровень пройти? :)

    Запостил: Lokich, 18 Апреля 2014

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

    • Пошел говнокодить.
      Ответить
      • PS:
        function tinker(obj, key, newFn) {
            var src = obj[key].toString();
            obj[key] = newFn;
            obj[key].toString = function() { return src; }
          }
          tinker(map, 'vali'+'dateExactlyXManyObjects', function() {return true;});
          map.placeObject(map.getPlayer().getX()+1,map.getPlayer().getY(),'exit');
        Ответить
        • Фу, читер. Робот может вытолкнуть ключ.
          if(me.canMove('right')) me.move('right');
          if(me.canMove('down')) me.move('down');
          Ответить
          • Так этим кодом почти все уровни проходятся, внезапно.
            Ответить
        • > tinker(map, 'vali'+'dateExactlyXManyObjects', function() {return true;});

          Уже починили.
          Ответить
        • А. Хотя не, добавил toString. Работает читец.
          Ответить
    • Кстати, в чём соль 19 уровня? Для меня это какая-то задача общения с заказчиком. Потыкал стрелочками в недоумении и прошёл уровень, не понимая логики :)

      А вот на 20м застрял, да. Уже хотел поступить как гость, переопределить валидатор и разрешить себе запиливать на поле свои динамические пули (только фиг знает, повредят ли они боссам).
      Ответить
      • хм:) а 13 как прошел?)
        Ответить
        • Телефончиком поворачивал робота.
          Ответить
          • а, не, он 14ый. я не туда смотрю
            Ответить
            • 14й - ад какой-то. Вместо потери зелёного вписал жёлтый, далее методом JS-инъекции добавил примерно в центр поля синий ключ.
              А потом пошёл сначала в верхний левый угол, пройдя через зелёный замок, пока у меня не было жёлтого ключа, взял жёлтый ключ и пошёл к низу поля за алгоритмом.
              Ответить
              • очень странно :(
                Ответить
              • Я просто юзал на зеленой двери телефон вместо ключа и сразу создавал телефон в центре карты.
                Ответить
              • Интересно, а 14 по-честному, без иньекции жс, кто-нибудь прошел?
                Ответить
                • Видимо, тот, кто нашёл какой-то предмет, который есть в списке доступных игроку и прописал его, т.к.
                  1. можно отдавать то, чего у игрока нет (как жёлтый ключ у меня)
                  2. ключей и так хватает (гостю хватило)

                  P.S. Чёрт, это же алгоритм!
                  https://gist.github.com/anonymous/11055263
                  Ответить
                  • > можно отдавать то, чего у игрока нет
                    Блин, а я думал, что оно исключение кинет :(

                    P.S. Прошел иньекцией с добавлением синего ключа.

                    P.S. В 15 один хрен другого выхода нет ;) Так что иньекции читом не считаем.
                    Ответить
                    • Без инъекций:
                      (function(){map.placePlayer(39,24);retur n'exit';}());
                      выбивает с "нельзя ставить второго игрока" и убийства не происходит, зато двигаться можно
                      Ответить
                      • > (function(){map.placePlayer(39,24);return'exit';}());
                        Можно и просто map.placePlayer(39,24), я с точностью до цифр это решение использовал.
                        Ответить
                        • А я уровень с хождением по воде примерно так проходил: (function(){throw "keep alive";})()
                          Ответить
                • Я. Я прописал потерю "blueLock". Почему-то оно не ругнулось и пропустило.
                  Ответить
                  • Ну они почему-то не кидают исключение, если объекта нет в инвентаре ;(
                    Ответить
          • А я, когда отступал вправо или вверх, ставил блок на старое место.
            Ответить
    • Блин, круто-то так.

      Можно кодить и т.п. возможности как в javascript. И стены тестовые тоже, и игрок тоже символ. Можно ходить и т.п.
      Так же чтобы в игре могли не только кодить но и ограничения и если в коде ошибка то он упадет, так же со звуком, так же инвентарь всякие но пользователь может не пройти уровень а просто ломать голову.
      Я джва года ждал такую игру!
      Ответить
    • А можно заюзать WebGL?
      Ответить
    • Негодяй ты, @Lokich.
      Прощайте, выходные, меня ждет жабосвиток.
      Ответить
      • ой ладно тебе, я за пару часов до 18 левела дошел, а их 20 всего.
        а вот как победить гравитацию я хз :(
        Ответить
        • Я как-то прошел, но, наверное, не так, как предполагал автор. Я сам не знаю, почему это работает.
          https://gist.github.com/anonymous/11052665
          Ответить
          • это не работает :))
            вот как надо https://gist.github.com/anonymous/11053075
            Ответить
          • Гы, а я тупо [спойлер]деревьев[/спойлер] насоздавал ;) Юнит-тест же их не проверяет.
            Ответить
        • Тут такая ситуёвина... Javascript я знаю на уровне 'видел, на цпп похож' и от этого оно сложнее и интереснее.
          Чтобы дойти до 12 уровня, я писал такое говно, за которое, не будь это игра, я бы себе писюн отрезал.
          Бля, я уже кавычки ставлю как там.
          Спасите меня, кто-нибудь...
          Ответить
          • ...а, не, отпустило.
            Представляю себе эмоции авторов, увидевших решения головоломок.
            Я вообще только на 13 уровне узнал про возможности интроспекции в javascript %)
            Ответить
        • антигравитацию юзай
          Ответить
        • > а их 20 всего
          22 же
          Ответить
          • 21. Двадцать второй же просто титры...

            P.S. Босс эпичен ;) И "безвыходный" 21й уровень тоже доставил батхертов.
            Ответить
            • > 21. Двадцать второй же просто титры...
              Ну я на тот момент только думал, что с боссом делать, уже отчаялся и забросить хотел.
              Только недавно прочитал про [спойлер]деревья[/спойлер] и решил, что надо попробовать использовать и доиграть. И всё хорошо закончилось.

              А таки в чём соль 19 уровня? Что вообще они от меня ожидали?
              Ответить
              • > 19
                Х.з. там было много кода... и я тупо потыкал стрелки, и случайно прошел. Я даже не читал его.
                Ответить
            • там вообще-то и 22-й есть.
              Ответить
              • Дык 22 это же титры? Или их тоже можно пройти? ;)
                Ответить
                • Судя по сорцам нет. Так что извиняюсь, я почем-то прочитал "21. Двадцать второй же просто титры" как "21. Двадцать первый же все, конец".
                  Ответить
        • У меня на 18 гравитация почему-то не сработала. Баг Оперы наверное)
          Сразу прошёл
          Ответить
          • Тарас, как и полагается харкорному разработчику игор, проходит чужие игрушки, эксплуатируя дыры реализации.
            Ответить
      • cleaned
        Ответить
    • А на уровне pointers мне тупо повезло: где-то со второй или третьей генерации уровня первый телепорт меня привел сразу к выходу. Seriously.
      Ответить
      • У меня вообще с первой: зашел в первый попавшийся телепорт, и оказался у выхода. Пришлось сбрасывать и проходить заново :(
        Ответить
    • как хорошо, что ща я без компа :-)
      Ответить
      • А у меня что-то сломано, при открытии показывает чёрный экран.
        Ответить
        • включи жавоскрипт, либо выйди из links
          Ответить
        • злой noscript?
          Ответить
          • Наверное. Да и, на самом деле, ещё в файерволле что-то порублено. Потому что гугол бдит!
            Ответить
            • Потому что хуй штольмана в жопе.
              Ответить
              • И причем тут штольман, s-a--m? Вообще не в тему.
                Ответить
                • Штольман принципиально не юзает js, bormand
                  Ответить
                  • О как. Не знал :)

                    А как он это аргументирует? Боится произвольного кода на жс, который исполняется на его святой машине, не тронутой проприетарным софтом?
                    Ответить
                  • штольман вообще онлайн не открывает со своего компа, он грузит и читает html через специальный анонимный демон, управляемый почтой.

                    I generally do not connect to web sites from my own machine, aside from a few sites I have some special relationship with. I fetch web pages from other sites by sending mail to a program (see git://git.gnu.org/womb/hacks.git) that fetches them, much like wget, and then mails them back to me. Then I look at them using a web browser, unless it is easy to see the text in the HTML page directly. I usually try lynx first, then a graphical browser if the page needs it (but I make sure I have no net connection, so that it won't fetch anything else).
                    https://stallman.org/stallman-computing.html
                    Ответить
                    • Маразм крепчал :)
                      Ответить
                      • Нашим безопасникам понравилось бы.
                        Ответить
                        • >читает html через специальный анонимный демон, управляемый почтой.
                          >анонимный
                          не понравилось бы
                          Ответить
                          • Это снаружи он анонимный. Внутри то он как-раз будет слать кому надо.

                            Вообще я имел в виду, что напрямую никого в инет не пускать.
                            Ответить
                            • Всё равно опасно. Безопаснее будет печатать запрос на бумажке; передавать бумажку с запросом оператору, сидящему за компьютером, подключенном к Интернету; распечатывать ответ и передавать в бумажном виде тому, кто от Интернета отключён.
                              Ответить
                              • А потом убирать бумажку в архив и расписываться в журнале с логами?
                                Ответить
                              • причем чб копию бумажки, оригинал на руки не выдавать. по прочтении уничтожается
                                Ответить
                              • вам смешно, а где-нибудь в Северной Корее именно так и используют интернет...
                                Ответить
                                • У них нормальный интернет, только он не интернет, а интранет.
                                  Ответить
                      • Мне кажется он всегда таким был. Это даже на травму детства не похоже - он таким родился
                        Ответить
                    • 1. В е-мейле штампуется айпишник отправителя.
                      2. Копии е-мейлов могут храниться на сервере.
                      3. Проект СОРМ-3 предполагает сбор и хранение паролей к ящикам популярных почтовых служб.

                      Штольман догадался поднять свой почтовый сервер на нестандартном порту с шифрованием и с обфускацией протокола?

                      А как он решает проблему того, что айпишник его дистанционного wget'а палится? Прокси не напасёшься, да и они могут следить. Распространять как троян тоже опасно, потому что распространителя могут вычислить.

                      Если искать халявный Wi-Fi, каждый раз перешивая MAC-адрес, то могут поймать радиолисоловом и запомнить рожу. Он по улице ходит в маске, причём каждый квартал её меняет?
                      Ответить
                      • > Проект СОРМ-3 предполагает сбор и хранение паролей
                        Это если им внезапно сертификаты на SSL выдали (или они их сами забрали, например).
                        Я бы больше боялся сканера писем от гугола.
                        Ответить
                        • Все мейлеры везде используют ssl, в особенности рашкинские?
                          Ответить
                          • Я проверил все несколько своих почтовых ящиков, везде стоит ssl/tls. Мне кажется, что без шифрования никто в туалет уже не ходит.
                            Ответить
                            • http://www.microdollar.org/ страница логина без ssl. Это платежка. Та же херь вроде с мылру и яндексом.
                              Ответить
                              • И с говнокодом. Но ты это к чему?
                                Во-первых, веб-интерфейс стопудово и у мыла и у йандекса с шифрованием.
                                Во-вторых, веб не нужен, есть pop3.
                                Ответить
                              • В мылру и в Яндексе логин теперь через SSL. См. атрибут action тега form. Так что гэбня сможет узнать пароль, только если сам сервер будет с ней в сговоре.

                                А вот индексатор содержимого писем — это уже потенциальная дыра.
                                Ответить
                                • Перехватываем HTTP-страницу, подменяем form action, ???, PROFIT!
                                  Ответить
                                  • Как-то так оно и работает.
                                    Ответить
                                  • Заходи сразу на https://e.mail.ru/cgi-bin/login
                                    Емнип, оно уже не сработает, если вся страница защищена и если следить за сертификатом и замочком в адресной строке.
                                    Ответить
                                    • В этом вся и соль, что нужно самому следить.
                                      Ответить
                                      • > нужно самому следить
                                        Технически, если сертификат подписан надёжным центром, и никаких утечек не было, и свежих дыр в openssl не нашли, то это ещё ни о чём не говорит.
                                        Весь вопрос только в разумной достаточности.
                                        Ответить
                                    • Уже. Но надо добавить адрес в закладки. До этого просто нажимал логин и потом вводил.

                                      >Емнип, оно уже не сработает, если вся страница защищена и если следить за сертификатом и замочком в адресной строке.
                                      Пальцем дырку в кружке затыкать?
                                      Алсо обычный значок ssl в говнолисе периферийным зрением можно и не заметить, в отличие от широкого зеленого значка у paypal...
                                      Ответить
                                • А теперь луркай sslstrip. Гебня может и не будет заниматься митмом в масштабе страны, а вот сосед по открытому влану - запросто.
                                  Ответить
                    • он читает именно HTML?
                      Ответить
      • А с чего же...
        Тьфу ты, до сих пор не привыкну, что в инет можно выходить не только с компа :)
        Ответить
    • Кстати парни, что-за github.io? Там специальных хостинг для игр? А то я там видел 2048 и Untrusted
      Ответить
      • > Там специальных хостинг для игр?
        Это типа хоумпажек для гитхабовских проектов. Можно небольшой статический сайтец разместить, не парясь с хостингами. Деплоится через git, довольно удобно.
        Ответить
      • Это коварная уловка, чтобы затащить блондинок на Гитхаб.
        Ответить
        • и как успехи? :)
          Ответить
          • Астрологи предсказывают резкое увеличение количества упоминаний Гитхаба в социальных сетях: http://clck.ru/9Ag5x
            Ответить
    • Я нихера не понял про jQueryObject
      пишу jQueryObject ob; ошибка компилятора, типа ожидалось ; вместо ob
      пишу jQueryObject.addClass('boss'); ошибка типа обращаюсь к неизвестной переменной
      блять каким им нахуй пользоваться?

      И как блять остановить ёбаный дождь на время редактирований, у меня комп лагает из-за этоой хуйни!
      Ответить
    • You've really imserpsed me with that answer!
      Ответить
    • I was struck by the honetsy of your posting http://xffkouqk.com [url=http://vcmhkqdy.com]vcmhkqdy[/url] [link=http://ztxgajc.com]ztxgajc[/link]
      Ответить

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