Обновить
128K+

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

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

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

Взлом андроида Unitree G1. От радиоперехвата до джейлбрейка прошивки

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

Стоило Илону Маску пообещать нам создание умных помощников вроде C-3PO, как исследователи безопасности тут же решили проверить, не получится ли вместо этого настоящий Терминатор. Мы разобрали нашумевшее исследование команды Dark Navy и рассказываем, как популярного робота-гуманоида Unitree G1 за $16 000 превратили в хакерскую марионетку. 

В статье мы детально разберем цепочку уязвимостей: от перехвата нестандартного радиопротокола через SDR до инъекций кода в LLM-мозги робота и получения root-доступа. Вы узнаете, как исследователям удалось обойти защиту обфусцированного кода, выполнить полноценный джейлбрейк бюджетной версии робота и почему функция eval() в коде андроида страшнее любого восстания машин.

Читать далее

Как не сломать Android-приложение при защите от реверса

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

Привет, Хабр! На связи Александр Ананикян, аналитик сервиса по защите мобильных приложений от реверс‑инжиниринга. Мы в команде PT MAZE делаем «кнопку», которая превращает мобильные приложения в самый запутанный лабиринт для хакера.

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

Читать далее

Я отреверсил процессор, чтобы улучшить детскую фотокамеру

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

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

Очевидно, дети в таком возрасте не могут пользоваться всеми функциями зеркальных или даже компактных камер. К счастью, в мире много детей с интересом к фотографии, поэтому есть и рынок для дешёвых (в буквальном смысле) камер: в них не так много функций и наворотов, крепкий пластмассовый корпус, а низкая цена не позволяет расстроиться из-за поломки. Я поискал такую камеру на Taobao и остановился на той, которая показалась мне достаточно простой. Я не надеялся, что фотографии будут качественными, но хотя бы разрешение должно оказаться приемлемым.

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

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

Читать далее

Тайны Замка: Распаковка уровней Castle Excellent для NES

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

Загляните за кулисы NES-игры Castle Excellent! В этой статье — реверс-инжиниринг хранения данных. Я написал парсер, который собирает все комнаты замка в одну большую карту. Если Вам интересно, на что были способны программисты из 80-х — добро пожаловать под кат!

Читать далее

Взламываем 40-летний донгл защиты от копирования

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

Всё верно — это маленькое устройство стояло между мной и возможностью запускать ещё более старое ПО, которое я раскопал в процессе программной археологии.

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

Это ПО было написано на языке программирования RPG (Report Program Generator), который старше Кобола (!); он использовался в компьютерах IBM среднего ценового диапазона наподобие System/3, System/32 и вплоть до AS/400. Похоже, позже RPG портировали в MS-DOS, поэтому те же программные инструменты, написанные на RPG, могут работать на персональных компьютерах. Так фирма и оказалась в этой ситуации.

Эта бухгалтерская фирма работала на компьютере с Windows 98 (да, в 2026 году) и запускала написанное на RPG ПО в консольном окне DOS. Оказалось, что для работы ПО требовалось подключить к параллельному порту компьютера специальный аппаратный донгл защиты от копирования! В те времена это было достаточно распространённой практикой, особенно у поставщиков «корпоративного» ПО, защищавшего свои очень важные™ программы от неавторизованного применения.

Читать далее

Думал что дебаггер, а на деле HexEdit: Основы работы с опкодами и патчинга для начинающих

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

Привет Хабр, и всем читающим! Сегодня разберемся в патчинге, в отличиях между ним и дебаггингом, и поймем как пользоваться hex-редактором для реверс-инжиниринга. (И да, я когда писал статью, перепутал термины Debugger и Hex-editor, и только под конец понял что стоит статью изменить, прошу учитывать)

Дисклеймер важен, его пожалуйста прочитать обязательно!

Ну и приятного чтения, господа :-)

Начать Исследование

Пишем историю игрушки:  восстанавливаем исходный код игры «Поле Чудес» 1992 года для MS-DOS

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

