Новые публикации

Заголовок
Оценка
Ответов
Последнее сообщение

    Про криптование малвари, и сколько будет FUD

    16 май 2017

    Краткая теория защиты специфического программного обеспечения от детектирования антивирусами в вопросах и ответах «на пальцах» 1. >Сколько продержится FUD? Один из самых тупых и надоедливых вопросов клиентов. Клиент даёт нам файл, мы его криптуем, убеждаемся на чекерах, что он ФУД; проверяем на Virtual Box, как правило на х64 Windows 7 и х86 Windows XP, что он работает (если встроена защита от VM – смотрим что крипт отрабатывает без проблем) и передаем закриптованный файл. Дальнейшие...
    Читать далее
    Лайков +2 Комментариев3 Просмотров46

    Введение в реверсинг с нуля используя IDA PRO. Часть 7

    15 май 2017

    ИНСТРУКЦИИ УПРАВЛЕНИЯ ПОТОКОМ ВЫПОЛНЕНИЯ ПРОГРАММЫ Давайте закончим с инструкциями, которые всегда являются самой сложной частью, проглотите эту жесткую таблетку, потому что дальше будет лучше. Следующие инструкции управляют потоком выполнения программы. Мы знаем, что EIP указывает на следующую инструкцию, которая будет выполнена, и когда это произойдёт, EIP будет указывать снова на следующую инструкцию. Но сама программа имеет в себе инструкции, которые управляют её потоком и могут...
    Читать далее
    Лайков 0 Комментариев5 Просмотров74

    Введение в крэкинг с нуля, используя OllyDbg - Глава 55

    6 май 2017

    В этой главе мы продолжим починку execryptor, для этого мы создадим скрипт, ремонтирующий IAT. У многих, когда они слышат слово "скрипт", волосы встают дыбом (если они есть, хе-хе-хе), но создать скрипт - действительно очень просто, загвоздка состоит в том, что, когда смотришь на готовый скрипт, кажется, что он очень сложен, но в действительности скрипт не формируется сразу цельным, он начинается с простой идеи, к которой затем добавляются части, например, для execryptor, в котором мы должны...
    Читать далее
    Лайков 0 Комментариев0 Просмотров48

    Введение в крэкинг с нуля, используя OllyDbg - Глава 54

    3 май 2017

    При анализе неизвестного упаковщика лучше всего сначала проверить, существует ли для него известный анпэкми, поскольку нам нужен его распакованный код. Если, как в нашем случае, анпэкми есть, у нас будет и код распакованного анпэкми для сравнения. Анпэкми могут быть реализованы в нескольких вариантах, начиная от самой простой защиты упаковщика, до самой сложной, чтобы можно было постепенно обезвреживать каждый трюк. Когда нам будут известны все трюки упаковщика, можно будет приступать...
    Читать далее
    Лайков 0 Комментариев2 Просмотров128

    Введение в реверсинг с нуля используя IDA PRO. Часть 6

    12 мар 2017

    Давайте продолжим с арифметическими и логическими инструкциями. ADD A, B Инструкция складывает значение B и A, и помещает результат в A. A может быть регистром или содержимым ячейки памяти, B может быть регистром, константой или содержимым ячейки памяти (A и B не должны быть в памяти в одно и то же время, в одной и той же инструкции) Рассмотрим несколько примеров инструкции ADD ища текст ADD через VEVIEWER. [ATTACH] Здесь мы видим много примеров сложений, где первый член регистр, а...
    Читать далее
    Лайков 0 Комментариев11 Просмотров643

    Введение в реверсинг с нуля используя IDA PRO. Часть 5

    12 мар 2017

    Мы продолжаем рассматривать основные инструкции и их использование в коде, когда мы дойдем до части где используется отладчик, мы будем видеть больше примеров, где рассматриваются результаты применения каждой из этих инструкций на реальном примере. LEA (LOAD EFFECTIVE ADDRESS) LEA A, B Инструкция LEA помещает указанный адрес из B в A. Она никогда не получает доступ к содержимому B, это всегда будет адрес или результат работы операции между квадратными скобками во втором операнде....
    Читать далее
    Лайков 0 Комментариев3 Просмотров368

    Софтверные анклавы.

    11 мар 2017

    Механизм защиты памяти(продолжение темы про DFG). Довольно краткое(опирается на более ранние публикации) описание, но понятное. Полноценный антидамп.
    Читать далее
    Лайков +1 Комментариев0 Просмотров162

    Преобразование чисел в указанную систему счисления

    10 мар 2017

    Всех приветствую! Постарался изложить материал, для тех кто не знаком с системами счисления очень кратко и без лишней воды. Дабы человек мог конкретно сконцентрироваться на интересующем его материале, надеюсь такой стиль изложения кому-то поможет. Прежде всего небольшой ликбез, в таблице представлены числа из разных систем счисления и их эквивалент. Также сюда можно заглядывать во время чтения статьи. ДесятичнаяШестнадцатиричнаяДвоичная четырех разрядная 0 0 0000 1 1 0001 2 2 0010 3 3...
    Читать далее
    Лайков +2 Комментариев0 Просмотров135

    Анализ атомов AV

    27 фев 2017

    Анализ атомов1 AVПоказан пример анализа атомов в AV. В данном тесте не используется код самих AV, а только результат тестирования в виде сигнатурного детекта. В следствие этого за один тест может быть проверено одно булево условие. Как было сказано ранее, в VM код API содержит атомы, которые служат шлюзами VM. Через них управление получает VM и эмулирует API, которые не могут быть выполнены без использования среды VM. Простые API в свою очередь атомов не содержат. Для тестов используется...
    Читать далее
    Лайков +3 Комментариев3 Просмотров304

    Оптимизация для процессоров семейства Pentium (часть 3)

    25 фев 2017

    Чтобы подсчитать количество прочитываемых регистров, вам нужно включить все регистры, которые считываются инструкцией. В это число входят все целочисленные регистры, флаговые регистры, указатель на стек, регистры плавающей запятой и регистры MMX. Регистр XMM идет за два, кроме тех случаев, когда используется только его часть, например в ADDSS и MOVHLPS. Сегментные регистр и указатель на инструкцию не учитываются. Например в 'SETZ AL' вы считаете флаговый регистр, но не AL. В 'ADD EBX, ECX'...
    Читать далее
    Лайков +2 Комментариев0 Просмотров149

    Оптимизация для процессоров семейства Pentium (часть 2)

    25 фев 2017

    10.2 Несовершенное спаривание Бывают ситуации, когда две спаривающиеся инструкции не будут выполняться одновременно или будут частично рассинхронизированы во времени. Пока обе инструкции не выполняться (каждая в своем конвейере) ни одна другая инструкция не начнет выполняться. Несовершенное спаривание возникает в следующих случаях: Если вторая инструкция приводит к задержке AGU (глава 9). Две инструкции не могут обращаться к одному и тому двойному слову в памяти одновременно: MOV AL,...
    Читать далее
    Лайков +1 Комментариев0 Просмотров143

    Обнаружение VM, навороченные методы (vx)

    25 фев 2017

    Обнаружение VM, навороченные методы (vx) https://yadi.sk/d/CQWCxYvT39FFtx Защита потока данных (Data Flow Guard) Защита потока управления (CFG) или данных (DFG) – методы обнаружения нарушения целостности кода или данных, обнаружение чужеродных объектов. Нарушение целостности кода — появление в нём посторонних инструкций, код может сам изменяться или вызывать чужеродный код косвенным путём — посредством изменения памяти, например указателей в массивах методов или адресов возврата на стеке. В...
    Читать далее
    Лайков +2 Комментариев1 Просмотров275

    Способы обнаружения атомов

    25 фев 2017

    Способы обнаружения атомов Ранее описан способ блокировки исполнения атома — изоляция выборки данных (DF) через блокировку памяти. При обнаружении DF адресация изменяется, но так как в атоме DF не существует, он не может получить доступ к данным. Далее рассмотрены методы не блокировки, а обнаружения атомов. Для обнаружения атома необходимо в начале получить событие DF. Далее можно выполнить валидацию DFG или иные манипуляции. Базовые способы получения DF: Раскодировка адресов для каждой...
    Читать далее
    Лайков +2 Комментариев1 Просмотров229

    Оптимизация для процессоров семейства Pentium (часть 1)

    25 фев 2017

    Оптимизация для процессоров семейства Pentium — Архив WASM.RU Содержание Введение Литература Вызов ассемблерных функций из языка высокого уровня Отладка Модель памяти Выравнивание Кэш Исполнение кода в первый раз Задержка генерации адреса Спаривание целочисленных инструкций (PPlain и PMMX) Разбивка сложных инструкций на более простые (PPlain и PMMX) Префиксы (PPlain и PMMX) Обзор конвейера PPro, PII и PIII Раскодировка инструкций (PPro, PII и PIII) Доставка инструкций (PPro, PII и PIII)...
    Читать далее
    Лайков +2 Комментариев0 Просмотров188

    Путешествие из Kernel32 в HAL

    25 фев 2017

    Оригинал статьи http://www.debasish.in/2014/02/reversing-tiny-built-in-windows-kernel.html Путешествие из Kernel32 в HAL В этом посте я собираюсь изучить ядро Wiindows путем небольшого реверса встроенного в ядро модуля. Если вы когда-нибудь разрабатывали ядерный драйвер (модуль), это будет очень просто для понимания. Если вы не знакомы с тем, как работают драйвера, то на Codeproject.com есть немного хороших ресурсов, чтобы начать. Но прежде чем мы сможем начать реверсинг основного...
    Читать далее
    Лайков +4 Комментариев2 Просмотров345

    Введение в реверсинг с нуля используя IDA PRO. Часть 4

    20 фев 2017

    Мы продолжаем рассматривать инструкции обмена данными в IDA. XCHG A, B Эта инструкция обменивает значение A со значением B, давайте рассмотрим пример. [ATTACH] В файле VEVIEWER нет такой инструкции, поэтому я загружаю СRACKME.EXE Cruehead, и меняю инструкцию по адресу 0x4013D8. Я помещаю курсор на строку адреса и перехожу в меню EDIT->PATCH PROGRAM->ASSEMBLE. [ATTACH] Мы видим, что функция была повреждена, так как я работаю сейчас с ней. [ATTACH] Мы уже видели, что, если инструкция...
    Читать далее
    Лайков 0 Комментариев3 Просмотров403

    Введение в разработку эксплоитов. Часть 1

    20 фев 2017

    Часть 1: Введение в разработку эксплоитов Это первая часть в (скромной) многотомной серии туториалов, посвященной разработке эксплоитов. Эта часть просто расскажет некоторые базовые вещи, такие, которые нам нужны, чтобы сделать нашу работу, основные идеи скрытые за разработкой эксплоитов и некоторые вещи, которые нужно держать в памяти, если мы хотим заслать и выполнить наш шеллкод. Эти туториалы не будут рассказывать как находить ошибки, вместо этого, каждая часть будет включать уязвимую...
    Читать далее
    Лайков 0 Комментариев18 Просмотров435

    Введение в реверсинг с нуля используя IDA PRO. Часть 3

    19 фев 2017

    Загрузчик Мы уже видели, что когда в IDA мы открываем исполняемый файл, тот же самый файл открывается в ЗАГРУЗЧИКЕ, который является статическим анализатором того же самого файла. Мы будем анализировать его части и характеристики, большая часть того, что мы видели до настоящего времени, будут применимы и к ЗАГРУЗЧИКУ и для ОТЛАДЧИКА. В случае, если что-то будет отличаться или не похоже на общий случай, я упомяну это. Очевидно, то, что в ЗАГРУЗЧИКЕ программа абсолютно не выполняется, но...
    Читать далее
    Лайков +3 Комментариев6 Просмотров564

    Введение в реверсинг с нуля используя IDA PRO. Часть 2

    17 фев 2017

    Так как этот курс называется введение с нуля, есть вещи про которые многие уже знают, если Вы один из них, пропустите эту главу если хотите, но большинству они не знакомы, я верю, что это важно, поэтому я добавил эту информацию. СИСТЕМЫ СЧИСЛЕНИЯ Три наиболее часто используемые системы счисления это двоичная, десятичная и шестнадцатеричная. Базовые концепции каждой из системы рассмотрим ниже: ДВОИЧНАЯ: Числа представляются двумя символами 0 и 1, вот почему она называется ДВОИЧНАЯ....
    Читать далее
    Лайков +3 Комментариев4 Просмотров551