Критическая уязвимость SambaCry: как защититься

Автор: admin от 27-05-2017, 09:40, посмотрело: 42

Критическая уязвимость SambaCry: как защититься


В популярном пакете для создания сетевых дисков на различных ОС Samba обнаружена критическая уязвимость, позволяющая удаленно получать контроль над Linux и Unix-системами. Ошибка просуществовала 7 лет — уязвимости CVE-2017-7494 подвержены все версии пакета, начиная с Samba 3.5.0, который вышел 1 марта 2010 года. Сегодня мы поговорим о том, как защититься от этой уязвимости.

Категория: Информационная безопасность, Linux

 

Реверс-инжиниринг игры Lost Vikings

Автор: admin от 27-05-2017, 00:40, посмотрело: 29

После интересной обратной разработки игрового движка Comprehend (см. Recomprehend) я подбирал новый проект для реверс-инжиниринга игры под DOS. За долгие годы разные люди реверсировали множество старых популярных игр и опубликовали для них спецификации и инструменты. Например, на сайте shikadi.net есть куча информации об играх, в которые я играл в детстве.

Я обнаружил, что для реверс-инжиниринга игры The Lost Vikings компании Blizzard (тогда она называлась Silicon and Synapse), похоже, не предпринималось никаких серьёзных попыток. Игра была выпущена в 1993 году, на закате эры DOS, и очень нравилась мне в юности. The Lost Vikings — это головоломка-платформер, в которой игрок управляет тремя викингами, каждый из которых имеет собственные умения. Викингам нужно объединить свои силы для решения загадок и прохождения уровней с различной тематикой: космический корабль, доисторический мир, Древний Египет. На изображении ниже показан первый уровень игры (источник: Strategy Wiki):

Реверс-инжиниринг игры Lost Vikings

Казалось, что эту игру разобрать будет довольно просто. Уровни основаны на тайловых картах и содержат простые загадки: кнопки, включающие и отключающие объекты, передвижные ящики и поднимающий предметы кран. И на самом деле, бoльшая часть проекта по обратной разработке была достаточно прямолинейной. У игры есть один пакетный файл данных, содержащий сжатые блоки файлов. Блоки кодируют различные ресурсы игры, такие как спрайты, карты, звуки и т.д. Я написал несколько утилит, которые можно использовать для просмотра ресурсов игры: The Lost Vikings Tools.

Категория: Программирование » Веб-разработка

 

О дженериках в PHP и о том, зачем они нам нужны

Автор: admin от 26-05-2017, 21:25, посмотрело: 33

О дженериках в PHP и о том, зачем они нам нужны


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

Категория: Программирование

 

К вопросу о константах

Автор: admin от 26-05-2017, 21:20, посмотрело: 33

Есть ли в мире что либо более постоянное, чем временные переменные.



Просматривая тематический форум, увидел традиционное «Не работает скетч, подскажите, в чем дело» — таких постов чуть меньше, чем все, но в заголовке фигурировала работа с SD карточкой, поэтому решил глянуть. Больше всего порадовала фраза, что «скорее всего, дело в карточке, но решил попросить посмотреть код, может, что интересного увидите» — не ручаюсь за точность цитаты, но смысл передал верно. Действительно, интересного там наблюдалось много, мой взгляд зацепился за выражение
unsigned long Interval = 2000;…
while (micros() < StartInterval + Interval) {};
причем дальше эта переменная использовалась, как константа в запуске задержки. Оставим за скобками способ обращения с временем, сейчас речь не об этом.

Сначала я, действуя на автомате, написал, что следует применять #define, «да призадумалась, а сыр во рту держала». Может быть, я чего-то не знаю, и применение констант в таком формате может быть выгодно при определенных условиях? Вдумчивое чтение мануалов на разные микроконтроллеры (МК) привело к интересным находкам, которыми (вместе с ответом на мой вопрос) и собираюсь поделиться под катом.

Категория: Программирование

 

Russian Code Cup — по следам отборочного раунда

Автор: admin от 26-05-2017, 21:05, посмотрело: 32

Russian Code Cup — по следам отборочного раунда


14 мая прошёл отборочный раунд Russian Code Cup 2017. По традиции выкладываем разбор задач и подводим итоги.


A. Маленькие числа
B. Новая клавиатура
C. Складывание фигуры
D. Остроугольные треугольники
E. Объединение массивов
F. Два поддерева


