Обновить
134.37

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

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

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

За секунду до открытия двери: что на самом деле происходит между вашей картой и считывателем?

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

Вы подносите карту к считывателю — дверь открывается.

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

Как это работает? Как пассивная карта без батарейки получает энергию? Как она передаёт данные?

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

Читать далее

Новости

Flash был за пределами браузеров в нулевые, а мы и не знали. Как он использовался в DirectX играх

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

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

В 2004 был (разработан) выпущен новый стандарт скриптового движка Action Script 2.0.

Но были и те-кто додумался "сделать из буханки" - трамвай (но зачем?)

Test Drive Unlimited (2006)

тропический остров в океане

французские разработчики Test Drive Unlimited применяли его в своем движке Twilight, написанного на Visual C++.

Twilight применялся и в других играх компании, например в сиквеле - TDU2 и Alone in the dark (2008)

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

Читать далее

Кто угодно может пнуть мёртвого льва

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

Кто угодно может пнуть мёртвого льва. Мёртвый лев не рыкнет на наглеца. Мёртвый лев не откусит ему ногу «по самое не хочу», хотя стоило бы. Лев мёртв, и теперь его может пнуть каждый ишак, что конечно же не показывает превосходство ишака над львом. Эта статья будет полна негодования и ненависти. Кровь ещё закончила кипеть от негодования. Но, разумеется, помимо эмоций будут и сухие объективные факты, немножко исследования и расстановка точек над i. В интернете кто-то не прав... опять...

Существует целый ряд инструментов, технологий и вообще вещей, которым по какой-то непонятной вселенской несправедливости не повезло: нашлась масса непонятных людей, которые по какой-то необъяснимой причине начали распускать про эти инструменты/технологии/вещи разные небылицы, идиотские фейки, слухи и прочий порочащий репутацию «компромат». Можно не переживать, если речь идёт о технологии, которая находится «на пике» — у неё будет большое community и правда восторжествует. Совсем другое дело, когда речь идёт о чём-то, что далеко не на пике, чья минута славы в прошлом (возможно даже давно в прошлом) — здесь мёртвый «лев» не может дать сдачи, и что самое обидное, что в какой-то степени «лев» сейчас мёртв отчасти и потому, что ещё при его жизни началось необоснованное распространение всяких бредовых поверий и мифов про него. И сегодня речь пойдёт об одном из таких случаев.

Читать далее

Реверс-инжиниринг приложений на Android: знакомство с Frida

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

Реверс-инжиниринг — это трудоемкая и интересная задача, которая поддается не всем. Любой может «скормить» программу декомпилятору, но не у всех хватит выдержки разобраться в хитросплетениях машинных команд. Процесс становится сложнее, если исследование проводится над программой для другого устройства, например телефона с ОС Android.

Звучит сложно. Долгое время и мне так казалось, особенно при создании модов для приложений. Байт-код smali неплох, но писать на нем сложную логику вручную — неблагодарное занятие. Но недавно мне попался на глаза решение для динамического реверс-инжиниринга — Frida.

Frida — это инструмент, который позволяет вживлять небольшой кусок JavaScript-кода прямо в запущенное приложение и менять его поведение. Под катом я расскажу, как работать с Frida, исследовать приложения на телефоне без root-доступа и создавать свои моды.

Читать далее

В ReactOS внесены улучшения, исправляющие ряд проблем с USB

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

Здравствуйте, дорогие друзья!

Кто давно следит за развитием проекта, помнит, что одним из больных мест ReactOS была поддержка USB.

При тестировании на реальном железе с большой вероятностью система выпадала в BSOD из-за USB-драйверов.

Даже если вы использовали PS/2 мыши/клавиатуры, то простое подключение/отключение флешки могло «уронить» систему.

Но, недавно, разработчик @The_DarkFire__ внёс ряд исправлений в USB-драйвера, которые исправляют данные проблемы с USB в ReactOS на реальном оборудовании!

Читать далее

Эксплуатация уязвимости race condition CVE-2025-29824 в Windows

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

Привет, Хабр! На связи Марат Гаянов, я занимаюсь исследованием безопасности. В сфере моих профессиональных интересов эксплуатация уязвимостей, реверс-инжиниринг и фаззинг. В этой статье я хочу рассказать об одном баге, точнее, о его эксплуатации.

Эксплуатация уязвимости типа use after free в ядре Windows и без того непростая задача, но когда к этому добавляется состояние гонки (race condition), сложность возрастает на порядок. CVE-2025-29824 — наглядное тому подтверждение, однако, как будет продемонстрировано ниже, создание рабочего эксплойта для нее — достижимая цель.

Читать далее

Большинство уязвимостей веб-API не выявляются стандартными тестами

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

Как обезопасить себя от атак по этому вектору, за которым плохо следят

