Рубрика «реверс-инжиниринг» - 48

YUBITSEC CTF: Изучайте реверс или +925 очков рейтинга за несколько минут - 1
Всем доброго времени суток. Только что подошел к концу очередной CTF от YubitSec, не смотря на сложности, которые возникли в самом начале из-за обильного DDoS'а всех сайтов с заданиями, битва была довольно жесткой. Задания всё ещё доступны по ссылке.Читать полностью »

image

Часть 1: введение

17 апреля 2012 года Джордан Мекнер опубликовал исходный код Prince of Persia.

Даже несмотря на то, что это версия для Apple II, написанная на ассемблере процессора 6502, было очень приятно погрузиться в код этой легендарной игры. Как обычно, меня ждало множество программных интересностей.

Очевидно слабая для программирования игр среда Apple II на самом деле была фундаментом несравнимых ни с чем инноваций и творчества: самомодифицирующийся код, внутренний загрузчик, умный формат гибких дисков и смещение таблиц поиска. В каждом своём модуле Prince Of Persia хранит сокровища инженерной мысли.

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

Как обычно, я вёл подробные записи и на их основе создал эту статью. Надеюсь, она вдохновит других на чтение исходного кода и усовершенствование своих навыков разработки.
Читать полностью »

Все началось с приближающегося релиза проекта, над которым я работаю, под названием «починка Gran Trak 1», о первой аркадной видео-игре 1974 года. Я закончил ремонт электроники и пытался взять интервью у как можно большего числа людей, которые занимались созданием игры. Одно из интервью было с Роном Милнером. Рон интересный парень. Он был инженером и изобретателем секретного мозгового центра Atari в горах — Cyan Engineering с 1973 по 1985 год. Помимо работы с монетоприёмниками он был одним из изобретателей системы видеоигр Atari 2600 и даже помог прототипировать анимации для роботов в Chuck E Cheese. В конце нашего разговора, когда мы болтали обо всем подряд, он спросил:

«Вы когда-нибудь играли в Starship 1
Читать полностью »

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

Больше изоленты!

У меня есть друг, его профессия связана с электромонтажом. Когда он был моложе и циничнее, он любил травить байки про электриков, которые работали на необесточенных сетях. Конец всегда был занимательный, но печальный для главного героя. С компонентной архитектурой так же: где-нибудь не изолируешь один функционал от другого, «ударит током» и тебя, и того, кто будет после тебя. Разница в том, что изоляция в IT пока более затратное удовольствие, чем в электрике.

Про технику безопасности, ядерную физику и любовь: о противоречиях современной ИТ-архитектуры фронтальных решений - 1


Читать полностью »

Доверенная загрузка Шрёдингера. Intel Boot Guard - 1

Предлагаем вновь спуститься на низкий уровень и поговорить о безопасности прошивок x86-совместимых компьютерных платформ. В этот раз главным ингредиентом исследования является Intel Boot Guard (не путать с Intel BIOS Guard!) – аппаратно-поддержанная технология доверенной загрузки BIOS, которую вендор компьютерной системы может перманентно включить или выключить на этапе производства. Ну а рецепт исследования нам уже знаком: тонко нарезать реверс-инжинирингом имплементацию данной технологии, описать её архитектуру, наполнив недокументированными деталями, приправить по вкусу векторами атак и перемешать. Подбавим огня рассказом о том, как годами клонируемая ошибка на производстве нескольких вендоров позволяет потенциальному злоумышленнику использовать эту технологию для создания в системе неудаляемого (даже программатором) скрытого руткита.

Кстати, в основе статьи – доклады «На страже руткитов: Intel BootGuard» с конференции ZeroNights 2016 и 29-й встречи DefCon Russia (обе презентации здесь).

Читать полностью »

Год назад наша CTF-команда на крупном международном соревновании RuCTF в Екатеринбурге в качестве одного из призов получила радиоуправляемый танк.

Зачем команде хакеров игрушечный радиоуправляемый танк? Чтобы его реверсить, конечно.