В раунде участвовали 603 человека: приблизительно по 200 лучших программистов с каждого квалификационного раунда. По результатам отборочного раунда мы взяли в финал 55 участников.

Категория: Программирование

 

Прокторинг в онлайн-экзаменах: как это работает?

Автор: admin от 26-05-2017, 18:00, посмотрело: 45

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

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

Прокторинг в онлайн-экзаменах: как это работает?


Узнать про контроль онлайн-экзаменов

Категория: Программирование » Веб-разработка

 

Скит, Core, рок-н-ролл: как прошёл DotNext 2017 Piter

Автор: admin от 26-05-2017, 17:25, посмотрело: 27

Скит, Core, рок-н-ролл: как прошёл DotNext 2017 Piter

Когда IT-конференция проходит много лет подряд, она становится своего рода «годичными кольцами»: по ней можно проследить, как технологии росли и развивались со временем. Скажем, в прошлом июне можно было увидеть на петербургском DotNext, как Дино Эспозито распекал (ASP).NET Core за неготовность к реальным задачам. А в декабре на московском DotNext интонация уже изменилась: мол, тащить Core в продакшен ещё не требуется, но вот разбираться с ним уже стоит.

Теперь в Петербурге прошёл новый DotNext (впервые длившийся два дня вместо одного). Какое состояние .NET Core показал он? Какие ещё тенденции можно было заметить по его докладам? Как выступил Джон Скит и другие звёзды .NET-мира? Кто это такой харизматичный на фотографии выше? Все подробности — под катом.

Категория: Программирование

 

Удваиваем ёмкость радиосети. Результаты внедрения Cambium Elevate на сетях операторов

Автор: admin от 26-05-2017, 16:50, посмотрело: 28

Удваиваем ёмкость радиосети. Результаты внедрения Cambium Elevate на сетях операторов
Как бы сотовые операторы ни пропагандировали сети 4G, а теперь и будущий 5G – рынок фиксированной беспроводной широкополосной связи даже и не думает уменьшаться.
Как показала практика, сколько бы G не было в стандарте сотовой связи — обеспечить действительно безлимитную связь в рамках сотовой технологии невозможно, и даже с новыми G-стандартами мы по-прежнему считаем GB трафика, а контент становится всё тяжелее (спасибо 4K-кино и обилию тяжеловесной рекламы).
Кстати, контент влияет и на запросы клиентов сетей фиксированной радиосвязи. Если раньше им хватало скоростей 1-3 Мбит/с, то сейчас этого явно недостаточно — нужны десятки и сотни мегабит каждому. С другой стороны, пути экстенсивного развития (получения дополнительных частот) практически исчерпаны — эфир не резиновый, да и дорого это. Поэтому сейчас как никогда остро встал вопрос об эффективности использования имеющегося частотного ресурса.
Именно для такого случая компания Cambium в прошлом году предложила идею Elevate — софт для недорого железа, который позволяет ему (без замены абонентов) работать с базовыми станциями Cambium с всеми их преимуществами — переиспользованием частот и честным TDMA. Прошло несколько месяцев, и вот первые практические результаты.

Категория: Админитстрирование » Сетевые технологии

 

С чем столкнулись при переводе проекта на Android Studio 3.0 Preview и Gradle 4.0-milestone-1

Автор: admin от 26-05-2017, 16:20, посмотрело: 28

После того как на Google IO 2017 Keynote анонсировали новую Android Studio 3.0 Preview и Gradle 4.0-milestone-1, конечно же, руки сразу чесались все это попробовать. Если в первой просто появилось много интересных фишечек, то во втором серьезно поменялось API.


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

Категория: Веб-разработка, Android

 

Путь к трансдьюсерам на чистом JavaScript

Автор: admin от 26-05-2017, 15:35, посмотрело: 26

Если вы наслышаны о так называемых «трансдьюсерах», но до сих пор не применяете их в javascript-разработке, сегодня у вас есть шанс найти ответы на вопросы: «Что такое трансдьюсеры?» и «Как ими пользоваться?». Это позволит вам понять, нужны ли они в ваших проектах, и, если нужны — поможет приступить к их использованию.

Путь к трансдьюсерам на чистом JavaScript


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

Категория: Программирование » Веб-разработка