ассемблер

Реверс USB-SATA-адаптера (история одного стажера)

Реверс USB-SATA-адаптера (история одного стажера)

Предыстория Стажировка – это процесс получения знаний и опыта. Наша команда Raccoon Security считает, что повышение уровня информационной безопасности окружающих нас устройств и ПО невозможно без передачи этих знаний и опыта будущим поколениям специалистов. Именно поэтому мы уже много лет…
Читать дальше
[Из песочницы] Создание примитивного компьютера с нуля

[Из песочницы] Создание примитивного компьютера с нуля

Компьютер — это просто. Или нет? Любой человек, интересующийся сферой информационных технологий, хоть раз задумывался о том, как на самом деле работает компьютер. А и действительно, с помощью компьютера можно сделать столько всего удивительного, что невозможно поверить, что всё, что…
Читать дальше
[Перевод] Создание игры для Game Boy

[Перевод] Создание игры для Game Boy

Несколько недель назад я решила поработать над игрой для Game Boy, создание которой доставило мне большое удовольствие. Её рабочее название «Aqua and Ashes». Игра имеет открытые исходники и выложена на https://github.com/InvisibleUp/AquaAndAshes. Как мне пришла в голову эта идея Недавно я…
Читать дальше
Модернизация IDA Pro. Отладчик для Sega Mega Drive (часть 2)

Модернизация IDA Pro. Отладчик для Sega Mega Drive (часть 2)

Привет всем, В предыдущей статье мы успешно модифицировали ядро эмулятора игр на Sega Mega Drive / Genesis, добавив в него возможность отладки. Теперь пришёл черёд написания собственно плагина-отладчика для IDA Pro, версия 7.0. Приступим. Часть вторая: плагин-отладчик Для начала создадим…
Читать дальше
Модернизация IDA Pro. Отладчик для Sega Mega Drive (часть 1)

Модернизация IDA Pro. Отладчик для Sega Mega Drive (часть 1)

Приветствую! Товарищи реверсеры, ромхакеры: в основном эта статья будет посвящена вам. В ней я расскажу вам, как написать свой плагин-отладчик для IDA Pro. Да, уже была первая попытка начать рассказ, но, с тех пор много воды утекло, многие принципы пересмотрены.…
Читать дальше
Бэкдоры в микрокоде ассемблерных инструкций процессоров x86

Бэкдоры в микрокоде ассемблерных инструкций процессоров x86

Софту мы не доверяем уже давно, и поэтому осуществляем его аудит, проводим обратную инженерию, прогоняем в пошаговом режиме, запускаем в песочнице. Что же насчёт процессора, на котором выполняется наш софт? – Мы слепо и беззаветно доверяем этому маленькому кусочку кремния.…
Читать дальше
[Перевод] Нужно ли учить C для понимания работы компьютера?

[Перевод] Нужно ли учить C для понимания работы компьютера?

Я часто слышал, что для понимания работы компьютера люди предлагают изучать C. Это хорошая мысль? Вы уверены? Сразу изложу выводы статьи, просто для абсолютной ясности: C — это не то, «как работает компьютер». Не думаю, что большинство людей говорят буквально,…
Читать дальше
[Перевод] Нужно ли учить C для понимания работы компьютера?

Что такое SMP и с чем его едят

Введение Доброго времени суток, сегодня хотелось бы затронуть достаточно простую тему, которая почти никем из обычных программистов неизвестна, но каждый из вас, скорее всего, ей пользовался. Речь пойдет о симметричной мультипроцессорности(в народе — SMP) — архитектура, которая встречается во всех…
Читать дальше
[Из песочницы] EHCI по-людски на русском языке

[Из песочницы] EHCI по-людски на русском языке

Введение Всех приветствую. Сегодня хочу поделиться опытом и всё-таки по-моему внятно объяснить про такой, на первый взгляд, простой стандарт для USB 2.0 хост-контроллера. Изначально можно представить себе что USB 2.0 порт — это всего лишь 4 пина, по двум из…
Читать дальше
Мигаем светодиодом в STM32 на ассемблере

Мигаем светодиодом в STM32 на ассемблере

Некотрое время назад захотелось мне освоить ассемблер и после прочтения соответствующей литературы пришло время практики. Собственно о ней и пойдет дальше речь. Первое время я практиковался на Arduino Uno (Atmega328p), теперь решил двигаться дальше и взялся за STM32. В руки…
Читать дальше