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

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

    Hooking into NDIS and TDI

    26 авг 2017

    Перевод статьи «Hooking into NDIS and TDI, part 1» Перехват NDIS и TDI, часть 1 andreas пишет: Это первая часть из 2-х статей, описывающих перехват на уровне NDIS и TDI. В первой части мы обсудим перехват на уровне NDIS, а во второй на уровне TDI. Прежде всего давайте посмотрим на упрощенное изображение сетевого стека в пространстве ядра: TDI NDIS уровень протокола NDIS промежуточный уровень Miniport Hardware Для контроля потока данных на уровне NDIS у нас есть 3 потенциально возможные...
    Читать далее
    Лайков +3 Комментариев5 Просмотров5.682

    Detecting Hidden Processes by Hooking the SwapContext Function

    24 авг 2017

    Определение скрытых процессов методом перехвата функции SwapContext. kimmo пишет: Общедоступна утилита Klister, созданная Джоанной Рутковской, которая (утилита) может определять скрытые процессы, проверяя содержимое трех связных списков, управляемых ядром: KiWaitInListHead, KiWaitOutListHead и KiDispatcherReadyListHead. Тем не менее Klister может работать только в ОС Windows 2000 и перенесение (переписывание) кода в ОС Windows 2003/ХР является не такой уж тривиальной задачей. Проблема в...
    Читать далее
    Лайков +3 Комментариев7 Просмотров5.938

    Начала программирования в защищённом режиме (часть 2)

    24 авг 2017

    Линейный адрес таблицы указывает, в какой области оперативной памяти находится таблица. Размер таблицы считается в байтах, при чём значение битов 0-15 должно быть на единицу меньше реального размера таблицы. Структура регистра LDTR выглядит следующим образом: [IMG] Рисунок 17. Структура данных регистра LDTR Из всех 10 байт нам доступны лишь младшие два байта (биты 0-15), в которые следует загрузить селектор дескриптора таблицы LDT, находящийся в таблице GDT. В таком случае общий механизм...
    Читать далее
    Лайков +2 Комментариев1 Просмотров6.358

    Начала программирования в защищённом режиме (часть 1)

    24 авг 2017

    Начала программирования в защищённом режиме. Часть 1 Предисловие Данный цикл статей расчитан на пользователей персональный компьютеров типа IBM PC, которые хотели бы познакомиться с архитектурой процессоров семейства Intel в защищённом режиме и написать свою собственную программу, функционирующую как вполне самостоятельная операционная система. От читателя требуется хотя бы минимальный опыт программирования на языках Assembler и C++, потому что будет предполагаться, что с некоторыми...
    Читать далее
    Лайков +2 Комментариев8 Просмотров17.775

    Кодирование Хаффмана (часть 3)

    24 авг 2017

    Кодирование Хаффмана. Часть 3 Вступление В прошлой части мы рассмотрели программу на C++, сжимающую данные. Кроме этого, автор соизволил признаться, что написанная программа не является идеалом, и что при определённых наборах частот сжатие будет неверным. Эта статья посвящена распаковке сжатого файла при помощи программы на ассемблере и дерева, построенного программой сжатия. Опять же следует оговориться: программа не рассчитана на распаковку гигантских файлов, но её в любой момент можно...
    Читать далее
    Лайков +2 Комментариев2 Просмотров7.035

    Кодирование Хаффмана (часть 1 и 2)

    20 авг 2017

    Кодирование Хаффмана. Часть 1. Вступление Здравствуй, дорогой читатель! В данной статье будет рассмотрен один из способов сжатия данных. Этот способ является достаточно широко распространённым и заслуживает определённого внимания. Данный материал рассчитан по объёму на три статьи, первая из которых будет посвящена алгоритму сжатия, вторая - программной реализации алгоритма, а третья ― декомпрессии. Алгоритм сжатия будет написан на языке C++, алгоритм декомпрессии ― на языке Assembler....
    Читать далее
    Лайков +2 Комментариев1 Просмотров34.417

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

    13 авг 2017

    Хорошо, чтобы не было скучно, мы будем объединять теорию и некоторые упражнения, в этом случае, это другая программа скомпилированная мной, которая называется TEST_REVERSER.EXE и которая очень простая, но она поможет нам увидеть некоторые новые вещи в статическом реверсинге и которые мы проверим в отладчике. Если мы запустим программу вне IDA, то мы увидим. [ATTACH] Нас просят ввести имя пользователя и затем пароль, а потом программа говорит нам, что мы проиграли, и она смеётся над нами....
    Читать далее
    Лайков +15 Комментариев13 Просмотров18.625

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

    10 авг 2017

    Перед тем как продолжить, давайте посмотрим сможем ли мы убрать баг, который присутствует в IDA версии 6.8, и который был исправлен в версии 6.9, и которой у нас нет :”( , чтобы увидеть присутствует ли у нас этот БАГ, откройте IDA, и на любой инструкции нажмите ALT + M, что равносильно размещению метки (JUMP → MARK POSITION), а затем на той же инструкции сделайте правый щелчок. [ATTACH] В интернете мы находим рецепт как исправить этот баг, давайте посмотрим как хорошо работает этот совет...
    Читать далее
    Лайков +17 Комментариев14 Просмотров13.456

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

    30 июл 2017

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

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

    21 июл 2017

    Мы разбираемся понемногу как нужно работать с ЗАГРУЗЧИКОМ, мы оставили некоторые вещи на потом, чтобы наблюдать за ними позже в ОТЛАДЧИКЕ, например, как меняются флаги в зависимости от используемых инструкций. Мы будем практиковаться на очень простых примерах, в нашем случае это очень простые крэкми, которые скомпилированы в VISUAL STUDIO 2015 для нашей практики. Очевидно, для того, чтобы крэкми заработал, у Вас должны быть установлены последние версия библиотек VISUAL STUDIO 2015 C++....
    Читать далее
    Лайков +24 Комментариев23 Просмотров21.012

    Програмирование на fasm под Win64 часть 2 \\\"Системы счисления, память, регистры\\\"

    7 июл 2017

    Данная статья будет чисто теоретической, ничего программировать в ней мы не будем, но то, что здесь рассказывается знать необходимо. Системы счисления Начнём мы с систем счисления, они определяют способ записи чисел. Вам хорошо знакома десятичная система счисления, в ней существует десять цифр от 0 до 9. Число в данной системе счисления представляется как сумма чисел, каждое из которых принимает значения от нуля до девяти, умноженных на 10 в соответствующей степени, например, рассмотрим...
    Читать далее
    Лайков +6 Комментариев2 Просмотров7.368

    Програмирование на fasm под Win64 часть 1 \"Ассемблер, отладчик, IDE\"

    5 июл 2017

    Введение Я начинаю цикл статей по ассемблеру fasm. Возможно у вас есть вопрос: “Зачем в 21 веке нужен ассемблер?”. Я бы ответил так: Конечно, знание ассемблера не обязятельно, но оно способствует пониманию, во что превращается ваш код, как он работает, это позволяет почувствовать силу. Ну и в конце концов: Писать на ассемблере просто приятно (ну по крайней мере небольшие приложения). Так что надеюсь, что мои статьи будут вам полезны. Где взять fasm? Собственно тут:...
    Читать далее
    Лайков +5 Комментариев5 Просмотров37.252

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

    10 июн 2017

    Мы уже увидели в деле основные инструкции, сейчас давайте продолжим работу с ЗАГРУЗЧИКОМ. Способ работать, когда мы не имеем много опыта по статическому реверсингу состоит в том, чтобы комментировать и переименовывать инструкции и области, чтобы иметь лучшую ориентацию по коду и этим мы делаем большую часть своей работы. По мере того, как Вы больше практикуетесь в статическом реверсинге, то можно добиться больше и больше успехов в реверсинге, даже почти без использования отладчика или,...
    Читать далее
    Лайков +28 Комментариев30 Просмотров24.793

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

    16 май 2017

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

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

    15 май 2017

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

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

    6 май 2017

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

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

    3 май 2017

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

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

    12 мар 2017

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

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

    12 мар 2017

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

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

    11 мар 2017

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