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

Отладка

Xakep #308

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

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

Xakep #307

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

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

Xakep #306

Волшебный цилинь. Используем эмулятор Qiling при анализе малвари

Недавно мне попался вредонос семейства PikaBot, и при его изучении я наткнулся на старый, но по‑прежнему популярный прием API Hashing. Он позволяет скрывать возможности малвари как от средств защиты, так и от инструментов анализа. Сегодня мы при помощи эмуляции попробуем автоматизировать выявление функций, вызываемых через API Hashing.

Xakep #305

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

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

Xakep #304

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

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

Xakep #303

Шелл-код Agent Tesla. Изучаем новые приемы реверса малвари в Ghidra

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

Xakep #301

Как работает EDR. Подробно разбираем механизмы антивирусной защиты

В «Хакере» часто обсуждается скрытие процессов и системных вызовов, обфускация кода и прочие способы обхода AV/EDR. Но что, если ты хочешь не только следовать инструкциям, но и самостоятельно искать такие техники? Для этого нужно как минимум понимать общие принципы работы антивирусов и EDR. Эти принципы мы и обсудим.

Xakep #297

Ты не пройдешь! Изучаем методы предотвращения подгрузки DLL

Злые вирусы так и норовят подгрузить в нашу легитимную программу свои библиотеки! Возможно ли избавиться от чужих модулей? Как предотвратить загрузку библиотек или хотя бы своевременно о ней узнать? Давай разбираться.

Xakep #297

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

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

Xakep #295

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

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

Xakep #294

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

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

Xakep #294

Молчи и скрывайся. Прячем IAT от антивируса

Зоркий глаз антивируса так и норовит обнаружить наши пейлоады! Давай покажу, как скрыть все импорты, чтобы спрятаться от назойливого внимания антивирусных программ. Мы попробуем мимикрировать под легитимное приложение с помощью IAT Camouflage.

Xakep #294

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

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

Xakep #293

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

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

Xakep #293
КодингХардкор

Врата ада. Переписываем Hell’s Gate и обходим антивирус

Хочешь узнать, как обойти антивирусные программы с помощью системных вызовов? Мы раскроем секреты этой захватывающей техники, перепишем известный инструмент, попрограммируем на ассемблере и поищем паттерны в памяти, чтобы получить FUD-пейлоад!

Xakep #293

Снимаем крючки. Познаем анхукинг ntdll.dll

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

Xakep #292

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

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

Xakep #290

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

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

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

Фундаментальные основы хакерства. Находим реальные адреса инструкций в исполняемых файлах x86-64

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

Xakep #288

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

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

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

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

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

Xakep #288

Неправильные эльфы. Учим исполняемые файлы Linux сопротивляться отладке

Из множества техник антиотладки одна стоит особняком: ее суть — не задетектить дебаггер, а не допустить запуска в нем приложения. Поговорим о том, как это достигается, о parser differentials и фаззинге. А потом получим такие эльфы, чтобы их с руганью не открыли отладчик и дизассемблер, но чтобы они прекрасно запустились в родной среде обитания — Linux.

Xakep #286

Мертвая эра. Изучаем приложение, созданное в BioEra

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

Xakep #286

Опасный талисман. Изучаем вредонос Talisman на практике

В 2022 году несколько антивирусных компаний опубликовали обзоры написанного на C бекдора из семейства PlugX под названием Talisman. На примере этого трояна мы разберем, как выполняется динамический и статический анализ вредоносного ПО, а также создадим собственные сигнатуры для детектирования исследуемого образца.

Дельфийские игры. Реверсим 64-разрядные приложения на Delphi

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

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

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

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

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

Отладка программ без исходников. Анализируем двоичные файлы в Linux штатными средствами

Какие инструменты использовать в Linux для реверса бинарных файлов? В этой статье мы расскажем, как для этих целей применять PTrace и GDB, и покажем, как выглядит работа с ними.

Xakep #283

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

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

Xakep #280
ВзломХардкор

Причуды «Фемиды». Пишем лоадер для программ, защищенных Themida

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

Xakep #276

Неядерный реактор. Взламываем протектор .NET Reactor

Для защиты приложений .NET от отладки и реверса существует множество способов (шифрование, компрессия и другие), а также специальных протекторов, таких как, например, Agile.Net и Enigma. О взломе многих из них мы уже писали. Сегодня я расскажу, как побороть еще один популярный протектор и обфускатор — .NET Reactor.

Xakep #275

Препарируем P-Code. Как реверсить старый софт на Visual Basic

Чтобы немного разнообразить свою жизнь, сегодня мы снова займемся разборкой антиквариата. Многие уже забыли о существовании такого инструмента, как давно похороненный P-Code, в который транслировались программы на Visual Basic. Тем не менее созданные с его помощью приложения до сих пор существуют, и сегодня мы с тобой аккуратно сломаем одно из них.

Xakep #274

Фемида дремлет. Как работает обход защиты Themida

Themida или «Фемида» — одна из самых навороченных защит для софта. Вместе с WMProtect ее относят к настолько суровым протекторам, что некоторые программисты, которым жаль денег на честную покупку этих инструментов (а стоят они недешево), просто имитируют их наличие, что отпугивает ленивых и неопытных хакеров. Сегодня мы поговорим о том, как сбросить триал приложения, защищенного настоящей Themida.

Xakep #270

В обход стражи. Отлаживаем код на PHP, упакованный SourceGuardian

На языке PHP можно писать практически полноценные приложения, защищенные упаковщиком SourceGuardian, декомпилятора для которого в свободном доступе не существует. Сегодня мы разберем практический способ быстрой отладки такого байткода под Windows без специальных инструментов — только ловкость рук и немного магии.

Xakep #261

Гиперотладка. Разбираем отладку Microsoft Hyper-V с самого начала

Гипервизор производства корпорации Microsoft содержит определенное количество ошибок. Поиск этих ошибок — занятие не только увлекательное, но и полезное: во-первых, Microsoft располагает собственной программой Bug Bounty, а во-вторых, знания о недокументированных возможностях ценны сами по себе. В сегодняшней статье мы рассмотрим принципы отладки гипервизора Hyper-V.

Xakep #242

Отладка MIPS. Как я собрал рабочий инструмент из сломанных запчастей

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

Xakep #238

Убить Билла. Изучаем способы принудительного завершения процессов в Windows

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

Xakep #236

Набор программ для взлома программ. Выбираем инструменты для реверса

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

Xakep #232

Злой дебаг. Исследуем и взламываем приложения для Android при помощи отладчика

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

Xakep #229

Искусство удаленной отладки. Готовим инструментарий для работы с ядром и вирусами

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

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

25 лет «Хакеру»!

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

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

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

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