Обновить
128K+

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

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

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

Разбор медицинского анализатора: Bayer Clinitek Status+

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели14K

Приветствую всех!

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

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

Press F1 to continue

ROP Level 1 в GD32F4: «А метлой дверь подпёр?» Или как нежно слить защищенную прошивку через программатор

Уровень сложностиСложный
Время на прочтение4 мин
Охват и читатели15K

«Граждане новосёлы! Внедряйте культурные навыки!» Пока вы зашиваете коммерческие алгоритмы в кремний и надеетесь на ROP Level 1, где-то в лаборатории уже корабли бороздят просторы народного театра!

Автор статьи официально заявляет, что не несёт ответственности за разбитые коммерческие иллюзии и бинарники. Весь материал предоставлен исключительно в научно-исследовательских, образовательных и превентивно-оборонительных целях. Помните: взлом чужого оборудования без согласия владельца преследуется по закону. Если вы производите серийный продукт — эта статья написана для того, чтобы вы немедленно пошли и включили ROP Level 2 потому как говорил классик, - «Надо, Федя... Надо!»

Читать далее

Как заглянуть внутрь.exe, собранного через Nuitka? Новый инструмент с открытым кодом

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели7.4K

Как узнать, что внутри .exe, собранного через Nuitka? DeNuitkanizator — инструмент с открытым кодом для анализа таких файлов. Извлекает строки, модули, хэши, информацию о защите и многое другое за один запуск.

Читать далее

Как «Союз» считал орбиту шестерёнками: внутри навигационного компьютера «Глобус»

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели35K

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

Читать разбор

Android Kiosk: как купить сухарики, когда ларёк закрыт

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели7.7K

Несколько месяцев назад моему коллеге предстоял долгий перелёт — около 8 часов. Ему быстро стало скучно, и он обратил внимание на экран мультимедийной системы в спинке кресла напротив. Коллега запустил карту полёта и обнаружил, что это Android‑устройство с включённым Kiosk Mode. Этот режим должен помешать (или, по крайней мере, стать серьёзной проблемой) исследованию устройства, но на практике всё оказалось совсем наоборот. Коллега смог без каких‑либо трудностей обойти Kiosk Mode на планшете и прочитать файл /etc/shadow. Именно так появилась идея изучить Kiosk Mode глубже и разобраться: действительно ли он так безопасен?

В этой статье я постараюсь объяснить, как устроен Kiosk Mode в Android изнутри, расскажу об основных компонентах, необходимых приложению, чтобы превратить ваше устройство в kiosk‑девайс, а также приведу несколько примеров реальной эксплуатации kiosk‑устройств и приложений.

Данный материал впервые был представлен в качестве доклада на zeronight.

Читать далее

Как я менял местами персонажей UMK3 на Sega Mega Drive

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели8.1K

В этой статье я подробно разбираю последовательные шаги, которые предпринимал для замены персонажей и их портретов в Ultimate Mortal Kombat 3 на Sega Genesis. Я не профессионал в реверс-инжиниринге и не претендую на исчерпывающую техническую документацию. Напротив, я намеренно оставляю в материале ложные пути и тупиковые ветки исследования — чтобы вы видели реальный процесс поиска, со всеми ошибками и неожиданными поворотами, а не только гладкий финальный результат. Надеюсь эта статья поможет тем кто незнает с чего начать в решении подобной задачи.

Читать далее

Как я написал свой клиент Miracast для шаринга экрана под Linux в 2026 году и погряз в войне за проприетарные байты

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели31K

Как превратить крик души в работающую утилиту и попасть в официальную ArchWiki? Мне 17 лет, и мне просто надоело тянуть HDMI-кабель от ноутбука к телевизору через всю комнату. В этой статье я расскажу, как написал свой стример экрана FluxCast на Python, с какими багами Smart TV пришлось столкнуться и как устроен «слепой» дебаг проприетарного железа по логам пользователей со всего мира.

Читать далее

Аппаратная метрика. Оживляем счётчик покупателей

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели11K

Приветствую всех!

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

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

Press F1 to continue

RuStore качает MAX без спроса и мониторит GPS каждые 5 минут и ему даже не стыдно

Уровень сложностиСредний
Время на прочтение22 мин
Охват и читатели141K

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

С 1 апреля 2024 года RuStore принудительно предустанавливается на все смартфоны, продаваемые в РФ. После недавнего разбора правительственного мессенджера MAX, я декомпилировал APK самого национального стора и проверил его реальное поведение по коду.

нашёл: скрытую подсистему трекинга с записью GPS-координат в локальную SQLite-базу каждые 2 минуты, классический бэкдор для тихой фоновой установки любых пакетов по Push-команде с сервера, слив детальной статистики экранного времени всех ваших приложений, жесткий обход ограничений Android 10+ для сбора несбрасываемых аппаратных IMEI и IMSI, раздачу токенов авторизации VK через AIDL без согласия пользователя, извлечение захардкоженных секретов из C++ библиотек и встроенный движок Касперского с транзитными P2P-узлами и постоянной inotify-слежкой за директорией фото. Все находки сверены с реальным кодом, ссылки на классы и JNI-вызовы внутри.