В статье я расскажу, как при помощи GNU Radio и HackRF One можно c нуля разобраться в беспроводном протоколе управления танком, как декодировать его пакеты и генерировать их программно, чтобы управлять танком с компьютера.

image

Читать полностью »

Проверяем честность игры в рулетку на смарт-контракте Ethereum - 1

Мало кто нынче не слышал о криптовалютах и, в частности, Bitcoin. В 2014-м году, на волне интереса к биткоину, появилась новая криптовалюта — Ethereum. Сегодня, в 2017-м, она является второй по капитализации после биткоина. Одним из важнейших её отличий от биткоина является использование тьюринг-полной виртуальной машины — EVM. Подробнее про эфир можно прочитать в его Yellow Paper.

Смарт-контракты Ethereum обычно пишут на языке Solidity. На Хабре уже были статьи про написание и тестирование смарт-контрактов, например 1, 2, 3. А про связь смарт-контракта с сайтом можно почитать, например, статью о создании простейшей голосовалки на смарт-контракте. В этой статье используется встроенный в кошелёк Mist броузер, но то же самое можно делать используя плагину к Chrome, например MetaMask.
Читать полностью »

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

Но была и проблема: типичное игровое разрешение того времени — 320 на 200 точек при палитре из 256 цветов, что даёт нам 64 килобайта на кадр или полтора мегабайта на 25 кадров, при скорости чтения с компакт диска в 150 килобайт в секунду. Т.е. видео надо было жать и жать довольно сильно, а сжав, потом надо суметь декодировать, ведь мы помним, компы были слабенькие и декодирование, например, MPEG им было вообще не по силам. Тем не менее производители видео игр успешно решили проблему недостаточной производительности породив заодно множество видео-кодеков и игровых видео-форматов, некоторые из которых могли проигрываться аж 286-м (прописью: двести восемьдесят шестым) процессором.

Так началась эпоха FMV игр (Full Motion Video Games). Я думаю, многие помнят её ярких представителей: Crime Patrol от American Laser Games, Lost Eden, Cyberia, Novastorm и даже Command & Conquer, в который многие играли только ради видеовставок между миссиями. В те времена выглядело это очень круто. Вау! Вау! Ну а мне было интересно, как же они закодировали это видео, в книжках о мультимедиа приводили то же описание проблемы, что и я выше, но ничего внятного о методах сжатия не писали, видимо, авторы в этом мало понимали и пересказывали какие-то сомнительные слухи.

На самом деле, всё оказалось очень просто, методов было всего три штуки и все очень простые.
Читать полностью »

Продолжаем серию про чтение бинарных файлов iOS-приложений. Для понимания технических деталей рекомендуется почитать первую часть здесь. В этой статье посмотрим, как укладывается в бинарный файл код на Swift.

Читаем бинарные файлы iOS-приложений. Часть 2: Swift - 1
Читать полностью »

WikiLeaks раскрыла способ, используемый ЦРУ для сокрытия страны происхождения шпионских зловредов - 1
Обратите внимание на место с якобы «русским» текстом

Вплоть до настоящего момента на WikiLeaks публиковалась лишь техническая документация с описанием возможностей программных инструментов Центрального разведуправления США. Документы «Vault 7» представляют собой большой интерес для специалистов по информационной безопасности, телекоммуникационных компаний и, конечно, хакеров. Сейчас редакция ресурса приняла решение начать публикацию исходного кода некоторых программ, что позволяет получить более детальное представление о возможностях ПО от ЦРУ.

Речь идет о релизе инструментария “Marble Framework”, предназначенного для обфускации кода. Этот пакет инструментов использовался сотрудниками ЦРУ для того, чтобы усложнить процесс реверс-инжиниринга различных программ, которые используются разведуправлением для получения разного рода конфиденциальной информации. Marble представляет собой написанное на C++ приложение, обфусцирующее код и комментарии к нему различными способами. В WikiLeaks считают, что ПО из пакета Marble использовалось ЦРУ еще в 2016 году.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js