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

15 май 2017

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

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

6 май 2017

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

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

3 май 2017

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

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

12 мар 2017

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

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

12 мар 2017

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

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

11 мар 2017

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

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

10 мар 2017

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

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

27 фев 2017

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