Читать далее

Мы вскрыли трафик ChatGPT, Gemini и DeepSeek, чтобы понять, откуда берутся «источники» в ответах

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели72K

Когда нейросеть отвечает на вопрос и показывает блок «источников», кажется, что у всех систем это одно и то же — список ссылок, на которые модель опиралась. На деле за этим блоком в каждой системе стоит своя реализация: свой способ обмена с сервером, свой формат ответа, свои поля, из которых интерфейс достаёт цитаты. Мы разобрали сетевой обмен веб-клиентов трёх систем — ChatGPT, Gemini и DeepSeek — и параллельно прогнали через них один и тот же набор запросов по 10 раз, чтобы понять не только техническое устройство цитирования, но и что эти системы реально цитируют.

Сразу оговорка: я основатель RankCaster AI — платформы, которая управляет видимостью брендов в ответах нейросетей. То есть мы изучаем категорию, в которой сами работаем. Чтобы не подыгрывать себе, мы исключили собственный домен из всех таблиц ещё до подсчётов, а ограничения методики описали в полном тексте исследования. Здесь — техническая часть: разбор механики цитирования.

Читать далее

Ломаем ещё один терминал Сбербанка

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели27K

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

Можно узнать далее в статье

Как войти в MAX без пароля, СМС и QR. Две команды, и ты внутри

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели50K

Подробная инструкция: как войти в свой аккаунт MAX, если нет доступа к СМС, QR и паролю. Справится даже твоя бабушка.

Читать далее

Доверенная загрузка без доверия: уязвимость в SoC Ky X1

Уровень сложностиСредний
Время на прочтение16 мин
Охват и читатели15K

Так уж повелось, что в Positive Labs исследованиями одноплатных платформ чаще всего занимаюсь я. Задачи при этом бывают разными: где-то нужно включить Secure Boot или Encrypted Boot, где-то — наоборот, проверить устойчивость этих механизмов к атакам.

Поводом для этой статьи стала обнаруженная уязвимость в чипе Ky X1 – сердце одноплатника Orange Pi RV2, вышедшего в 2025 году. Уязвимость по праву можно назвать учебной – она простая, а процесс её поиска и эксплуатации – прямолинейный, без сложных трюков и неожиданных поворотов. На её примере разберём, как в подобных устройствах реализуются механизмы доверенной загрузки, где именно возникают слабые места и каким образом подобные ошибки могут быть обнаружены и проэксплуатированы.

Читать далее

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

Охота за багом: почему для прохождения Pizza Tycoon достаточно одного Парижа

Время на прочтение6 мин
Охват и читатели10K

В новом релизе Pizza Legacy v0.1.0 появилась возможность выиграть игру, как в оригинале.

Когда я играл в Pizza Tycoon (1994 год) в детстве, то не особо задавался вопросом, как победить. Мне просто нравилось открывать рестораны и придумывать пиццы, а также приторговывать оружием для финансирования роста моей империи пиццы. Но выигрыш? Я никогда до него не доходил и, вероятно, даже не задумывался о нём.

Когда я принялся за проект воссоздания этой игры, то начал изучать файлы данных Pizza Tycoon, обнаружив графический файл ENDE.VGA и текстовый файл ENDE.E, сообщающий нам, что происходит в случае выигрыша:

Первая строка ENDE.E:

Вы достигли немыслимого! Вы — король всего западного рынка фастфуда! Вы — тот самый, МАГНАТ ПИЦЦЫ.

Это даёт нам понять, что игру как-то можно выиграть, но не как именно.

Я просто забыл об этом вопросе, ведь мне предстояло реализовать столь многое до того, прежде чем задумываться о победе игрока, но однажды наткнулся на пост «Я "выиграл" в Pizza Tycoon? (Как это произошло?)». После нахождения этого поста мне стало любопытно, но не настолько любопытно, чтобы заниматься расследованием, поэтому я поискал условия конца игры в ассемблерном коде и попросил Claude проанализировать их. Он сказал следующее:

end_of_week_processing раз в неделю проверяет, есть ли у текущего игрока >= доля рынка 5% во ВСЕХ 10 городах.

Это соответствует моим представлениям: логично с точки зрения геймплея и текста, найденного в ENDE.E. Однако это не соответствовало написанному пользователем Reddit: он утверждал, что у него были рестораны только в Париже и Берлине; возможно, он опустил какие-то подробности или у него просто был повреждённый файл сохранения? Я написал ему, но не получил ответа...

Читать далее

Как я уронил ядро мобильной сети 4G одним пакетом: анатомия Zero‑click уязвимости в Open5GS