Безопасность API — «отличный вход» в карьеру пентестера, считает Кори Дж. Болл, эксперт в отрасли.

ИНТЕРВЬЮ. Обеспечение безопасности веб-API требует иного подхода, чем классическое обеспечение безопасности веб-приложений, поскольку стандартные тесты обычно упускают наиболее распространённые уязвимости, возникающие при работе с API.

Именно так считает эксперт по безопасности API Кори Дж. Болл, предупреждающий, что методы, не откалиброванные на работу с веб-API, могут давать пентестеру слишком много ложноотрицательных результатов.

Болл начинал осваивать искусство пентестинга веб-приложений ещё в 2015 году по хакерским книгам, а также ресурсам HackTheBox и VulnHub. Далее он оттачивал навыки работы с компьютерами, пользуясь Cold Fusion, WordPress, Apache Tomcat и другими веб-приложениями, ориентированными на использование на большом предприятии.

Читать далее

Как я «взломал» адресную книгу Radmin, чтобы не вводить 1000 IP-адресов вручную

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

Конечно же, взломать – громко сказано, но заголовок рождён эмоциями :-)

Эта история о том, как лень, заставила меня окунуться в реверс-инжиниринг бинарного файла адресной книги Radmin (.rpb).

Внутри – странные заполнители, контрольные суммы, таинственные временные метки и структуры данных, где папки и компьютеры имеют одинаковый размер и бескрайние просторы нулей, о мои глаза!

Результат – opensource утилита для конвертации между RPB и JSON, возможно кому-то пригодится.

Представьте: вы – ответственный за парк из сотен компьютеров. Вам нужно актуализировать таблицу имен и IP-адресов компьютеров или адресную книгу Radmin, или, как в моём случае, использовать список этих записей в другом ПО. Работа трудоёмкая, но я – человек не ленивый, но оптимизированный. Вводить вручную имя, IP, порт, настройки для каждого компьютера – рутина, однообразное щёлканье кнопок! Кажется, жизнь пролетает впустую, так я подумал, когда представил, что мне предстоит это сделать.

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

«Эврика! – подумал я. – У меня же есть Radmin, а там есть все адреса! Я экспортирую их и использую себе во благо!».

Эврика длилась ровно до момента, когда я обнаружил, что Radmin экспортирует адресную книгу только в свой собственный формат - rpb, добавили бы csv, с моей точки зрения логично, «Спасибо, разработчики». Документации? Конечно, нет, это же не api и не опенсорс.

Интересное дальше

«Фамипия». Венгерские домофоны в подъездах Питера

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

Приветствую всех!
Уверен, многие видели на стенах старых домов эти штуки - довольно большие серебристые или цветные панели с кучей кнопок на них. Сейчас практически все они давно разбиты или выдраны, однако те, кто постарше, возможно, даже успели застать их рабочими. И нет, никаких фамилий там нет: называлась эта панель именно так.

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

Во время разговора кнопку держать нажатой

Living off the Land: Как легитимные утилиты стали оружием в руках хакеров на примере Rare Werewolf

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

В мире кибербезопасности уже не первый год набирает популярность тактика «Living off the Land» (LOTL) — «живущие за счёт земли». Её суть заключается в том, чтобы максимально использовать легитимное программное обеспечение и встроенные функции операционной системы для достижения злонамеренных целей. Это позволяет злоумышленникам эффективно маскироваться на заражённой системе, ведь активность программ вроде curl.exe, AnyDesk.exe или установщика WinRAR редко вызывает подозрения у рядовых пользователей и даже у некоторых систем защиты.

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

Поднять занавес атаки

Открывашка из трубки домофона

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

Всем привет! Я Андрей, в Яндексе работаю над IoT‑железками в Городских сервисах. Но сегодня речь пойдёт не о них. Эта история началась с неожиданной находки в новой квартире — с обычной, на первый взгляд, трубки домофона. Кажется: ну трубка и трубка. Но вот что бросилось в глаза: она была подключена по Ethernet. А если есть Ethernet, значит, внутри что‑то с TCP/IP, то есть уже маленький компьютер.

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

Я давно увлекаюсь железками и автоматизацией дома — эдакий «полу‑умный» дом, который вроде бы и работает сам, но иногда всё же требует вмешательства человека. Поэтому, обнаружив Ethernet‑домофон, я и решил разобраться в нём. 

Основная цель эксперимента — научить трубку открывать дверь по решению автоматизации в Home Assistant. Побочная — внести вклад в сообщество и, возможно, помочь самому вендору, если в процессе вскроются любопытные особенности или проблемы. 

Открыть дверь

Реверс-инжиниринг шифрования прошивки радиостанции

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

