Обновить
185.56

Реверс-инжиниринг *

Расковырять и понять как работает

Сначала показывать
Порог рейтинга
Уровень сложности

Исследование формата бинарных файлов на Python

Время на прочтение12 мин
Количество просмотров18K

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

Читать далее

Привет Emotet! Заключительная 3-я часть.Продолжаем исследовать дамп оперативной памяти заражённый Emotet

Время на прочтение6 мин
Количество просмотров3.5K

Эта статья - продолжение серии статей "Привет Emotet!", заключительная её часть
Первую и вторую статьи вы можете найти здесь и здесь.

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

Читать далее

Привет Emotet! Исследуем дамп оперативной памяти заражённый Emotet

Время на прочтение7 мин
Количество просмотров4.3K

Всем привет, как обещал в первой части статьи «Привет Emotet!», в данной статье мы приступим к расследованию инцидента в дампе оперативной памяти и заодно пройдём задание от cyberdefenders.org ответив на 10 несложных вопросов, а также узнаем как вредонос скрывает свою активность в скрытых процессах и как ему удаётся обходить средства защиты информации. Разберём распространённую атаку Direct Kernel Object Manipulation (DKOM), которая часто используется Rootkit’ами для скрытия своей активности.

Читать далее

Как я случайно обошёл блокировку Google Pixel и получил за это $70 тысяч

Время на прочтение8 мин
Количество просмотров91K

Я обнаружил уязвимость, похоже, затронувшую все телефоны Google Pixel: вы можете дать мне любое заблокированное устройство Pixel, и я верну его вам разблокированным. Баг устранили в обновлении безопасности 5 ноября 2022 года.

Проблема позволяла атакующему с физическим доступом к телефону обойти меры защиты экрана блокировки (отпечаток пальца, PIN и так далее), получив полный доступ к устройству пользователя. Уязвимость зафиксирована как CVE-2022-20465; она может затронуть и устройства Android других производителей. Мои рекомендации по патчу и сырой баг-репорт, отправленные Google, можно найти здесь: feed.bugs.xdavidhu.me.
Читать дальше →

Через две недели: эмулятор Сферы, часть 3

Время на прочтение9 мин
Количество просмотров3.5K

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

После долгого перерыва — снова Сфера. Прошлые статьи (раз, два) были про то, как войти в игру и в ней остаться на всю жизнь. Гулять по миру, конечно, интересно, но быстро надоедает: делать в нем нечего, монстров и NPC нет, даже в озере утонуть не выйдет. Начнем нашу дорогу в темное средневековье там же, где начинается сама игра — в стартовом данже.

Читать далее

Считыватель показаний цифровых штангенциркулей VINCA

Время на прочтение6 мин
Количество просмотров8.6K

Этот проект посвящён замене кабеля передачи данных VINCA DTCR-03 «RS232» для цифрового штангенциркуля на микроконтроллер ESP8266/ESP32 с поддержкой Wi-Fi.

Штангенциркуль VINCA DCLA-0605 поддерживает передачу данных на ПК только через проприетарный кабель. Можно, конечно, купить адаптер, но это не так интересно, поэтому я решил разобраться с принципом работы RS232 и реализовать собственное решение.
Читать дальше →

Пишущая машинка из телетайпа и Arduino

Время на прочтение4 мин
Количество просмотров8.1K

Consul 254 похож на принтер, но это не принтер. Ещё у него есть клавиатура, но при этом печатающая часть никак не связана со вводом, поэтому так просто получить что-то на бумаге не выйдет. Эту проблему мы и будем сегодня решать с помощью Ардуино и цветных проводочков. Конечно всё уже украдено до нас, и такую вещь уже описывали в журнале Моделист-Конструктор в 1989 году. Правда при этом использовался компьютер "Специалист", а не Ардуино.

Читать далее

Необычный случай восстановления данных или немного реверс-инжиниринга PLC Siemens Simatic S7-300

Время на прочтение9 мин
Количество просмотров14K

На вопрос, какие не самые обычные случаи восстановления данных могут повстречаться в компании, профиль которой – извлекать информацию из поврежденных накопителей, можно привести пример одной из недавних задач с MMC картой из промышленного ПЛК (PLC) Siemens Simatic S7-300, в задачи которого входило управление несколькими десятками электродвигателей и клапанов, а также анализ параметров целой россыпи датчиков некоего конвейера.

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

