Обновить
256K+

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

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

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

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

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

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

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

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

Press F1 to continue

Новости

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

В новом релизе 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 мин
Охват и читатели7.3K

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

В 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 мин
Охват и читатели28K

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

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

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

Читать далее

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

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

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

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

Внутрь Spacelab

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

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

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

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

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

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

Читать далее

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

ReactOS впервые приняла участие в VCF Southwest

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

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

Читать далее

Relocation-Based Predicate — врём в IDA по-новому

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

Базовые механизмы Windows создавались для защиты программ, но сегодня мы заставим их работать против реверс-инженеров. Показываю новую технику обфускации: как с помощью ASLR и таблицы релокаций создать ложную ветку выполнения, которая сейчас остаётся абсолютно невидимой для статических анализаторов.

Читать далее

Порт классической программы 3D Movie Maker для Linux

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

А вы знали, что теперь можно нативно запускать Microsoft 3D Movie Maker в Linux? В течение последних полутора лет я работал над 3DMMEx — моим портом исходников 3D Movie Maker. Одной из целей моего форка была портируемость. Недавно проект достиг важного этапа: теперь он компилируется и запускается в Linux, благодаря чему 3DMMEx стал первым из известных форков 3D Movie Maker, работающих вне Windows! В этом посте я расскажу о некоторых из трудностей, с которыми я столкнулся при портировании на новую платформу написанного тридцать лет назад мультимедийного приложения.

Читать далее

Загрузка утилит Windows в обход Store и без лишних гигабайт: используем Microsoft Symbol Server

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

В данной статье я покажу Вам, как вместо загрузки тяжелых ADK и SDK от Microsoft, скачивать легкие .exe утилиты при помощи Microsoft Symbol Server

Читать далее

Внутри ALU-чипа 74181: фотографии кристалла и реверс-инжиниринг

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

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

В этой статье разбираем 74181 — культовый 4-битный ALU-чип 1970-х — по фотографиям кристалла и смотрим, как инженерные компромиссы превращаются в работающий процессорный блок.

Заглянуть внутрь

ЭЛТ-монитор разгонял электроны до 30% скорости света. Это был ускоритель частиц на 25 кВ

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

Если верить классификационным рекомендациям ICRU и IAEA, каждый второй российский офис до 2009 года был оснащён ускорителем заряженных частиц. Просто никто не читал документацию.

В статье я разберу, чем формально является ускоритель частиц, покажу, что ЭЛТ-кинескоп удовлетворяет всем критериям, посчитаю по релятивистским формулам скорость электронов внутри трубки, сравню её с LHC и расскажу, почему в 1967-м у американцев в гостиных стояли низкокачественные рентгеновские аппараты и никто этого не замечал.

Читать далее

Реверс-инжиниринг, цифровой двойник и ESP32 — что эти трое забыли на производстве? Задачка со звездочкой

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

Здравствуйте ХАБР. В этой, мной первый раз написанной статье, я попытаюсь рассказать про свой опыт проектирования и разработки устройства на контроллере ESP32 для мониторинга закрытой разработчиком промышленного оборудования, который является важным производственным процессом в изготовлении пластин для свинцово-кислотных аккумуляторов, что местные называют "Кюринг".

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