Летом мне попалась статья Вадима Башурова «История игрушки» 2011 года про создание игры «Поле Чудес» в далёком 1992 году — очень рекомендую, если вы, как и я, ее пропустили. Вадим упомянул, что исходники, к большому сожалению, утерялись. Мне очень захотелось восстановить их хотя бы в каком‑то виде, и я решил заняться этим на досуге.

Цель простая: кросс-компилируемый 16-битный .exe для MS-DOS, который повторяет логику оригинала и использует оригинальные ресурсы.

Статью я построю как небольшой туториал по реверсу 16-битных DOS‑приложений для начинающих и пройдусь по ключевым алгоритмам и тому, как в игре реализован игровой процесс. Желательны базовые знания 16-битного ассемблера и C.

Читать далее

Разбор Urban VPN Proxy: как браузерное расширение превращается в перехватчик трафика и данных

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

Urban VPN Proxy — популярное браузерное расширение, позиционируемое как бесплатный VPN-сервис без логирования. Однако анализ JavaScript-кода, выполняемого расширением непосредственно в контексте страниц пользователя, показывает, что реальная функциональность продукта значительно шире и не ограничивается сетевым проксированием.

Читать далее

Небольшой подарок моддерскому коммьюнити от меня

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

Всем снова привет :-) Думаю многие читатели знают, что одно из моих хобби - реверс инжиниринг ретро телефонов, их хакинг и попытки впихнуть невпихуемое. Полгода назад в рамках серии статей я с нуля взломал неизвестный кнопочный телефон, отреверсил прошивку и написал для него бинлоадер (загрузчик нативных программ) и первую программу для него — игру змейку!

Читать далее

Рвём call-graph или «Как я самому себе реверс усложнял»

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

Так сложилось, что меня всегда интересовала тема реверса, дизассембла и вообще того, как выглядит бинарь изнутри, особенно с точки зрения всяких кряков. Многие пользовались разным софтом, в который уже встроены обходы лицензий, а кто-то, вполне возможно, даже вспомнит тот качевый музон, который воспроизводили всякого рода KeyGen.exe.

Но для того, чтобы крякнуть программу, нужно понять, что и где патчить, и какая функция отвечает за валидацию лицензии. Для этого и существуют программы вроде IDA Pro. Помимо дизассемблирования они умеют генерировать псевдокод на C, строить графы вызовов и много чего еще.

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

Читать далее

Растровый электронный микроскоп МРЭМ-100. Невымерший советский мамонт. Часть 1. Спячка

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

Рассказ об уникальном сохранившемся до наших дней и одном из самых технически продвинутом советском электронном микроскопе - растровом электронном микроскопе МРЭМ-100. Микроскопы этой модели производились Научно-техническим объединением «Экспериментальный завод научного приборостроения» г. Черноголовка. с 1986 по 1992 год. Подробное описание устройства и конструкции основанное на реальном приборе.

Читать далее

Снимаем защиту от модификации прошивки рабочей станции HP Z440/Z640/Z840

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

Здравствуй, читатель. За время моего почти десятилетнего отсутствия в мире x86 и UEFI довольно много воды утекло, и то, что раньше считалось интересными, но мало кому нужными настройками прошивки (к примеру, Above 4G Decoding и Resizable BAR) теперь считается фичами первой необходимости (без которых современные видеокарты Nvidia и AMD теряют в производительности, а карты Intel могут и вовсе не работать). При этом прогресс не превратил мощные старые системы в совсем уж полный хлам, и потому есть смысл научить этих старых псов новым трюкам, если это возможно.

Читать далее

Спасаем Бингус, и как я поправил ИИ помощника. Мануал для новичков

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

Ещё одна очередная задачка! На этот раз нам предстоит спасти нашего друга! Bingus'а! Давайте же спасём его!

А ещё посмотрим на то как ИИ к сожалению, не смогла помочь нам.

Спасти Bingus

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

Make DLL Hijacking Great Again

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

DLL hijacking - техника, которая может дать множество преимуществ: повыситься до NT AUTHORITY/SYSTEM, получить исполнение от лица привилегированного пользователя, действовать от лица легитимного приложения и т. д.

Естественно, перед тем как ее осуществить, нужно найти подходящее приложение и библиотеку, которую можно подменить.

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

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

Читать далее