Читать далее

Rust'ерзание краба. Пробуем реверсить Rust удобно

Время на прочтение10 мин
Количество просмотров9.2K

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

В этой статье мы посмотрим на него с "обратной" стороны, а именно попробуем пореверсить программу, написанную на Rust, и выяснить, что можно сделать, чтобы сделать ее анализ проще. Рассмотрим утилиты, приложения и плагины, а также напишем свой плагин для IDA Pro, Cutter и rizin, чтобы автоматически создать сигнатуры для исполняемого файла без отладочных символов. Поговорим о FLIRT-сигнатурах, их преимуществах и недостатках и о том, можно ли автоматизировать их создание.

Читать далее

Портируем Maniac Mansion (1987) на ZX Spectrum Next (2017)

Время на прочтение11 мин
Количество просмотров5.6K

Maniac Mansion - это классическая приключенческая игра с интерфейсом point and click. Она вышла в конце 80х годов для платформ Commodore 64, Apple II, Atari ST, Amiga, IBM PC и NES. Популярный в наших краях ZX Spectrum этой игры не увидел.

Может быть дело в том, что графический режим ZX Spectrum поддерживает только два цвета на знакоместо. А может, потому что аппаратных спрайтов там не было (хотя в Apple II их не было тоже).

Пришло время исправить эту несправедливость и портировать Maniac Mansion на улучшенный ZX Spectrum - ZX Spectrum Next.

Читать далее

RE Crypto Part#2

Время на прочтение4 мин
Количество просмотров1.8K

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

ВНИМАНИЕ: Вся информация представленная в статье предоставляется исключительно в образовательных целях. Все файлы, которые будут рассматриваться в качестве примеров ни в коем случае нельзя запускать или исследовать вне тестовой виртуальной среды!

Читать далее

Из-за чего весь сыр-бор: про уязвимость Text4Shell

Время на прочтение7 мин
Количество просмотров8.3K

За последнюю неделю в сфере инфобеза стали появляться новости о втором пришествии уязвимости Log4Shell, получившей название Text4Shell. Первым об уязвимости сообщил Alvaro Muñoz, который рассказал о возможности удаленного выполнения произвольных скриптов в продуктах, использующих библиотеку Apache Commons Text.

Сама уязвимость была обнаружена еще в марте 2022 года, но команде Apache Commons потребовалось время на ее исправление и выпуск обновлений библиотеки. Уязвимости был присвоен идентификатор CVE-2022-42889 (CWE-94 — Code Injection) и достаточно высокий уровень риска CVSS 9.8.

Когда уязвимость была обнаружена, некоторые эксперты выразили сомнения в том, что она представляет серьезную опасность. Они ссылаются на то, что уязвимость невозможно эксплуатировать в версиях JDK 15+, а также на то, что попадание пользовательских данных в функцию интерполяции переменной маловероятно. Однако при дальнейшем изучении уязвимости были выявлены и другие векторы ее эксплуатации.

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

Читать

Почему современное ПО такое медленное — разбираемся на примере диктофона Windows

Время на прочтение3 мин
Количество просмотров45K
Я прошу прощения за такой заголовок, потому что современное ПО может быть медленным по множеству разных причин. Слепое использование одного объяснения без малейшего расследования — это программный аналог карго-культа. В этом посте рассматривается один пример того, почему современное ПО может быть мучительно медленным.


Я всего лишь хотел записать сорокасекундную озвучку простенького видео, поэтому запустил стандартное приложение Запись голоса (Voice Recorder) операционной системы Windows и нажал на кнопку записи. Казалось, что ничего не произошло.

Позже я проверил и оказалось, что программа выполняет запись. Я немного поэкспериментировал и выяснил, что в первый раз, когда я начинал запись после запуска Записи голоса, её реакции иногда предшествовала долгая задержка. Двадцатисекундная задержка при записи сорокасекундного клипа — довольно низкий КПД. Это расстроило меня настолько, что я захотел разобраться, почему так получается, и запустил трассировку ETW.
Читать дальше →

Ближайшие события

Российский серверный процессор Baikal S

Время на прочтение9 мин
Количество просмотров58K

