• Неуловимый баг LittleBigPlanet

      image

      В истории игровой разработки можно обнаружить немало интересных багов, с которыми приходилось сражаться разработчикам. Впрочем, как следует из истории, рассказанной в Twitter техническим директором компании Media Molecule Алексом Эвансом (известен своим участием в демосцене конца 90-ых, серией LittleBigPlanet и игрой Rag Doll Kung Fu) на выходных, многие легенды нам еще только предстоит услышать.

      Случай, о котором пойдет речь, произошел десять лет назад — в 2008 году. Во время разработки первой части игры LittleBigPlanet — оригинального паззл-платформера, который должен быть стать эксклюзивом для PlayStation 3 — разработчикам компании пришлось столкнуться с воистину неуловимым багом.

      Обычно для получения «зелёного света» на выпуск игры на консолях требуется пройти сертификацию — выполнить некоторый набор требований, которые устанавливает платформодержатель. Сертификация может предполагать и такие специфические условия, как стабильная работа игры в течение суток без вылетов.

      Процесс разработки LittleBigPlanet практически подошел к концу и оставалось всего две недели до того, как игра должна была «уйти на золото». Внезапно, тестировщик из отдела QA в Японии сообщил о том, что игра стабильно «падает», когда он оставляет ее работать на ночь. Естественно, теперь до исправления бага ни о каком выпуске игры не могло быть и речи.
      Читать дальше →
    • Как я 13 лет делал футбольный симулятор

        2_fview_gameplay


        История, которую я расскажу, началась 13 лет назад на уроке информатики. Мы с друзьями-семиклассниками решили все задачи на Паскале и весело играли в первый Quake. Наша учительница увидела это, подошла ко мне и сказала всего одну фразу, которая перекосила мою картину мира: «Если ты хочешь играть в игры на уроке, пиши их сам». С тех пор я эпизодически делаю игры. Одна из них — футбольный симулятор, о котором и пойдёт речь.


        Это захватывающая история про мой путь разработчика, недоделанные проекты и о том, почему иногда их и не нужно доделывать.

        Читать дальше →
      • Непростой IPSec с Linux



          Развивая IT-инфраструктуру рано или поздно приходит задача интегрироваться с какими-либо сервисами крупной организации. Это может быть, например, банк или оператор связи. Как правило в крупных организациях действуют устоявшиеся политики информационной безопасности, которые в частности требуют реализации сервиса с внешней по отношению к ним инфраструктурой через шифрованные каналы — IPSec. В то же время в небольших организациях стартапах нет опыта организации таких схем, а из оборудования есть только VDS с Linuxом на борту. Более того, к моему удивлению, в рунете практически нет материалов с описанием инструментов траблшутинга под Linux. Попробуем устранить этот пробел и описать практическую часть настроек.
          Читать дальше →
          • +17
          • 29.6k
          • 6
        • Как узнать, что ваш PHP сайт был взломан

          • Translation
          Сайт моего друга недавно был взломан, на нем была запущена старая версия IP.Board, в которой есть уязвимость локального внедрения кода (local file inclusion). Этот пост не будет посвящен IP.Board или другому php коду, он покажет, как найти потенциально вредоносный php код на ваших серверах. Наконец, покажу пример того, что злоумышленники могут загрузить на взломанный сайт.

          Проверьте логи доступа


          Что бы с чего-то начать, я бы хотел поделиться некоторыми записями из журнала доступа (access log) взломанного сайта моего друга.

          IpreMOVED - - [01/Mar/2013:06:16:48 -0600] "POST /uploads/monthly_10_2012/view.php HTTP/1.1" 200 36 "-" "Mozilla/5.0"
          IpreMOVED - - [01/Mar/2013:06:12:58 -0600] "POST /public/style_images/master/profile/blog.php HTTP/1.1" 200 36 "-" "Mozilla/5.0"
          

          Необходимо часто проверять журналы доступа на сервере, однако если вы не будете осторожны, URL такие как выше, которые на первый взгляд выглядят безобидно, могут пройти прямо мимо вас.

          Два файла выше это загруженные взломщиком скрипты, как они туда попали, большой роли не играет, так как код на любых двух серверах, вероятно, будет различным. Тем не менее, в данном конкретном примере, уязвимость в устаревшей версии IP.Board была использована, и атакующие смогли добавить свои собственные скрипты в директории доступные для записи, такие как пользовательский каталог загрузки и каталог, в котором IP.Board хранит кэшированные изображения темы оформления. Это общий вектор атаки, много людей изменяют права на эти каталоги на 777 или дают им доступ на запись, подробнее об этом чуть позже.

          Рассмотрим подробнее приведенные выше строки журнала, ничего не цепляет вас?

          Обратите внимание, что в журнале доступа POST запросы, а не GET запросы.
          Скорее всего, злоумышленники хотели сделать журнал доступа более неприметным, так как большинство журналов не сохраняют post данные.
          Читать дальше →
        • Руководство по оформлению HTML/CSS кода от Google

          • Translation

          От переводчика


          С удовольствием ознакомился с этими рекомендациями и теперь предлагаю вам перевод.

          Введение


          Это руководство описывает правила для оформления и форматирования HTML и CSS кода. Его цель — повысить качество кода и облегчить совместную работу и поддержку инфраструктуры.

          Это относится к рабочим версиям файлов использующих HTML, CSS и GSS

          Разрешается использовать любые инструменты для минификации компиляции или обфускации кода, при условии, что общее качество кода будет сохранено.
          Читать дальше →
        • Обзор новшеств ECMAScript 2016, 2017, и 2018 с примерами

          • Translation
          Сложно уследить за новшествами различных версий ECMAScript, а ещё сложнее — найти полезные примеры их применения, не перекапывая горы информации. Поэтому сегодня мы публикуем перевод материала, автор которого проанализировал 18 новых возможностей ECMAScript, в число которых входят те, что имеются в уже вышедших стандартах ES2016 и ES2017, а также — те, которые должны появиться в стандарте ES2018. Автор этой статьи обещает, что каждый, кто её прочтёт, узнает много интересного и полезного о новых возможностях JavaScript.


          Читать дальше →
        • PickMeUp — хороший jQuery datepicker plugin

            Проблема


            Начиная работу над очередным сайтом понадобился datepicker. Самый известный такой datepicker — в jQuery UI, но так как jQuery UI в проекте не использовался — тянуть даже его часть не хотелось, принялся за поиски достойной альтернативы.

            Требования следующие:
            • Выбор даты, нескольких дат, интервала
            • Простота настройки внешнего вида
            • Желательно без каких-либо зависимостей кроме jQuery

            Требования вполне логичные, ничего сверх естественного.
            Каково было мое удивление, когда просмотрев десятка два плагинов я не нашел подходящего.

            Для любопытных — сразу демо того, что получилось в результате.
            Читать дальше →
          • Bitcoin не станет новыми цифровыми деньгами: ограниченная эмиссия и функции денег

              Я ежедневно сталкиваюсь с множеством мнений относительно биткоина. Одни уверены, что будет дорожать, другие уверены в том что пузырь лопнет, третьих интересует блокчейн как технология. Но доводов этих людей в пользу своих мнений я не встречал. Безусловно, доводы были, но они мало что общего имели с текущими экономическими моделями в мире и больше были похожи на сектантскую мантру. Иногда выходят статьи на крупных ресурсах срывающие покровы, но читая их я начинаю недоумевать как очевидные вещи могут стать откровением. Часть людей из IT, тех кто является той массой людей что популяризуют биткоин, плохо представляют себе как работает экономика. В свою очередь, экономисты еще слабо представляют что такое блокчейн.

              В цикле публикаций я решил разобраться с текущим положением дел и провести параллели между биткоином и фиатными деньгами.
              Читать дальше →
            • Реверс-инжиниринг для самых маленьких: взлом кейгена

              • Tutorial
              Этот пост будет интересно действительно тем, кто только начинает интересоваться этой темой. У людей с опытом он, возможно, вызовет только зевки. За исключением разве что, может быть, эпилога
              Реверс-инжиниринг в той менее легальной части, где он не касается отладки и оптимизации собственного продукта, касается в том числе и такой задачи: «узнать, а как у них это работает». Иначе говоря, восстановление исходного алгоритма программы, имея на руках ее исполнимый файл.
              Для того, чтобы держаться азов и избежать некоторых проблем — «взломаем» не что-нибудь, а… кейген. В 90% он не будет запакован, зашифрован или иным способом защищен — в том числе и нормами международного права…
              Читать дальше →
            • jQuery plugin для форм с динамической структурой

                Хочу поделиться с обществом собственным плагином, который упрощает работу с динамическими формами и называется jqDynaForm. Под динамическими формами я подразумеваю формы, в которые при заполнении пользователь может добавлять по необходимости дополнительные поля или блоки полей. Разумеется, в каждом месте разрешено добавлять только заранее разрешенные виды блоков. Вот примеры подобных простейших форм:

                1. Контактная форма, в которой есть поле «телефон». Пользователь может добавить еще несколько дополнительных полей для телефонов, если возникнет желание.

                2. Счет на оплату. Есть фиксированный набор полей, таких как «имя плательщика» и «номер счета». Кроме того, есть таблица с позициями. Каждая позиция состоит следующих полей: «наименование», «количество», «цена». Пользователь может добавлять произвольное количество дополнительных позиций.

                Давайте рассмотрим работу с jqDynaForm на примере такого счета. Вот пример такой формы:



                Читать дальше →
              • Как я проходил собеседования на позицию Junior .Net Developer

                  Приветствую всех. Сегодня расскажу вам как я проходил собеседования в Москве на позицию .Net Developer. Усиленно готовился к собеседованиям месяц, целыми днями сидел и смотрел вопросы и пытался отвечать на них, а также читал книжки по С#. В статье привожу интересные задачки и вопросы, которые мне задавали в разных компаниях в Москве. Заранее скажу, что я попал в ту компанию, в которую хотел. Я прошел 4 собеседования в этой компании и меня наконец то взяли! Много статей было прочитано в частности здесь и надеюсь, что эту статью тоже будут читать начинающие Net разработчики и спрашивать все в комментариях.

                  Кому интересна тема прохождения собеседований, прошу под кат!
                  Читать дальше →
                • Что можно узнать о квартире из открытых справочников



                    Госструктуры выкладывают в интернет справочники с десятками гигабайтов информации. Если знать где искать, можно легально собрать данные о квартирах в промышленных масштабах.

                    Базы с индексами и районами городов тоже открыты. Бонусом я расскажу, как найти эти части адреса, если их не хватает.

                    Все справочники из этой статьи бесплатны и открыто лежат в интернете. Ни один не украли из ФСБ таинственные хакеры.
                    Шагнуть в мир открытых справочников
                  • С помощью LAMP я создал SaaS-сервис приносящий $3700 в месяц. Моя история

                    • Translation
                    В этой статье я хотел бы поделиться своим опытом создания SaaS-сервиса на базе LAMP стека, Postio и доведения сервиса до состояния, когда он стал приносить 3 700 долларов ежемесячно (до обрушения рубля было почти 7 000). Сразу надо сказать, что эта история не имеет ничего общего с инвесторами, с золотой лихорадкой Кремниевой долины и с какой-то сверхсовременной технологией. Просто незамысловатая история от независимого разработчика о создании прибыльного SaaS-сервиса, который может сделать любой. Этот веб-сервис был сделан для внутреннего рынка России, поэтому я перевёл всё на английский и в доллары для удобства (пожалуйста, обратите внимание, что это перевод моей статьи, которая изначально была написана для англоязычной аудитории). Но, с другой стороны, этот опыт является довольно универсальным и может быть применён везде. По сути, это инструкция по созданию проектов такого рода.

                    Три года назад я решил заняться SMM, и самым простым способом сделать это показалось запустить свою собственную группу в какой-нибудь нише и попытаться развить её. Facebook был уже, мягко говоря, довольно конкурентным на тот момент, поэтому я запустил свою тестовую группу на базе «ВКонтакте». Я выбрал очень популярную нишу, потому что всё, что я хотел, — это научиться, а не доминировать на рынке.

                    Наверное, я должен немного отвлечься и сказать, что VK.com имел и до сих пор имеет процветающую «экосистему» таких групп, которая приносит прибыль их владельцам. Это — своеобразный рынок, который Facebook прикрыл уже давно. И этот базар является прекрасной средой для обучения и экспериментов.
                    Читать дальше →
                  • Облачное видеонаблюдение из веб-камеры и роутера

                    Если вы хотите установить у себя дома систему видеонаблюдения, но изучив цены на камеры и видеорегистраторы, такая идея пропадает, то давайте рассмотрим бюджетный вариант с использованием веб-камеры и роутера.

                    Нам понадобятся:

                    • роутер TP-Link TL-MR3020
                    • веб-камера (с поддержкой MJPEG)
                    • USB-хаб
                    • USB-флешка

                    Веб-камера и USB-флешка подключаются к USB-порту роутера через USB-хаб. На роутер устанавливается прошивка WebGlazok. Прошивка создана на базе OpenWrt и использует программу детектор движения Motion.

                    Получаем простую систему видеонаблюдения с функцией обнаружением движения и облачного хранения, которая не требует включенного компьютера, видеорегистратора и белого IP-адреса.
                    Читать дальше →
                  • Корпоративные лаборатории Pentestit: разбор кейсов при проведении тестирования на проникновение

                      image

                      Корпоративные лаборатории Pentestit — уникальные по своему формату и содержанию курсы практической ИБ-подготовки, разработанные на основе лучших практик тестирования на проникновение и анализа защищенности, по уровню содержания сравнимые с материалами хакерских конференций. Вне зависимости от программ обучения, их ключевыми особенностями являются актуальный материал и практическая подготовка в пентест-лабораториях, составляющая 80% от общей программы курса. В данной статье мы продолжим разбирать базис команд и полезных трюков при проведении тестирования на проникновение.

                      Читать дальше →
                    • «Zero Security: A» — начальный уровень подготовки в области практической информационной безопасности

                        image


                        Одним из основных направлений деятельности Pentestit является разработка специализированных программ начальной (Zero Security: A) и профессиональной (Корпоративные лаборатории) подготовки в области информационной безопасности. Вне зависимости от программ обучения, их ключевыми особенностями являются актуальный материал и практическая подготовка в пентест-лабораториях, составляющая 80% от общей программы курса. В данной статье мы разберем базис команд и полезных трюков при проведении тестирования на проникновение внешнего периметра.

                        Читать дальше →
                        • +32
                        • 26k
                        • 3
                      • Работа с API ВКонтакте на C#

                        Приветствую тебя, дорогой читатель! В статье описан процесс создания простейшего WindowsForms приложения, которое будет работать с API социальной сети «ВКонтакте».

                        Задачи приложения:

                        1. Получить User Token и выполнять все дальнейшие запросы с помощью него.
                        2. Получить на вход ID пользователя.
                        3. Вывести информацию о пользователе с введённым ID.
                        Читать дальше →
                      • Фундаментальные законы информационной безопасности

                          Все мы знаем о фундаментальных законах физики, открытые Ньютоном и Галилеем. Наверное хотя бы немного со школьных парт слышали об аксиоматике Евклида. Кто решил хотя бы приблизиться к положению homo universalis, (хотя в наш XXI век это весьма непросто) наверное что-то слышал о законах Данилевского, Тойнби и/или Сэмюэла Хантингтона...


                          А что с Информационной Безопасностью? Есть ли у нас, ИБ-шников свои фундаментальные законы? Да — есть! И в этой статье о них пойдет речь.


                          Дальше читать