• Взлом с помощью Юникода (на примере GitHub)

      Юникод исключительно сложен. Мало кто знает все хитрости: от невидимых символов и контрольных знаков до суррогатных пар и комбинированных эмодзи (когда при сложении двух знаков получается третий). Стандарт включает 216 кодовых позиций в 17-ти плоскостях. По сути, изучение Юникода можно сравнить с изучением отдельного языка программирования.

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

      Специалист по безопасности Джон Грейси продемонстрировал на примере GitHub баг проверки адреса электронной почты для восстановления забытого пароля. Подобные баги можно встретить и на других сайтах.
      Читать дальше →
    • Талант против удачи: роль случайности в успехе и провале



        Недавно я натолкнулся на интересную работу итальянских учёных о сильно недооценённой роли удачи и случайности в нашей жизни. К сожалению, не нашёл полной версии на русском языке (может, плохо искал?), но очень уж хотелось поделиться прочитанным со своими не владеющими английским товарищами. Поэтому, засучив рукава, принялся за свой кустарный перевод. Авторы, Алессандро, Алессио и Андреа, любезно разрешили опубликовать его в общем доступе, поэтому, если заинтересовались, добро пожаловать под кат.
        Читать дальше →
      • Обзор свободного ПО для Android



        Привет Хабр.

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

        И так, можно ли пользоваться мобильным устройством без серьёзного ущерба для приватности?

        Ответ — да, можно, но для этого необходимо избавиться от ПО и сервисов, бесконтрольно собирающих данные. Для этого понадобится желание что-то изменить и любое устройство на которое можно установить кастомную систему Android (iOS по понятным причинам не рассматривается, а из альтернатив только SailfishOS и GNU/Linux, но эти системы можно установить на очень ограниченное число моделей). Всех кто заинтересовался я приглашаю под кат.
        Читать дальше →
      • Как работает Android, часть 4


          Всем привет! Мы нашли время продолжить серию статей про внутреннее устройство Android. В этой статье я расскажу о процессе загрузки Android, о содержимом файловой системы, о том, как хранятся данные пользователя и приложений, о root-доступе, о переносимости сборок Android и о проблеме фрагментации.

          Читать дальше →
        • Изучаем процессы в Linux


            В этой статье я хотел бы рассказать о том, какой жизненный путь проходят процессы в семействе ОС Linux. В теории и на примерах я рассмотрю как процессы рождаются и умирают, немного расскажу о механике системных вызовов и сигналов.

            Данная статья в большей мере рассчитана на новичков в системном программировании и тех, кто просто хочет узнать немного больше о том, как работают процессы в Linux.
            Читать дальше →
          • 32-битные процессоры Intel: от 3 до 4 — Бесполезный пятничный лонгрид


              Современные процессоры для ПК великолепны. Это чудо инженерной мысли, кусочек сплавленного песка, на котором расположены миллиарды миниатюрных транзисторов и их межсоединений. Но, мне кажется, они скучноваты. Нет в них искры революции. Нет стремительных перемен. Соревнования в индустрии процессоров между гигантами, Intel и AMD, мне сейчас напоминают гонки "Формула-1". Следить интересно, но они слишком рафинированы, всегда есть явно доминирующая команда, прорывы и смены лидера случаются не слишком часто, а технический регламент — очень сложный. И любителям в гонку дорога заказана.


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


              Я хотел рассмотреть историю 32х разрядной части линейки х86-совместимых процессоров через призму производительности. Именно 32х разрядных потому что, в принципе, эта архитектура, хотя и находится уже даже не на закате, а за терминатором, но все еще применима с относительно современными ОС, в отличие от 16 разрядной, и достаточно стара и интересна, по сравнению с 64х разрядной. Чего не стоит искать в этой статье, так это какого-либо смысла. Статья сугубо развлекательная, с ностальгическими картинками.

              Читать дальше →
            • Реалити-шоу с программистом. Найми кодера и смотри, как он работает

                В Сети набирают обороты видеотрансляции написания кода


                Удивительно, но многие убивают время не за видеоиграми, а за просмотром, как в них играют другие. При этом у зрителей часто есть и техническая возможность самим запустить игру, а иногда и сама игра пылится где-то на полке или в цифровой библиотеке. Но вместо этого смотрящие сидят за компьютером и наблюдают, как играет кто-то другой и иногда разбавляет происходящее собственными комментариями. Речь даже не идёт о киберспорте. Почему-то прямо сейчас тысячи людей наблюдают за самым обычным геймплеем.
                Читать дальше →
              • Проект «Око» ч.1, пилотная

                  Изначально, моя первая публикация подобного рода «День, когда торренты остановились» была спонтанной, однако позже я столкнулся с публикацией пользователя awaik «Воины виртуальности», и понял, что смогу поделиться и другими своими работами в этом направлении. Данный пост предназначается, в первую очередь, хабу «Читальный зал», но я решил все же использовать хабы «Киберпанк» и «Научная фантастика» как наиболее близкие по смыслу. Заранее извиняюсь перед всеми, кто не хотел бы видеть подобные вещи в своей ленте. Остальным же, надеюсь, процесс чтения доставит удовольствие и я смогу развить свое повествование до по-настоящему серьезных размеров.

                  Сам текст под катом.

                  Читать дальше →
                • Очень простой слайдер экранов

                    Когда я начинал изучать андроид, мне очень хотелось добавить красивое перелистывание экранов — как в популярных приложениях. Хотелось просто некоторое подобие LinearLayout, содержимое которого можно будет прокручивать. Однако для того, чтобы написать простейший слайдер с использованием ViewPager, мне потребовалось несколько часов на разбор, а также целая страница кода. К тому же, присутствовали некоторые ограничения — добавление объекта внутрь тега <ViewPager> не добавляло его в список виджетов.

                    Разобравшись, решил написать свой класс ScreenPager, который наследуется от ViewPager и работает очень просто. Причём работает как в xml, так и в чистом коде.


                    Как это работает
                    • +10
                    • 21.8k
                    • 2
                  • Основы безопасности операционной системы Android. Уровень ядра

                      Вступление


                      Самой распространенной операционной системой для смартфонов на сегодняшний день является Android. Но не только этот факт подогревает интерес к ней. Открытость, возможность что-то настроить, подкрутить, и, естественно, сломать тоже в немалой степени способствуют увеличению популярности этой платформы. Я попробую поделиться опытом, как устроена эта операционная система, а так же рассмотреть систему безопасности. Всем, кому интересно, добро пожаловать! В этой статье я рассмотрю безопасность на уровне ядра.
                      Читать дальше →
                    • Основы безопасности операционной системы Android. Native user space, ч.1

                        Вступление


                        В этой статье я попробую рассмотреть безопасность чуть-чуть повыше ядра, а именно: как работает безопасность в Native user space. Мы коснемся темы процесса загрузки операционной системы и рассмотрим структуру файловой системы Android. Как я уже говорил, я не очень силен в Linux, поэтому если заметите неточности, то исправляйте — меня научите и статью улучшите. Так как эта тема довольно обширная, я решил разбить её на две части. В первой части мы рассмотрим процесс загрузки операционной системы и особенности файловой системы. Всем кому интересно, добро пожаловать!
                        Читать дальше →
                      • Уроки рисования или как снимался фильм «Секунда свободного падения»

                        На киносъемках очень популярна фраза: «А, фиг с ним, на постпродашкене дорисуем!». Такой чудесной вещи, как доработке на постпродакшене съемочного «фиг с ним», и посвящена сия статья. Здесь я расскажу о личном опыте и пользе использования данного заклинания во время работы над короткометражным фильмом «Секунда свободного падения», режиссёром коего являюсь.





                        До начала съемок я не планировал пользоваться цифровой обработкой вообще (за исключением разве что цветокоррекции), желая добиться максимально реалистичного изображения. Ну-ну!.. Волшебное «фиг с ним» имеет невероятную мощь, всем чародеям известно это!
                        Читать дальше →