Обновить
64K+

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

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

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

Давай отлаживать по TCP

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

Когда в моей Среде разработки К дошла очередь до отладчика, выбор был такой: по HTTP - проще, но с глюками, знакомыми по мобильной разработке; по TCP - быстрее, но протокол закрытый: им штатная среда говорит с тонким клиентом. Я выбрал TCP: снял обмен с провода и повторил его. RSA-1024 с PKCS#1 v1.5, 192 байта на тройном DES, NTLM, контрольная сумма по полям GUID и идентификатор, который нельзя делать случайным. Рассказываю, где спотыкался и что получилось: точки с условием, шаги, стек, локальные, вычисление и остановка по ошибке - на живом клиенте.

Читать далее

Новости

Пропуск вшитых интеграций в TikTok на Android: анализ TTVideoEngine, ReVanced-патч и k-анонимность

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

Разбор медиастека TikTok на Android: как устроен закрытый плеер TTVideoEngine, поиск методов в обфусцированном байт-коде через сигнатуры ReVanced, алгоритм адаптивной проверки таймлайна и архитектура базы таймкодов на Cloudflare с kk-анонимностью.

Читать далее

Я просто хотел тёмную тему

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

Разработчики на одной платформе пятнадцать лет просят тёмную тему в своей среде разработки. Были раскраски модулей, инверсия цветов, перехват рисования. В новой версии платформы тёмная тема наконец появилась, но только у пользователей. Я перестал ждать и решил сделать сам. Чтобы перекрасить окно, пришлось написать своё окно. Для этого нужно было читать гигабайтный файл конфигурации без платформы. А чтобы проверить, что читаю правильно, — выгрузить 90 385 файлов байт в байт и по дороге повторить порядок обхода std::unordered_map из MSVC. Рассказываю, что встретилось на каждом шаге и сколько времени это экономит.

Спуститься в подвал

Разобрал сейв Skyrim VR ИИ-агентами и сделал из него словарь для английского

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

Английский я теперь учу по Skyrim, и да, это лучшее оправдание, чтобы играть больше. Словарь берётся прямо из моего сохранения: ИИ-агенты разбирают файл, достают из него вещи, перки и квесты и делают карточки. А Telegram-бот каждый день гоняет меня по ним, отвечать можно и голосом.

Читать далее

Новый робот — та же блокировка: как мы разлочили Quectel RG255C-GL

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

В Agibot X2 Ultra с Quectel RG255C-GL рабочая российская SIM читалась, но модем не регистрировался. Разобрали LOW-диапазон CLADE, нашли проверку MCC 250 и изменили один бит. Затем пересчитали MBNv7 и проверили LTE, HTTP и HTTPS. Продолжение кейса с EG25-GC — на новой платформе.

Читать далее

Как мы запустили LTE в китайском роботе, изменив один бит в прошивке модема

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

Я Лев Ларин, инженер Unibot. Мы развиваем UNIBOT Fleet, подключаем к ней коммерческих роботов и дорабатываем их управление, интеграции и работу с данными.

В роботе-официанте стоял Quectel EG25-GC. Вставили рабочую российскую SIM-карту: модем прочитал её, нашёл операторов, но в сети не зарегистрировался. Замена APN и второй оператор ничего не изменили.

Пришлось разбирать прошивку. В сжатом коде Qualcomm Hexagon нашлась проверка страны, которая запрещала работу в России и Иране. Для изменения российского MCC хватило одного бита. Затем потребовались новые хеши, подпись и проверка связи на устройстве.

Читать далее

Открываем секретный файл с диска «Лучшие игры для IBM PC #1» 1994 года

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

Всё произошло очень быстро: какая‑то ностальгическая статья про сборники Classic Fond — и вот я уже качаю образы «Лучшие игры для IBM PC» с Internet Archive. Первым скачался 25-й диск. Открыл и вспомнил всё: школу, переход рядом с ВДНХ, палатки. Ешь беляш, смотришь, какие альбомы вышли, ну и, конечно, сборники Classic Fond.

В статье будем пытаться открыть секретный файл с дисков Classic Fond.

Читать далее

Оживляем дисплей от приборной панели автобуса

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

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

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

Итак, сегодня мы попробуем запустить дисплейный блок от приборной панели старого автобуса. Разберёмся, по какому протоколу он работает и что с ним ещё можно сделать. Как водится, будет много интересного.

Press F1 to continue

Руткиты изнутри: типы, работа, защита

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

Разбираю руткиты от ring 3 до прошивки. Как прячутся в ядре, как их ловят через rkhunter, Secure Boot и анализ памяти. С кодом на Cи.

Читать далее

Как я простенький keygen писал

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

Это моя первая статья подобного рода(да и в целом любого рода), в которой я покажу как писал keygen для простенького приложения. Я использовал динамический анализ через x96 dbg, плюсы для keygen'а, и, конечно же, родненький ассемблер. Статья предназначена для новичков в реверсе и всех, кто хочет что‑то вспомнить. Если зайдет — это может превратиться в серию статей с повышающимся уровнем сложности реверса, но это в мечтах, а пока к сути.

