Временная скидка 60% на годовую подписку!
Главная Реверс-инжиниринг

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

Xakep #311

Злостная эксплуатация. Используем Angr, чтобы найти Buffer Overflow

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

Xakep #311

Темные игры. Потрошим древнюю игру на DarkBASIC

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

Xakep #310

Руби RBE! Изучаем защиту плагинов SketchUр, написанных на Ruby

Скриптовый язык Ruby используется для написания плагинов во многих прикладных программах. Одна из них — 3D-редактор SketchUp. Сегодня мы изучим внутренности таких расширений, зашифрованных с использованием технологии RBE, и напишем свой конвертер из формата RBE в RB.

Xakep #309

Накось макось. Разбираем приложение для Mac OS 9, чтобы дать ему вторую жизнь

Тебе, вероятно, уже надоело читать статьи о программах для Windows? Попробуем исправить эту несправедливость и вспомним про Apple Macintosh. Тот самый, винтажный, на процессоре PowerPC. Сегодня мы будем препарировать написанное под эту древнюю технику приложение, чтобы дать ему вторую жизнь.

Xakep #309

Руби наотмашь. Исследуем архитектуру приложения на Ruby и учимся его реверсить

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

Xakep #308

Отлом байды. Как устроена защита Android-приложений Baidu

Бытует мнение, что защитные механизмы для Android-приложений слабы и легко обходятся, однако реальность оказывается гораздо сложнее. На рынке существует множество коммерческих протекторов, способных защитить код от взлома, и Baidu — один из них. Давай подробно разберем внутреннюю архитектуру и устройство этого навороченного мобильного протектора.

Xakep #307

Управление гневом. Изучаем Angr — фреймворк символической эмуляции

Angr — эмулятор на стероидах. Он кросс‑платформенный и поддерживает большинство популярных архитектур: с ним на Linux можно искать уязвимости в PE32, а на Windows — ковырять прошивки роутеров. В этой статье я на примере работы в Linux покажу, как его использовать.

Xakep #305

Булавкой по мозгам. Анализируем динамический код при помощи Intel Pin

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

Xakep #305

Radare2. Вскрываем и изменяем исполняемые файлы при помощи опенсорсного фреймворка

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

Xakep #305

Уроки форензики. Изучаем поведение стилера при помощи INetSim и IDA Pro

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

Xakep #304
ВзломДля начинающих

Radare2 с самого начала. Учимся использовать опенсорсный фреймворк для анализа приложений в Linux

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

Xakep #304

Золотой ключик. Разбираем на примере принцип создания кейгенов

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

Xakep #303
ВзломДля начинающих

Файловый титбит. Учимся менять ресурсы игр на примере «Ядерного титбита»

Можно ли модифицировать любимую игру без дизассемблера? Запросто. Тебе понадобятся лишь HEX-редактор и несколько хитрых приемов, которыми я поделюсь в этой статье. Мы рассмотрим, как легко ломаются неизвестные форматы файлов на примере всемирно признанного шедевра — игры «Ядерный титбит».

Xakep #302

HTB Ouija. Повышаем привилегии через бинарную уязвимость целочисленного переполнения

Самой интересной частью этого райтапа будет повышение привилегий в Linux через модуль PHP — мы проэксплуатируем бинарную уязвимость целочисленного переполнения в нем. На пути к этому используем баг HTTP request smuggling в Haproxy и через LFI прочитаем SSH-ключ пользователя.

Для подписчиков

HTB Napper. Реверсим приложение на Go и пишем декриптор при помощи ChatGPT

В этом райтапе мы с тобой повысим привилегии в Windows через вскрытое нами приложение на Go. Для этого разберемся с шифрованием, а затем напишем декриптор при помощи ChatGPT. Также на нашем пути встретится бэкдор Naplistener, который мы используем для проникновения в систему.

Xakep #302

Нетипичная змея. Реверсим приложение на Python c кастомным интерпретатором

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

Xakep #302

Agent Tesla. Учимся реверсить боевую малварь в Ghidra

Недавно мне попался интересный экземпляр малвари под названием Agent Tesla. Он распространен и используется по сей день (семпл 2023 года). Предлагаю попробовать исследовать его и посмотреть, что внутри у боевой малвари.

Xakep #301

Липовый соникс. Реверсим картридж Liposonix и пишем его эмулятор

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

Для подписчиков

Гид по реверсу. Тренируемся анализировать бинарные файлы на примере libexif

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

Xakep #301

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

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

Xakep #299

Под капотом у PassMark. Исследуем популярный бенчмарк и пишем свои тесты

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

Xakep #298

