Обновить
512K+

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

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

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

Мне прислали фишинг под MAX. Я разобрал ссылку и нашёл уязвимость в их API

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

«Мне прислали фишинг под MAX. Внутри оказался MITM в их API» «Не ты ли на фото?» — пришло поздно вечером, в обычной переписке, от знакомого, который пишет редко. К сообщению приложена короткая ссылка. Я понял, что у него увели аккаунт, и захотел разобраться, что внутри. Через пять дней я смотрел на инфраструктуру из 179 фишинговых доменов, четырёх хостингов, через которые оператор переезжал каждые сутки, и обнаружение, что фишинг-кит работает не как сборщик паролей, а как MITM-прокси к настоящему API мессенджера MAX. Жертва получает реальный SMS от реального MAX и не может распознать атаку. CVSS 8.8. VK молчит уже неделю.

Читать далее

Новости

Ножом и термофеном: реверс-инжиниринг USB-устройства

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

В 2024 году bjiru выложил видео о портативном устройстве ME2 — выпущенной примерно в 2008 игрушке, способной при помощи USB синхронизировать очки и драгоценности между устройством и онлайн-миром. Игра была крайне нишевой, поэтому никто не архивировал её ПО, драйверы и ресурсы; по крайней мере, до тех пор, пока bjiru не создал онлайн-клиент игры.

Я руководитель Miuchiz Reborn — созданного в 2015 году проекта по реверс-инжинирингу, эмуляции и поддержке доступности похожей игры, состоящей из онлайн-части и портативного устройства, соединяемых через USB. ME2 тоже была старой игрой подобного типа, поэтому моя группа Miuchiz рассказала мне о ней ещё в 2018 году; она считала (ошибочно), что они могут быть архитектурно схожи. Несмотря на то, что я уже несколько лет знал о существовании устройства, именно видео bjiru подтолкнуло меня начать его исследование.

Поначалу я занимался исключительно воссозданием сервера, необходимого для обеспечения функциональности копии компьютерной игры, принадлежащей bjiru, но со временем я обратил внимание и на портативное устройство. Разумеется, воссоздание онлайн-игры не было бы полным без механизма синхронизации очков с устройством. В конце концов, это общение между компьютером и устройством ME2 было основной «фишкой» игры. Я подумал, что мой предыдущий опыт работы с портативными устройствами Miuchiz поможет мне в анализе ритуала необходимого им общения... если мне удастся выполнить реверс-инжиниринг кода.

Читать далее

PhantomRShell: бэкдор, который маскируется с помощью дизассемблера

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

У вирусных аналитиков есть небольшая профессиональная трагедия: работать с вредоносами обычно скучнее, чем может казаться по их вычурным названиям. За каждым ShadowSomething RAT/Loader/Stealer почти всегда скрывается один и тот же набор знакомых техник: загрузчик, закрепление в системе, канал связи с C2, немного обфускации «для галочки».

Но иногда попадаются образцы, которые действительно удивляют. В недавнем расследовании нам встретился именно такой. Речь пойдет о PhantomRShell — бэкдоре группировки PhantomCore (Head Mare), атакующей компании из России и Беларуси.

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

На связи Александр, вирусный аналитик отдела реагирования Бастиона и автор телеграм-канала @section_remadev. Сегодня разберем, как устроен PhantomRShell: от цепочки заражения до механизма сокрытия, который делает этот бэкдор заметно интереснее большинства его «коллег по цеху».

Читать далее

Вышел рекомпилятор MegaDriveRecomp

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

Теперь возможно экспортировать в C++ код игр Sega MegaDrive (Genesis) для последующей модификации, включая ресурсы игры.

https://github.com/testdriveupgrade/MegaDriveRecomp

Читать далее

Реверс — это сканворд. Как я впервые нормально понял Ghidra

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

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

У меня бывают неожиданные заказы, из неожиданных сфер на фрилансе. Недавно писал про то как прилетел большой проект по классификатору фоток. А теперь пришел запрос на реверс! Не могу вдаваться в подробности проекта - много конфиденциального - но я расскажу про конкретный разбор одного .dll файла. Открыл Ghidra, кликнул на функцию, включил декомпилятор - и передо мной встала стена.

Не метафорическая стена. Прям реально стена!

И вот пока я эту функцию ковырял, переименовывал переменные, ходил по ссылкам, открывал соседние функции, смотрел строки, в какой-то момент меня щёлкнуло.

Это же сканворд.

Читать далее

Цифровая тень: что скрывают под капотом популярные Android-приложения (результаты аудита)

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

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