Прошедшие десятилетия отразились на российской микроэлектронике сразу в двух диаметрально противоположных аспектах. С положительной стороны можно отметить период процветания нулевых годов (фундамент которого было заложен в 90-х) до мирового экономического кризиса 2008-го, и период с 2009 по 2013 годы. Именно тогда на территории России началось первое серьёзное финансирование отрасли: появились новые и получили поддержку уже существующие дизайн-центры, способные разрабатывать (пусть и при помощи государственных субсидий) микропроцессоры мирового уровня. Были предприняты попытки локализации производства на территории страны – купленная производственная линия у STMicroelectronics для «Микрона», организованное предприятие министром связи Леонидом Рейманом Ангстрем-Т со списанным AMD оборудованием – всё это могло быть отличным фундаментом для старта отечественной полупроводниковой промышленности, покрывающим часть потребностей внутреннего рынка. Однако события 2014-го года и дальнейший спад экономики в совокупности со странной внешней политикой правительства, в связи с чем Россия попала в санкционные списки развитых стран, а также событиями 2022-го года фактически задушили всю отрасль, оставив тысячи инженеров дизайн-центров у разбитого корыта с абсолютным непониманием дальнейшей судьбы их разработок.

Читать далее

Изучаем троянскую повестку с мимикрией под XDSpy

Время на прочтение8 мин
Количество просмотров8.9K

В ходе постоянного отслеживания угроз ИБ утром 3 октября в одном из Telegram-чатов мы заметили промелькнувший файл со злободневным названием Povestka_26-09-2022.wsf. Беглый осмотр содержимого привлек наше внимание, и мы решили разобрать его подробней. И, как оказалось, не зря.

Подробности под катом

Cнова про llvm

Время на прочтение4 мин
Количество просмотров5.6K

Исследования любого приложения достаточно рутинный и длительный процесс. Без использования инструментов и автоматизации разобрать даже самые простые алгоритмы написанные на некоторых языках программирования практически невозможно. (Go рантайм без символов). Справиться с этой тяжелой задачей и предоставить набор инструментов могут следующие приложения:

- Hopper
- IDA Pro
- Ghidra
- radare2
- rizin

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

Читать далее

BMW и диагностика по Ethernet: протокол HSFZ

Время на прочтение9 мин
Количество просмотров8.9K

Начиная с F-серии диагностику автомобилей BMW можно производить по Ethernet. Для этого достаточно простого переходника "Ethernet - OBDII", собранного из пяти проводов и одного резистора.

Провода-проводами, но еще нужен протокол, чтобы обеспечивать корректную работу с блоками автомобиля.

Что за протокол?

Взлом игрового архива трэш-клона GTA 3 и использование Kaitai для упрощения распаковки

Время на прочтение12 мин
Количество просмотров4.6K

Эта статья продолжает идею предыдущей "Как у меня получилось взломать и распаковать ресурсы старой игры для PSX" здесь я также попытаюсь с точки зрения "новичка в реверс-инжиниринге" описать ход мыслей и действий с помощью которых мне удалось "с нуля" разобраться в устройстве игрового архива.

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

Читать далее

Как устроено электронное голосование простым языком и в рисунках

Время на прочтение4 мин
Количество просмотров25K

В этой статье я хочу рассказать вам, как устроено электронное голосование в Москве, и показать, почему оно абсолютно не защищено от корректировки итогов выборов. Моя задача — не рассказать о том, как конкретно корректировали результаты выборов, а продемонстрировать порочность архитектуры, которая, несмотря на все заявления Департамента информационных технологии (ДИТ) г. Москвы, допускает вмешательство и возможность изменения итоговых результатов электронного голосования.

Читать далее

Используем телетайп Consul 254 вместо клавиатуры для Arduino

Время на прочтение4 мин
Количество просмотров4.9K

Из документации:

Электрифицированная пишущая машина Consul 254 предназначена:

а) для ввода алфавитно-цифровой информации в ЭВМ при печатании оператора на клавиатуре машины

б) для вывода алфавитно-цифровой информации в порядке печати на лист или рулон бумаги по сигналам, посылаемым от ЭВМ

в) для применения в устройствах подготовки данных или в других устройствах, параметры которых соответствуют параметрам указанной машины

Сегодня мы займёмся пунктом "а" - будем читать данные с клавиатуры с помощью ЭВМ Arduino Uno.

Читать далее

Вклад авторов