Да давай уже

Claude помог оживить гаджет мертвой компании — и чуть его не добил. История воскрешения трекера сна Sense

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

Американский разработчик Джозеф Сперриер перед переездом нашел в шкафу Sense — трекер сна компании Hello, которая закрылась в 2017 году и унесла с собой облако. Хабр обозревал этот шар еще в 2014-м. Летом 2026-го Сперриер решил вернуть его к жизни вместе с Claude. Получилось за шесть недель — с проводами, неверной прошивкой и тупиком на 19 дней, в который человек и модель зашли вместе.

Читать далее

40-летний скрытый баг: как незаметно ломалась игра Infidel

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

Дикий указатель, который 40 лет портил память в классической игре Infidel. Баг компилятора ZIL, который никто не заметил. Разбор полётов от Эндрю Плоткина (Zarf) с погружением в ассемблер Z-машины.

Читать далее

Корабль Тесея: сколько деталей нужно заменить, чтобы клавиатура стала новой?

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

В какой момент доработка чужого open source проекта превращается в создание собственного устройства? Когда заменена одна деталь? Половина? Почти все? Или когда от первоначальной конструкции остается только идея?

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

Так появилась Theseus — клавиатура, названная в честь знаменитого парадокса о корабле Тесея, в котором одну за другой заменили каждую деревянную доску.

Но прежде, чем рассказать, как я дошел до этого, стоит вернуться немного назад.

Читать далее

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

Чтобы не произошло беды, в каждом лифте всегда есть это

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

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

Уверен, многие из вас слышали о том, что в лифте есть какое‑то устройство, которое в нештатной ситуации не даёт ему сорваться вниз. Но вот о том, как всё это устроено и работает, знают далеко не все. Как насчёт восполнить это упущение?

Итак, сегодня мы посмотрим на один из самых важных узлов любого лифта — ограничитель скорости. Узнаем, как он выглядит, разберём его и посмотрим на начинку, ну и, конечно же, выясним, как он работает. Как водится, будет много интересного.

25 этаж

Почему подсветка док-станции Flydigi выглядит дёшево и как я написал свою

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

У меня геймпад Flydigi Vader 5 Pro и к нему док-станция Charging Dock 2 Pro. На доке 162 RGB-светодиода, и сами по себе они хорошие, а вот эффекты из фирменной Space Station выглядят дёшево: медленные анимации идут ступеньками, градиенты грязнеют в середине.

Стало интересно, виновато железо или софт. Спойлер: софт. Разобрал, как док принимает кадры, переписал эффекты с нуля и сделал свой редактор подсветки.

Читать далее

543 уязвимости в индустриальном стандарте: отлавливаем бреши в FFmpeg

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

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

Меня зовут Егор Боровинских, старший аналитик безопасности веб-приложений в компании «Гарда».

Сегодня хочу поговорить о FFmpeg. Для тех, кто не в курсе, эта open-source библиотека является индустриальным стандартом для мобильных приложений с функциями обработки аудио и видео, которая разбирает контейнеры (MP4, MOV, AVI, RTSP и т. п.) на отдельные потоки. А знаете, что бонусом к этому фреймворку идет порядка 543 зарегистрированных CVE? Причем эти уязвимости фигурируют в программах bugbounty.

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

Читать далее

Игровой конвейер из начала десятых: реверс-инжиниринг Spark Casual Engine

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

У меня лежал файл Game.cub на 437 мегабайт от казуального квеста 2011 года. Внутри — 3559 файлов с расширениями, которых не знает ни один редактор: .cubebin, .stex, .sparkeffect, .binldinfo. Я решил разобраться, что это такое.

Читать далее

Как сцена взлома принтеров изобрела собственный DRM

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

Если за последние двадцать лет у вас был принтер, вы наверняка знаете, какими они могут быть неожиданно капризными: «не могу печатать черным, потому что закончился желтый» — классическая шутка о струйниках. Или функция сканирования в МФУ, которая в некоторых моделях перестает работать, если закончились чернила, — и без специальных махинаций ее не запустить.

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

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

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

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

Читать далее

Яндекс.Диск — скачиваем фото и видео из хранилища «безлимита» с попыткой восстановить повреждённое

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

Привет, Хабр. Ранее я писал статью, посвященную недоступности файлам на «Яндекс.Диске». Я разобрал ситуацию подробнее и выяснил — большинство фото можно восстановить даже если они недоступны для скачивания, с видео всё сложнее. Также написал программу для того, чтобы Вы могли скачать свои фото и видео (в том числе с безлимита) уже сейчас, пока они остаются доступными. Разберём ниже.

Читать далее

Матрёшка с Remcos внутри: как JS-файл, «картинка» и MSBuild передают друг другу эстафету

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

Привет, Хабр! Сегодня я хочу рассказать о том, как один невзрачный .js-файл превратился в шесть слоёв упаковки, и в самом центре этой матрёшки сидел старый знакомый Remcos.

Раскрыть матрешку.
1
23 ...