Уровень сложностиСложный
Время на прочтение6 мин
Охват и читатели8.6K

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

Мир безопасности телекома для многих IT‑специалистов кажется закрытым клубом, спрятанным за проприетарными вендорами, дорогим оборудованием и тысячами страниц спецификаций 3GPP. Но порой, чтобы положить ядро мобильной сети целого региона не нужна квантовая физика, а достаточно базового понимания бинарных протоколов и одного вырезанного байтика.

В этой статье я расскажу, как я исследовал уязвимости в популярном open‑source ядре мобильной связи Open5GS и почему слепая вера в стандарты ломает код. Мы напишем изящный эксплойт, жонглируя битами в кодировке ASN.1 APER

Читать далее

Pwnd Blaster: беспроводной взлом компьютера через саундбар

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели17K

В своём предыдущем посте я рассказывал о реверс-инжиниринге прошивки моего нового Creative Sound Blaster Katana V2X.

То, что начиналось как попытка написать Linux-инструмент для общения с саундбаром, закончилось обнаружением уязвимостей, позволяющих любому нападающему в радиусе примерно 15 метров от Katana V2X превратить его в шпионское устройство и Rubber Ducky без необходимости сопряжения или физического контакта с оборудованием.

Читать далее

Как RuneScape в 2004 году удавалось работать на 56k-соединении

Время на прочтение20 мин
Охват и читатели11K

В 2004 году я слишком много играл в RuneScape на модеме 56k, который разрывал соединение, когда мама поднимала трубку. 3D-мир, на сервере которого могло быть до тысячи игроков и десятки на экране одновременно... И всё это в браузере со скоростью 5 килобайт в секунду. Каким-то образом всё это работало. Давайте пошагово разберёмся, как же именно.

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

Методология

Подробности, приведённые в этом посте, взяты и декомпилированного клиента RuneScape 2 от 2004 года. Фрагменты кода — это приблизительная трансляция этого декомпилированного кода, местами подчищенная для удобочитаемости, но с сохранением логики.

Базовые принципы различаются между разными версиями, но большинство из них остаётся неизменным от самой RuneScape Classic (2001 год) до современной RuneScape 3 и, разумеется, до Old School RuneScape.

Если вы играли в RuneScape в начале 2000-х и у вас всё ещё есть жёсткие диски из той эпохи, то советую заглянуть в RuneScape Archive Project. Его авторы проделали отличную работу по каталогизации исторических версий RuneScape, которые в противном случае были бы утеряны, и им важен каждый вклад.

Читать далее

Как я купил кота в мешке: реверс-инжиниринг электронных ценников. Часть 1. Знакомство с nrf52832

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели34K

Как-то давным-давно я заинтересовался дешевым железом, ибо был студентом-ардуинщиком, который очень хотел сэкономить. И как-то раз пришла идея — поработать с E-INK дисплеем. Цены на новые модули на Али кусались, поэтому я отправился шерстить Авито и нашел там объявление о продаже б/у электронных ценников из супермаркета и DNS.

О чудо! Всего 250 рублей за штуку: плата, контроллер, корпус, и оно даже работает... наверное.

Я заказал целую партию, не подозревая, что внутри меня ждет коррозия всего - чего можно, чип nRF52832 в новой партии, нестандартный протокол связи и абсолютный ноль документации. О том, как я ковырял эти платы китайским программатором, как писал в RAM через GDB, убил пару ценников, экранов и в итоге завел дисплей через Zephyr RTOS. Спойлер: фрактал Мандельброта успешно выведен! Дум не за горами

Читать далее

Как компьютер Spacelab считал без микропроцессора: реверс-инжиниринг платы из 1980-х

Уровень сложностиСложный
Время на прочтение18 мин
Охват и читатели13K

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

В статье разбираем одну из плат ALU/регистров компьютера Mitra 125 MS, который работал в лаборатории Spacelab на борту Space Shuttle: как из TTL-логики собирали арифметику, зачем 16-битной машине понадобилось 32-битное АЛУ и что можно понять о космическом компьютере 1980-х, прозванивая его схему вручную.

Внутрь Spacelab

Реверс-инжиниринг карт Heroes of Might and Magic III: Horn of the Abyss + парсер на Python

Время на прочтение11 мин
Охват и читатели10K

Мне стало любопытно: смогу ли я распарсить карту HotA и написать такой парсер, который сможет быстро отвечать на вопросы вроде: «Где можно выучить заклинание “Городской портал”?», «Где найти артефакт, например, Чёрный шар?», «Есть ли в тюрьме герой Джелу?» и всё в таком духе.

А ещё я решил, что искать в интернете готовые спецификации скучно. Гораздо интереснее попробовать разобраться самому. Прямо с нуля. Как будто интернета нет, а есть только карты, низкоуровневые редакторы и желание понять, что там внутри.

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

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

Читать далее