HTB Zipping. Используем инъекцию нулевого байта в ZIP-архиве, чтобы загрузить шелл

Сегодня я покажу интересную уязвимость при загрузке файла на сервер. Мы используем трюк с нулевым байтом, который позволит обойти фильтрацию по расширению файла. Затем для повышения привилегий создадим и загрузим собственную библиотеку для Linux.

Xakep #297

Кабинетный хак. Патчим инсталляторы MSI, содержащие CAB-архивы

MSI — самый популярный формат инсталляторов. Для редактирования таких установочных пакетов придумано много удобных инструментов, но они могут не сработать, если инсталлятор содержит набор CAB-архивов. Сегодня я расскажу, как править данные внутри инсталляционных пакетов MSI в ручном режиме, если другими способами сделать это не получается.

Xakep #297

Приключения «Электрона». Отлаживаем JSC-код любой версии Electron без декомпилятора

Когда‑то компания Positive Technology разработала собственный плагин для декомпилятора Ghidra, позволяющий исследовать веб‑приложения на Electron, в которых используется скомпилированный бинарный код V8 JSC. C тех пор сменилось много версий Node.js, формат кардинально поменялся, в результате существующие перестали работать. В этой статье я покажу, как самостоятельно без декомпилятора отлаживать бинарный JS-байт‑код произвольной версии.

Для подписчиков

WiX-фикс. Исследуем инсталлятор Windows Installer XML Toolset

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

Xakep #295

Железный бряк. Используем хардверные брейк-пойнты в пентестерских целях

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

Xakep #294

В гостях у Инны. Ломаем инсталлятор InnoSetup

Если установка программы протекает совсем не так, как хочется пользователю, приходится вмешиваться в работу инсталлятора. Сегодня мы поговорим о том, как устроен инсталляционный пакет InnoSetup, и научимся менять его логику изнутри.

Xakep #294

Гибридная змея. Реверсим приложение на Cython

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

Xakep #293

Змеиная анатомия. Вскрываем и потрошим PyInstaller

Человечество породило целый зоопарк скриптовых языков с низким порогом вхождения в попытке облегчить всем желающим «вкатывание в айти» сразу после окончания месячных курсов. Есть мнение, что в этом зоопарке царем зверей сейчас работает Python. Эта ползучая рептилия так сильно опутала своими кольцами IT, что даже нейросеть без ее участия теперь ничему не обучить. А раз так, настало время препарировать этого аспида и посмотреть, что у него внутри. Начнем с технологии под названием PyInstaller.

Xakep #291

В обход стражи. Как вскрывают приложения, защищенные аппаратным ключом Sentinel

Реверс-инжиниринг написанных на Java приложений, если разработчики не позаботились заранее об их защите, обычно не представляет трудностей. Именно чтобы усложнить жизнь хакерам и исследователям, используются различные инструменты, один из которых — защита с аппаратным ключом Sentinel. Сегодня мы рассмотрим способ обхода такой защиты.

Xakep #290

Препарируем Viber. Мини-гид по анализу приложений для Android

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

Xakep #289

Кряк души. Колонка главреда

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

Xakep #288

Ангард! Реверсим приложение, защищенное DNGuard

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

Xakep #285

Get your Xojo. Реверсим приложение на REALbasic

Помнишь, как на школьных уроках информатики тебя заставляли изучать Basic? Так вот: это был ненастоящий Basic. А настоящий, то есть REALbasic, теперь называется Xojo, и на нем до сих пор пишут приложения. Сегодня я расскажу тебе, как они устроены изнутри и как их можно взломать.

Xakep #284
ВзломДля начинающих

Фундаментальные основы хакерства. Учимся анализировать программы для x86-64 с нуля

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

Xakep #283

Безумный Max. Как ломают плагины для 3ds Max

Коммерческие плагины к популярным программам, как и обычные приложения, используют собственные механизмы безопасности. Сегодня мы немного поковыряемся во внутренностях платных расширений для популярного трехмерного редактора 3ds Max и узнаем, какие методы защиты применяют их разработчики.

Страница 1 из 3123

Еженедельный дайджест

Спасибо за подписку! Мы будем присылать важные новости ИБ в еженедельном дайджесте
Ошибка при подписке Случилась ошибка при создании подписки на наш дайджест. Пожалуйста, попробуйте позднее
Важные события и скидка на подписку:
«ХАКЕР» ДОСТУПЕН ТОЛЬКО В ЭЛЕКТРОННОЙ ВЕРСИИ
Оформи подписку — получи:
  • доступ к платным материалам сайта
  • доступ ко всем номерам PDF
4000 р.
на год
920 р.
на месяц

«Хакер» в соцсетях

Материалы для подписчиков