Вакуумная удерживающая оснастка для металлообработки

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

Металлообработкой на станках с ЧПУ наша компания занимается с 2010 года. Начинали эту тему с двух станков с ЧПУ, купленных в лизинг. Когда у нас появилось более 5 станков, то в компанию стали приходить более квалифицированные в этом деле работники, которые принесли идею использования вакуумной удерживающей оснастки (вакуумных столов), что позволило в случае небольших тонкостенных деталей заметно увеличить производительность оборудования за счёт снижения времени установки заготовки на фрезерный станок.

Причём, мы изначально выстроились таким образом, что данную тему развивали у себя, самостоятельно изготавливая вакуумные столы, и даже сделали единую на весь ЧПУ-шный цех систему распределения технического вакуума по трубопроводам от купленного большого водяного вакуумного насоса. После переезда в более просторное помещение мы всё же вернулись к более традиционной системе с небольшими вакуумными установками около конкретного фрезерного станка, скопировав их у одного из известных в стране продавцов, закупая сейчас у них только вакуумные комплектующие (насос, маслоуловитель), а саму основу (тележки на колёсиках) делая самостоятельно.

Читать далее

Очередной CrackMe или Как я мучался с Ghidra. Мануал для новичков

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

Думаю, новички в реверс-инжиниринге всегда хотели бы разбираться во всем? Но язык профессионалов не всегда понятен? Что-ж, я попробую помочь вам в этом нелегком деле!

Начать погружение

Ящик пAMDоры — изучаем AMD PSP

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

Помните переполох с Intel ME, что устроили наши коллеги из PT SWARM? Тот, где в проприетарной прошивке, которая имеет максимальный доступ к вашей системе, обнаружили уязвимость, вследствие чего можно запустить свой код, включить отладку и, вообще, сделать с чипсетом практически всё, что заблагорассудится? Теперь такое же можно проделать и с AMD! Мы в Positive Labs решили разобраться в ситуации и исследовать ту самую плату, на которой недавно нашли уязвимость.

Читать далее

Как блокируют OpenVPN и WireGuard

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

Привет, Хабр! На протяжении последнего года регуляторы значительно усилили блокировку VPN-протоколов. Если совсем давно основной метод сводился к блокировке IP-адресов известных VPN-провайдеров, то сейчас везде применяется глубокий анализ трафика (DPI), позволяющий идентифицировать и блокировать VPN-соединения на уровне протокола.

Сегодня разберемся, как блокируют OpenVPN и WireGuard.

Читать далее

Анализ кристалла 8087: быстрый битовый шифтер математического сопроцессора

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

В 1980-м Intel 8087 сделал вычисления с плавающей запятой на 8086/8088 не «возможными», а по‑настоящему быстрыми — настолько, что на плате оригинального IBM PC под него оставляли пустой сокет.

В этой статье автор буквально смотрит на 8087 изнутри: по микрофотографиям кристалла разбирает один из ключевых ускорителей — двухступенчатый бочкообразный сдвигатель, который за один проход выполняет сдвиг на 0–63 позиций и нужен и для обычной арифметики, и для CORDIC‑алгоритмов трансцендентных функций. Будет контекст про IEEE 754, много NMOS‑схемотехники и редкое удовольствие от того, как «железо» читается прямо по топологии.

Как работает 8087

Избранные аспекты проектирования ведущих контейнеров высокоскоростных подкалиберных пуль для гладкоствольного оружия

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

Избито будет сказать, что пластик проник во все сферы жизни, но суть не изменится. И с развитием в компании компетенций по проектированию отливаемых изделий, появилась возможность протянуть руку в этот безбрежный океан и выбрать то, с чем сам хочешь работать. Так в нашем портфолио появилось множество кейсов пластиковых изделий оборонного назначения. ЕСТЕСТВЕННО, всевозможные прожектеры-гешефтмахеры присылали эскизы разнообразных сходукетов, но и действительно рабочие изделия шли в производство. Увы, большинство проектов договорными узами скрыты от глаз рядового любителя оружия. Однако, кое-кто из клиентов разрешил представить одну из итераций крайне амбициозного проекта.

Читать далее