Ну вот вы ставите Яндекс Go, жмёте «Разрешить» на всё подряд — микрофон, контакты, местоположение. Такси же, надо. А потом выясняется, что приложение лезет в буфер обмена. 16 раз в разных местах кода. Зачем такси буфер обмена — я так и не понял.

Короче, я взял семь популярных Android-приложений и разобрал их по косточкам. SAST, реверс-инжиниринг, декомпиляция DEX, разбор манифестов, ковыряние в нативных библиотеках. Под раздачу попали: Яндекс Go, Карты, Музыка, Пэй, Телемост, Mir Pay и мессенджер МАКС (бывший ICQ New / VK Messenger).

Спойлер: один мессенджер умеет распознавать ключевые слова прямо в аудиопотоке звонков. Не метаданные, не «кто кому звонил» — а именно слова.

<cut/>

Читать далее

Это ты на фото? SMS-RAT. Методы обфускации

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

Привет, Хабр! На связи команда UserGate uFactor и я, Иван Князев!

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

Читать далее

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

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

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

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

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

Читать далее

Когда расширение делает больше, чем обещает: разбор Page Locker

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

Недавно наткнулся на расширение Page Locker в Chrome Web Store. По описанию — всё безобидно: блокировка страниц, размытие контента, защита по PIN/таймеру. Типичный productivity/security тул.

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

Разберёмся.

Читать далее

Pragmata взломали за два дня до релиза. Шесть слоёв защиты Denuvo и как их обходят через гипервизор

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

15 апреля 2026 года Pragmata, новый sci-fi экшен от Capcom, появилась на пиратских ресурсах. Игра официально вышла 17 апреля. Платящие клиенты ждали разблокировки в Steam, а пираты уже бегали по лунной станции. Денуво, который должен был защитить хотя бы первые недели — самые продажные дни, ради которых эту защиту и покупают — пробит через hypervisor bypass от команды DenuvOwO. И это не аномалия: с декабря 2025-го Denuvo проигрывает каждую неделю. Persona 5 Royal, Borderlands 4, Resident Evil: Requiem, Crimson Desert, теперь Pragmata.

Под капотом — модифицированный open-source отладчик HyperDbg, EfiGuard как UEFI-bootkit, патчинг PatchGuard через паттерн-матчинг Zydis, спуфинг CPUID и KUSER_SHARED_DATA через EPT. Технически — kernel rootkit, юридически — пакет «play & restore» из закрытого Telegram-канала. Денуво живёт в Ring 3, обход — в Ring -1, между ними четыре уровня привилегий: detection из user-mode принципиально невозможен.

В статье разбираю шесть слоёв защиты, которые приходится снять, чтобы загрузить пиратский гипервизор: Secure Boot, PatchGuard, DSE, CPUID/RDTSC, KUSER_SHARED_DATA, Steam ownership. Что держит — HVCI. Что может сделать Irdeto и почему все варианты плохи. И на закуску — voices38, который через 40 дней после релиза Resident Evil: Requiem опубликовал классический crack: +5% FPS и работа под Proton на Linux, чего hypervisor-метод никогда не умел.

Читать далее

Реанимируем труп Redmi Watch 5

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

В продолжение прошлой статьи про Лечим загрузчик часов Redmi Watch 5 от падений я решил поделиться способом восстановления часов, которые уже оказались в данном положении, так как меня уже начали спрашивать как восстановить уже труп.

Подход к восстановлению не совсем классический, но в целом он гораздо проще и не затратен для воспроизведения и доступен не профессионалу.

Читать далее

Это — всё что вам надо знать о белых списках: как устроены и 6 способов обхода

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

Думаю, вы уже в курсе, что происходит в РФ с белыми списками: работают белые списки, ТСПУ в режиме drop-all пропускает только одобренные IP + SNI, рунет медленно, но верно становится интранетом

Мы просканировали 46 млн российских IP-адресов, нашли 63 тысячи выживших, разобрали работу ТСПУ. И главное - актуальные методы пробива (от Serverless-функций и покупки VPS с белым IP до туннелей через WebRTC).

Читать далее

Глухарь ESPшный — мемуары охотника

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

> Названием «глухарь» птица обязана известной особенности токующего в брачный период самца утрачивать чуткость и бдительность, чем часто пользуются охотники

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

Сегодня мы посмотрим внутрь флеш-картриджа для Nintendo Switch под названием MIG Switch и раскроем тайну его происхождения! Ну и в качестве побочного квеста победим защиту одного из самых современных микроконтроллеров на рынке.

Интересно? Продолжаем!

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

Распознаем STL-код легко: std::vector

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

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

