Обновить
256K+

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

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

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

Настоящий Liquid Glass, как у системного HUD на macOS 26, через приватные API

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

Я хотел сделать маленькую OSD-панель яркости на macOS так, чтобы она выглядела как системный HUD: не просто полупрозрачная плашка поверх обоев, а нормальное стекло, через которое видно и немного преломляется рабочий стол. По дороге выяснилось неприятное: SwiftUI .glassEffect для такой задачи не подходит вообще, публичный NSGlassEffectView даёт только половину результата, а вид, близкий к системному HUD, появляется уже после ковыряния приватного CAFilter glassBackground. Ниже — весь путь, с кодом, ошибками и местами, где я сам сначала чинил не то

Читать далее

Новости

Самодельный BIOS для микшерного пульта и запуск DOS на нём

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

В 1994 году у меня появился первый компьютер: Intel i486 DX2-66 с 4 МБ ОЗУ и жёстким диском на 512 МБ. На нём были установлены IBM OS/2 и Microsoft Windows 3.11. Следующие четыре года я апгрейдил эту машину каждые несколько месяцев, добавляя больше ОЗУ (до 16 МБ), привод CD-ROM и карту SoundBlaster. Так я научился апгрейдить эту машину, устанавливать новое ПО, а потом и писать ПО на BASIC. Но я ни разу не касался процесса запуска и тонкостей MS-DOS.

В 2026 году, 32 года спустя, я узнал из скриншотов DDX3216, что в Behringer использовался настоящий процессор 386. В моём мозгу сразу же активировались какие-то нейроны и я начал размышлять о том, можно ли запускать на этом устройстве ПО или даже полнофункциональную операционную систему. Для этого мне нужно было разобраться, как запускается система x86, когда управление перехватывает DOS и что необходимо для попадания в оболочку.

Читать далее

Android-троян Mamont — теперь на Kotlin

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

24 февраля 2026 года в 16 часов по Хабаровскому времени в мессенджере MAX от аккаунты папы приходит сообщения вида "Посмотри, это ты на фото" и следующим сообщением приложен файл "Фото(3).apk". Я сразу же позвонил отцу - интернет отключили, симку вытащили, а на следующий день он сходил в МФЦ и поменял пароль. Файл с вирусом скачать я не смог - через полчаса после этого аккаунт отца удалили за спам, плюс само сообщение я удалил. Но пока файл ещё был я попросил брата переслать его мне, но скачать я его уже не мог - из-за удаления аккаунта.

Работу пояснительную хоть и проводили, но "был без очков, что-то тыкнул" и установил - когда у тебя телефон от Huawei без гугл сервисов, то все приложения плюс минус так и ставились. Прошло время - аккаунт через месяц папе дали вновь зарегистрировать, телефон тот мы отложили от греха подальше, выдал свой старый Samsung A50 и про случай забыли. Но одним вечером, когда я лежал в кровати я подумал - "Стоп, если аккаунт восстановили, то и файл я могу скачать?" Зашел в чат с братом, долистал до пересланного сообщения и решил скачать файл вновь. И что вы думаете - я его скачал! Б - Безопасность. А раз файл скачан, то надо его проанализировать - о чём и будет статья.

Читать далее

Ghidra для реверса прошивок: практический гайд по восстановлению логики бинарника

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

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

Понять Ghidra

Админ сервера Scryde больше года доказывал, что его игра оригинальная, а не Lineage 2. Пока не вышло

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

Один из старейших приватных серверов Lineage 2 в рунете много лет работал под именем Scryde. В какой-то момент к его администратору пришла компания, которая получила исключительную лицензию на использование и защиту Lineage 2 в России, и потребовала прекратить распространение игрового клиента. Ответ был неожиданным. Не «уберу» и не «давайте договариваться», а «у вас нет прав, а у меня вообще другая игра, своя, со своим разработчиком». Спор дошёл до апелляции. И самое любопытное в нём то, что переработку чужой программы суд подтвердил, так и не увидев исходный код ни от одной из сторон.

Дело № 66-470/2026 разбирал Московский городской суд, апелляцию провёл Первый апелляционный суд общей юрисдикции, определение вынесено 25 марта 2026 года. Решение устояло и вступило в силу. У ответчика остаётся кассация, поэтому всё, что я пишу дальше, опирается на выводы судов двух инстанций, а не на то, чем спор закончится в конце концов. Если он дойдёт до Второго кассационного суда, часть выводов ещё может быть пересмотрена.

Тем, кто никогда не водил персонажа по Гирану, дело всё равно может быть интересным. Вопрос в нём универсальный. Как доказать, что один программный продукт переработан из другого, если исходников нет ни у кого на руках. Это всплывает в любом споре про клоны, форки и пиратские сборки, и Scryde хорошо показывает, на что суд готов опереться вместо построчного сравнения кода.

Читать далее

Как разобрать .exe всего двумя инструментами: практический разбор с DeNuitkanizator и HxD

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

Возможно ли разобрать .exe всего двумя инструментами?

В данной статье будет практический разбор программ с помощью двух инструментов: HxD и DeNuitkanizator. Без Ghidra, без IDA, без x64dbg.

Посмотрим что получится, а что нет. Вам понравится :)

Читать далее

Вырезаем 99% мусорного кода с помощью SSA в Binary Ninja (Flare-On 12)

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

Мы из огроменной функции, в которой 4185 (!) строк декомпиляции из-за мусорного кода получим всего 35 строк при помощи API Binary Ninja для решения 7 задания из Flare-On 12 ("The Boss Needs Help")

Читать далее

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

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

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

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

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

Press F1 to continue

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

Press F1 to continue

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее
1
23 ...