Любительские радиостанции — интересный способ знакомства с работой радиоспектра; что ещё более важно, это встроенные устройства, на которых могут быть установлены странные чипы/прошивки! Мне стало любопытно, насколько просто взломать мою Yaesu FT-70D, поэтому я приступил к расследованию. Единственный ресурс по радиостанциям Yaesu — это пост на Reddit о кастомной прошивке для Yaesu FT1DR.

Пользователь Reddit написал, что если выполнить процесс обновления прошивки через USB, то радиостанция раскрывает микроконтроллер Renesas H8SX, флэш-память которого можно изменить при помощи Renesas SDK. Отличное многообещающее начало, но SDK было не так легко настроить, а я не был даже уверен, сможет ли он сдампить прошивку... поэтому долгое время не брался за него.

Читать далее

Как устроена цензура изнутри. На примере слитого китайского фаерволла (блокировки Tor, VPN, анализ трафика)

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

Продолжаем нашу серию статей с разбором работы Китайского Firewall'а (GFW). В этой статье углубимся в техническую часть этой системы

Читать далее

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

Критическая уязвимость в камерах v380: Как plaintext credentials раскрывали миллионы устройств

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

В 2023 году, исследуя безопасность IoT устройств, я наткнулся на критическую уязвимость в одном из самых популярных брендов IP-камер в мире. Камеры v380 используются миллионами людей — в квартирах, офисах, магазинах, детских комнатах. Они доступны, просты в настройке и работают через удобное мобильное приложение.

Проблема оказалась банальной и пугающей одновременно: учетные данные пользователей передавались по сети в открытом виде. Любой, кто знал ID камеры, мог подключиться к незащищенному relay-серверу, перехватить логин и пароль владельца, получить полный доступ к видеопотоку и даже транслировать заранее записанное видео вместо live feed — как в классических фильмах про ограбления.

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

Читать далее

Реверс-инжиниринг π: как Pentium считал синусы быстрее всех

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

Pentium часто вспоминают из-за FDIV, но куда интереснее его «внутренний тригонометр». В этой статье — разбор FPU под микроскопом: как в constant ROM закодированы сотни коэффициентов и табличных констант, почему Intel отказалась от CORDIC в пользу полиномиальных аппроксимаций с редукцией диапазона, и как (вероятно) подбирались коэффициенты через минимакс (алгоритм Ремеза). Поговорим про компоновку ячеек ROM, BiCMOS-драйверы строк, микрокод и datapath, где биты реально встречаются с математикой. По сути — практическая археология кремния: от побитовых «полосок» на кристалле до инженерных компромиссов точности и латентности, которые сделали синус и логарифм быстрыми «на железе».

Полный разбор

Как работает цензура на государственном уровне? Разбираем на примере слитого китайского фаерволла. Часть 1

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

Мы скачали 500 ГБ утечку из Великого Китайского Файрвола чтобы вам не пришлось и решили их изучить. Разбираемся, как он работает, кого обслуживает и как его обходят.

Читать далее

«Отучаем» WinFXNet от жадности (часть 2 и заключительная)

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

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

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

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

Без промедления - к делу!

Реверс-инжиниринг TamTam: как мы искали админов канала, обходя проверку привилегий

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

Всем привет! На связи TeamKomet. Недавно мы решили из любопытства заняться реверс-инжинирингом не безызвестного мессенджера TamTam. До нас дошли слухи о возможной уязвимости, позволяющей получить список создателей и администраторов любого канала. Что ж, выше признать.

⚙️ Начало раскопок: WebSocket и Opcode

Мы принялись за работу и в первую очередь сосредоточились на проверке Opcode'ов в WebSocket.

Первым делом нашли некий список с номерами от 10, 100, 123 — сервер тестово отвечал, но это тупик — с ним ничего не получилось.

Тогда мы сменили тактику: что, если попробовать добавить в запрос параметры, которых изначально нет?

Погрузившись в JavaScript, мы обнаружили интересный объект, который централизованно отправлял через opcode для обмена информацией. Мы начали методично изучать его методы, и не зря.

Читать далее

Эмуляция «тетриса» Apollo из 90-х и запуск кода на оригинальном железе

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

В этой статье я расскажу о микроконтроллерах Sunplus с ядром 6502 которые использовались в популярных в 90-е «тетрисах» Apollo, а также об их эмуляции. Отдельно опишу способ запуска своего кода на этих играх и в частности проигрыватель «Bad Apple!!», крупнопиксельный кадр из которого показан на КПДВ.

Читать далее

Три неудачных патча и одно озарение: реверсим клиентскую аутентификацию на HTB

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

Название: Bypass
Категория: Reversing
Сложность: Easy
Ссылка: https://app.hackthebox.com/challenges/Bypass

Разбираю задачу Bypass с Hack The Box. Путь от трех неудачных патчей в IDA Pro до элегантного решения с помощью dnSpy. Показываю, как выбор правильного инструмента решает всё.

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

Вклад авторов