На самом деле, здесь важно потратить время на то, чтобы распознать STL-контейнер по косвенным признакам, быстро понять, где какие данные лежат, типизировать их и идти дальше. В новой серии публикаций мы расскажем о самых распространенных контейнерах STL и начнем с std::vector.

тык

Цифровая копия сотрудника (руководство)

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

Как клонировать экспертизу человека, на которого у тебя нет бюджета? Я взял двухчасовой разговор с топовым маркетологом, прогнал транскрипт через промпты, построенные на научных методах извлечения знаний — CogKC, Knowledge Graph, поведенческое клонирование — и получил JSON-файл, который отвечает на вопросы почти как она.
Сначала проверил на себе: файл с «душой» выглядел банально, но агент на его основе пугающе точно воспроизводил мою логику решений. Внутри — наука, два эксперимента, этика и готовые промпты.

Читать далее

Внутри АЛУ микропроцессора 8085

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

Арифметико-логическое устройство (АЛУ) — это фундаментальная часть любого компьютера, выполняющая операции сложения, вычитания и логические операции, однако принцип его работы для многих остаётся загадкой. Я провёл реверс-инжиниринг схемы АЛУ микропроцессора 8085 и в этой статье объясняю, как она устроена. АЛУ 8085 — это на удивление сложная схема, которая на первый взгляд выглядит как непонятное нагромождение логических элементов, но её можно понять, если не бояться немного углубиться в булеву логику.

Разобрать АЛУ

Реверсим штатный ключ сигнализации JAC-Москвич

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

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

На связи Иван Глинкин, руководитель группы аппаратных исследований из команды Бастиона. Сегодня займемся реверс-инжинирингом штатного ключа автомобильной сигнализации (key fob) китайского JAC JS4, известного в России как Москвич 3. Этот китаец с русским именем за несколько лет уверенно прописался на наших дорогах, но в инфополе до сих пор нет информации о его тестировании на стойкость к взлому. 

Итак, вызов принят! Мы проведем детальное исследование компонентной базы брелока, изучим его внутренности, просканируем эфир с помощью SDR, постараемся выявить плавающий код (hopping/rolling code) и наметим несколько векторов атаки.

Читать далее

IT-монополии наперегонки сращиваются с государством: кто быстрее?

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

За последние десятилетия мы как-то все привыкли, что живем в уютной айтишечке – собственном, закрытом мире, практически лишенном недостатков. И в этом мире были кофе по утрами, смузи в обед и неограниченные поездки на такси, часто оплачиваемые напрямую работодателем. И проблем как будто вообще не существовало. Мы выбирали себе новых работодателей, меняя их как перчатки, и за каждую смену места работу гарантированно получали надбавку 10-30% к заплате.

Но, оглянитесь, времена меняются. А в каких-то странах и в каких-то it-направлениях поменялись невозвратно.

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

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

Так вот, один из законов развития такого мира заключается в том, что монополии и государство неизбежно сближаются, сращиваются, сливаются в страстном поцелуе взасос. И это обоюдное влечение, обусловленное объективными экономическими интересами.

В нашей сегодняшней it-индустрии эти процессы происходят прямо сейчас. Нет, они были и раньше, но в последние пару лет и даже месяцев всё это закрутилось с новой, невиданной ранее скоростью. И наши сегодняшние лидеры отрасли - Яндекс, Т-Банк, Озон и другие – наперегонки спешат слиться с государством, а государство спешит слиться с ними. И так – далеко не только в РФ.

Читать далее

Как работает движок микрокода процессора 8086

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

Микрокод часто описывают как аккуратный промежуточный слой между инструкциями и «железом», но при попытке посмотреть на него на уровне кристалла эта картина быстро усложняется. В случае Intel 8086 это особенно заметно: за компактным набором микроинструкций скрывается набор инженерных компромиссов, распределённая логика декодирования и нетривиальная схема адресации. В статье разберемся, как устроен сам движок микрокода 8086 — от выбора точки входа и исполнения до организации ПЗУ и вспомогательных блоков, которые позволяют уместить всё это в ограничения конца 70-х.

Внутри процессора

3 года мы не можем вытащить данные из машины для боулинга

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

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

Потом эти данные отправляются на архаичный сервер Dell OptiPlex 3020 (примерно 2014 года), времён ещё когда Делл был Деллом. Мы их до сих пор закупаем, кстати, для всех 12 Бруклин Боулов.

И вот нам очень хочется выгружать данные с кегельной машины (пинсеттера) в приложение на телефоне игрока.

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

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

Сейчас расскажу, в чём мы застряли)

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