• Социальная инженерия с помощью программ Universal Windows Platform (APPX)

      На картинке изображены различные устройства (ПК, смартфоны, IoT, Xbox, Surface Hub, Hololens), поддерживающие приложения Universal Windows Platform

      TL;DR: В APPX-файл Universal Windows Platform можно упаковать обычный exe-файл, который будет запускаться в Windows 10 (сборка 1607 и новее) примерно так же, как обычные exe-файлы. Это можно использовать для атак социальной инженерии, с помощью рассылки через email — почтовые провайдеры не блокируют файлы APPX. Файл должен быть подписан действующей цифровой подписью.

      Universal Windows Platform

      Universal Windows Platform — (сравнительно) новый стандарт для создания универсальных приложений под Windows 10, Windows 10 Mobile, Xbox One и Hololens. Стандарт появился с выходом Windows 10, и предоставляет API с ограничением привилегий и изоляцией, формат контейнера и метаданных внутри него.
      UWP-приложения широко представлены в Microsoft Store. Они самодостаточны, безопасны, не требуют прав администратора для установки, хранят настройки в строго отведённых местах, и могут быть удалены начисто, прямо из «пуска».

      UWP — попытка Microsoft избавиться от старых архитектурных подходов к разработке программ: внедрить разделение привилегий так, как это сделано на мобильных платформах, уйти от WinAPI GUI с пиксельной сеткой (для полноценной поддержки экранов любой плотности пикселей).
      Программы UWP можно писать на C#, C++, VB и JS, а в качестве GUI-фреймфорка предлагается к использованию XAML, DirectX и HTML.

      До недавнего времени, UWP-программы могли быть только изолированными, но в сборке Windows 10 1607 Microsoft реализовала Desktop Bridge — возможность упаковки любых Win32-программ в виде UWP, без использования UWP API, ограничений привилегий и изоляции.
      Эта функция открывает простор для атак социальной инженерии.
      Читать дальше →
      • +18
      • 3,1k
      • 4
    • Опусы про Его Величество Клей. Часть вторая — Viva, цианоакрилат! Viva, суперклей

      • Tutorial

      Как я и обещал в пилотной "клейкой" статье — рассматривать клеи будем постепенно. Чтобы не откладывать дело в долгий ящик, я решил вдогонку представить вашему вниманию некоторые факты связанные с любимым, не побоюсь этого слова, народным клеем — с цианоакрилатным "суперклеем". Кроме того, в меру своих сил я попытался в рамках темы статьи осветить все вопросы, которые читатели задали в предыдущей части. Так что, если вы активный пользователь суперклея — не пропустите. Самая актуальная информация про "сода+суперклей", про то почему суперклей нужно хранить в холодильнике и можно ли зажечь вату суперклеем, чем смывать?, что клеит? — все под катом!


      Приклеиться к полному тексту статьи!
    • Опусы про Его Величество Клей. Часть первая — вводная

      • Tutorial
      Есть такие области знания, которые «аршином общим не измерить...». В принципе, в моей «домашней» области, коллоидной химии, под такое направление можно спокойно помещать любое фундаментальное понятие, будь-то адсорбция (с адсорбентами) или адгезия (с клеями). Честно говоря, мысль написать про клей у меня не возникала. Но когда читатели в каждой теме, связанной с полимерами начинают просить рассказать про клеи — об этом поневоле задумаешся (ну и хочется конечно же отпарировать на «все надо клеить суперклеем»). Адгезия и клеи — очень обширная тема, поэтому я все-таки решил за нее взяться, но разбить повествование на несколько частей. Сегодня первая часть — вводно-информационная. Чтобы узнать за счет чего клей клеит, какие бывают клеи и какой клей лучше подходит для склеивания _____ (вписать нужное), традиционно идем под кат (и кладем в закладки).

      Читать дальше →
    • «Если вам нужно кого-то убить, то вы обратились по адресу»

      • Перевод


      Свежим мартовским днём 2016 года Стивен Олвайн вошёл в закусочную «Вендис» в Миннеаполисе. Ощущая запах застарелого масла для жарки, он искал человека в тёмных джинсах и синей куртке. Олвайн, работавший в службе поддержки в области ИТ, был тощим ботаником в проволочных очках. У него с собой было $6000 наличными – он собрал их, отнеся в ломбард серебряные слитки и монеты, чтобы избежать подозрений по поводу снятия денег с банковского счёта. Он обнаружил нужного человека в одной из кабинок.

      Они договорились о встрече на сайте LocalBitcoins, где собираются люди, желающие купить или продать криптовалюту близ своего места жительства. Олвайн открыл приложение Bitcoin Wallet на телефоне и передал наличные, а человек отсканировал QR-код для перевода биткоинов. Транзакция прошла без проблем. Потом Олвайн вернулся к машине и обнаружил, что ключи от неё остались внутри, а дверь заперта.
      Читать дальше →
    • Решето Эратосфена за O(n). Доказательство

        В комментариях к одному из прошлых постов о решете Эратосфена был упомянут этот короткий алгоритм из Википедии:

        Алгоритм 1:

        1: для i := 2, 3, 4, ..., до n: 
        2:  если lp[i] = 0:
        3:       lp[i] := i
        4:       pr[] += {i}
        5:   для p из pr пока p ≤ lp[i] и p*i ≤ n:
        6:       lp[p*i] := p
        Результат:
         lp - минимальный простой делитель для кажого числа до n
         pr - список всех простых до n.
        

        Алгоритм простой, но не всем он показался очевидным. Главная же проблема в том, что на Википедии нет доказательства, а ссылка на первоисточник (pdf) содержит довольно сильно отличающийся от приведенного выше алгоритм.

        В этом посте я попытаюсь, надеюсь, доступно доказать, что этот алгоритм не только работает, но и делает это за линейную сложность.
        Читать дальше →
      • В этой статье слишком много воды

          «Мы начинаем разработку новой игры, и нам нужна классная вода. Такую сможешь?»


          , — cпросили меня. «Да не вопрос! Конечно, смогу», — ответил я, но голос предательски задрожал. «А, еще и на Unity?», — и мне стало понятно, что впереди очень много работы.
          Читать дальше →
        • Дизайн видеоигр: нужно понимать, что наследуешь

          • Перевод
          image

          В прошлом году я сделал короткий доклад на GDC о важности понимания того, на каком наследии прошлого основана ваша игра. Видео доклада опубликовано здесь (моя часть начинается с 28:50):

          Ссылка
          Три страйка — и ты выбываешь.

          Эта фраза настолько популярна, что практически стала идиомой. И в самом деле, хоть некоторых наших неамериканских друзей могут сбивать с толку правила бейсбола, это правило они скорее всего знают. Но…

          … на самом деле это неправда. Бьющий не выбывает после третьего страйка. Он выбывает, только когда кэтчер ловит мяч.
          Читать дальше →
          • +12
          • 2,4k
          • 4
        • Музыка для ваших проектов: 12 тематических ресурсов с треками по лицензии Creative Commons

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

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

            Читать дальше →
            • +55
            • 13,7k
            • 9
          • Прекратите скручивать!

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

            Дальше много текста, фотографий, разборок. Ну все как обычно
          • C++ Russia 2019: бесплатная трансляция первого зала и немного о том, что будет на конференции

              19-20 апреля, то есть уже на этих выходных, пройдёт конференция C++ Russia. Это два дня и несколько треков хардкорных технических докладов, посвященных C++: concurrency, производительность, архитектура и инфраструктурные решения — всё для того, чтобы ваш код выглядел лучше и делал больше. Конференция ориентирована на опытных разработчиков, никаких вводных докладов!


              Во-первых, вы сможете посмотреть совершенно бесплатную онлайн-трансляцию. На ней будет только первый день и первый зал + онлайн-интервью между докладами. Что это за доклады — обсудим под катом.


              Важно, что трансляция начнётся в 9:45 утра (по московскому времени), за 15 минут до открытия и закончится ближе к 7 часам вечера. Всё это время вы сможете слушать доклады с небольшими перерывами на онлайн-интервью со спикерами. Ссылка будет работать весь день, поэтому можно открывать её только на наиболее важных для вас докладах.


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


              Читать дальше →
            • GHIDRA, исполняемые файлы Playstation 1, FLIRT-сигнатуры и PsyQ

              • Tutorial

              Привет всем,



              Не знаю как вам, а мне всегда хотелось пореверсить старые приставочные игры, имея в запасе ещё и декомпилятор. И вот, этот радостный момент в моей жизни настал — вышла GHIDRA. О том, что это такое, писать не буду, можно легко загуглить. И, отзывы настолько разные (особенно от ретроградов), что новичку будет сложно даже решиться на запуск этого чуда… Вот вам пример: "20 лет работал в иде, и смотрю я на вашу Гидру с большим недоверием, потому что АНБ. Но когда-нибудь запущу и проверю её в деле".

              Читать дальше →
            • Как опубликовать перевод художественной книги в России

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

                Но нельзя просто так взять и перевести произведение, которое вам понравилось. Ведь это будет нарушением авторских прав.

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

                  10 апреля 2019 года GitHub без объявления войны удалил репозиторий популярной утилиты GoodByeDPI, предназначенной для обхода государственных блокировок (цензуры) сайтов в Интернете.


                  UPD от 13.04.2019
                  Сухие факты. Недоступен не только репозиторий, а весь аккаунт целиком. Хотя для любого постороннего пользователя всё выглядит, как удаление, на самом деле — это shadowban, о чем сообщил автор. Далее он признался, что намеренно сохранил магнет-ссылки на видео со сценами убийств в Новой Зеландии на публичной странице своего аккаунта. Позже экспериментально выяснили, что блокировку автору программы для борьбы с блокировками дали автоматические алгоритмы. Но было и предположение, что бан был за спам с диапазона IP, к которому принадлежит автор. ТЧК

                  UPD от 16.04.2019
                  Судя по всему, shadowban с аккаунта ValdikSS снят, все репозитории восстановлены. Причина была в ссылках на видео со стрельбой.

                  Что такое DPI, как связан с блокировками и зачем с ним бороться (по версии автора):
                  Провайдеры Российской Федерации, в большинстве своем, применяют системы глубокого анализа трафика (DPI, Deep Packet Inspection) для блокировки сайтов, внесенных в реестр запрещенных. Не существует единого стандарта на DPI, есть большое количество реализации от разных поставщиков DPI-решений, отличающихся по типу подключения и типу работы.
                  Читать дальше →
                • Функциональное мышление. Часть 11: Финал

                  • Перевод

                  Сегодня мы заканчиваем нашу серию статей о функциональном программировании. Получилось 11 частей. Я считаю, что это достижение. В этой статье реализуем простой стековый калькулятор (также известный как "обратная Польская нотация"). Реализация практически полностью построена на функциях, лишь с одним специальным типом, и вообще без сопоставления с образцом, так что это превосходный полигон для концепций, затронутых в нашей серии.



                  Хочу отдельно поблагодарить @kleidemos. Именно он выступил главным переводчиком и менеджером всей серии статей. Спасибо!


                  Читать дальше →
                • Ломаем простую «крякми» при помощи Ghidra — Часть 1

                  О том, что это за зверь такой — Ghidra («Гидра») — и с чем его едят она ест программки, многие уже, наверняка, знают не понаслышке, хотя в открытый доступ сей инструмент попал совсем недавно — в марте этого года. Не буду докучать читателям описанием Гидры, ее функциональности и т.д. Те, кто в теме, уже, уверен, всё это сами изучили, а кто еще не в теме — могут это сделать в любое время, благо на просторах веба сейчас найти подробную информацию не составит труда. Кстати, один из аспектов Гидры (разработку плагинов к ней) уже освещался на Хабре (отличная статья!) Я же дам только основные ссылки:


                  Итак, Гидра — это бесплатный кроссплатформенный интерактивный дизассемблер и декомпилятор с модульной структурой, с поддержкой почти всех основных архитектур ЦПУ и гибким графическим интерфейсом для работы с дизассемблированным кодом, памятью, восстановленным (декомпилированным) кодом, отладочными символами и многое-многое другое.

                  Давайте попробуем уже что-нибудь сломать этой Гидрой!
                  Читать дальше →
                • With love from Stepik: образовательная платформа Hyperskill

                    Я хочу поговорить с вами о том, почему мы чаще чиним сантехнику, чем пишем про неё диссертации, о разных подходах к обучению программированию и о том, как мы пробуем применить один из них в нашем новом продукте Hyperskill.

                    Если вам не по душе длинные вступления, то переходите сразу к параграфу про программирование. Но так будет менее весело.


                    Читать дальше →
                  • Релиз кросс-платформенного .NET UI-тулкита AvaloniaUI 0.8

                      Состоялся очередной бета-релиз AvaloniaUI.



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

                      Читать дальше →
                    • Как вычисляют сумасшедших — 2: блеск и нищета патопсихологической диагностики

                        Привет, Хабр!

                        Меня зовут Кристина, я клинический психолог. Около двух лет назад я опубликовала на Geektimes пост о патопсихологической диагностике, в котором рассказала о том, как производится исследование психики пациентов в психиатрическом стационаре на предмет наличия или отсутствия нарушений мышления, памяти и других функций психики.

                        image
                        Всё, что нужно знать о нашей патопсихологической диагностике. Источник: [43, стр. 133-134].

                        В комментариях мне задали довольно много вопросов о том, насколько надёжны используемые методы, где границы их применимости и т.д. В своих ответах я последовательно защищала используемый инструментарий и психиатрию / психологию в целом.

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

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

                        Пост написан в соавторстве с юзером hdablin. Текст получился довольно длинным, в нём мало картинок и много пространных рассуждений. Но если вам интересны проблемы диагностики в психиатрии и смежных дисциплинах, добро пожаловать под кат.
                        Читать дальше →
                      • Стандарт WASI: запуск WebAssembly за пределами веба

                        • Перевод
                        27 марта мы в Mozilla объявили о начале стандартизации WASI, системного интерфейса WebAssembly (WebAssembly system interface).

                        Зачем: разработчики начали применять WebAssembly за пределам браузера, потому что WASM обеспечивает быстрый, масштабируемый, безопасный способ запуска одинакового кода на всех машинах. Но у нас пока нет прочного фундамента для такой разработки. Вне браузера нужен некий способ общения с системой, то есть системный интерфейс. А у платформы WebAssembly его пока нет.

                        Что: WebAssembly — это ассемблер для концептуальной, а не физической машины. Он работает на различных архитектурах, поэтому и системный интерфейс нужен для концептуальной ОС, чтобы работать на разных операционных системах.

                        Вот что такое WASI: это системный интерфейс для платформы WebAssembly.
                        Читать дальше →
                      • Монады с точки зрения программистов (и немного теории категорий)

                          Введение


                          Как узнать, что человек понял, что такое монады? Он сам вам об этом расскажет в первые 5 минут общения и обязательно попробует объяснить. А ещё напишет об этом текст и по возможности где-нибудь его опубликует, чтобы все остальные тоже поняли, что такое монады.


                          Среди функциональных программистов, особенно на Haskell, монады стали чем-то вроде локального мема. Их часто пытаются объяснить, отталкиваясь от частных случаев и сразу приводя примеры использования. Из-за этого слушатель может не уловить основную суть понятия, а монады так и останутся чёрной магией, ну или просто средством костылизации побочных эффектов в чисто функциональных языках.


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


                          Моё изложение во многом основывается на книге Бартоша Милевски "Теория категорий для программистов", которая создавалась как серия блогпостов, доступна в PDF, а недавно вышла в бумаге.


                          Примеры приводятся на Haskell, предполагается, что читатель знаком с синтаксисом и основными понятиями языка. В упомянутой книге есть примеры и на С++, можете сравнить чистоту и понятность кода.


                          Читать дальше →