Виртуализация для самых маленьких #3: готовим структуры, заполняем EPT

21 июн 2020

В прошлой части мы получили теоретическую базу по принципам настройки гипервизора и EPT. Применим их на практике. В первой части мы написали шаблон драйвера и заготовку для виртуализации всех процессоров - функцию VirtualizeAllProcessors. Код виртуализации будет необходимо выполнить на всех процессорах и это легко сделать через генерацию межпроцессорного прерывания функцией KeIpiGenericCall. Каждый логический процессор выполнит код, переводящий его в режим виртуализации, и продолжит свою...
Читать далее
Лайков +7 Комментариев19 Просмотров2.470

Исследование PPPWorld 6.3.0.2: пишем KeyGen.

25 июн 2022

Данный материал публикуется исключительно в ознакомительных целях. Автор не несёт никакой ответственности за его применение в корыстных целях. ЦЕЛЬ : PPPWorld 6.3.0.2 Инструменты : OllyDbg + PEExplorer + MASM32 Я думаю, многие из вас знают о довольно популярном способе проведения досуга, таком как решение японских кроссвордов. Зачастую, печатные версии этих головоломок можно видеть на полках газетных киосков, магазинов. Помимо печатных изданий сегодня существует огромное множество...
Читать далее
Лайков +1 Комментариев1 Просмотров218

Hook engine. Может кому-то пригодится

11 апр 2022

Hook engine Движок для перехвата функций. Подойдет как для ring3 перехватов, так и для ring0. Проблемы могут возникнуть при копировании call в тело функции, но я думаю этого не будет. Функции аллока и освобождения памяти намеренно убраны, т.к. для разных ring свои функции аллока памяти. Работает так: дизассемблирует начальный код функции, и копирует в буфер столько кода, чтобы заместо него поместился call. После копирования, начало функции заменяется на call <> + nop для добивки остатков....
Читать далее
Лайков +2 Комментариев1 Просмотров465

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

27 фев 2018

Мы установим пару плагинов для WINDBG, которые будут помогать нам дальше при работе. К сожалению эти плагины работают только в WINDBG, но если Вы запустите их в WINDBG, запущенном в IDA, они дадут сбой, возможно, потому что они конфликтуют с PYTHON, который включён в IDA, но мы будем использовать их в отдельном WINDBG, когда они нам понадобятся. Мы будем копировать файлы, которые я приложил, в каталог WINEXT, который находится внутри каталога, где установлен WINDBG и установим библиотеку...
Читать далее
Лайков +4 Комментариев10 Просмотров5.332

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

19 мар 2018

Хорошо. Давайте начнем работать с версией программы, которая имеет защиту DEP. Мы знаем, что программа похожа на предыдущую, но что произойдёт, если мы запустим скрипт для версии где защита DEP отсутствует. Изменим путь в скрипте, для того, чтобы он указывал на файл DEP.EXE. [ATTACH] Я запускаю скрипт и присоединяюсь к процессу помощью IDA, которая уже имеет анализ файла DEP.EXE. [ATTACH] Я установлю BP сразу после функции GETS, чтобы увидеть, что происходит в функции SALUDA, так как...
Читать далее
Лайков +4 Комментариев8 Просмотров4.286

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

11 мар 2018

Давайте начнём с эксплуатации и возможного выполнения кода. Конечно, мы должны учитывать смягчения и учиться противостоять новым защитам, которые были добавлены. Иногда мы сможем избежать их, а иногда и нет. Основная идея состоит в том, чтобы обучаться постепенно. Давайте сначала рассмотрим некоторые важные определения. ЧТО ТАКОЕ DEP ? [ATTACH] Предотвращение выполнения данных (DEP) представляет собой набор аппаратных и программных технологий, который выполняет дополнительные проверки в...
Читать далее
Лайков +4 Комментариев3 Просмотров4.868

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

26 фев 2018

Подготовка WINDBG для работы с IDA. Один из инструментов, который нам необходимо установить - это отладчик WINDBG. Им можно управлять через интерфейс IDA. Это отличный отладчик. Может ему и не хватает комфорта, потому что почти все типы команд являются консольными и его немножко сложно использовать, но мы можем использовать отличный интерфейс, который предлагает IDA, отлаживая движком WINDBG. WINDBG очень полезен, когда мы хотим отлаживать ядро или получить хорошую информацию о состоянии...
Читать далее
Лайков +4 Комментариев5 Просмотров5.890

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

3 дек 2017

Концепция программирования, при которой большая часть нужных нам данных сгруппирована в структурах, имеет большой смысл. Если я, например, создам программу, в которой будет использоваться много разных типов данных и они будут передаваться в функции при вызове - получится слишком сложно. Когда мы используем структуры, мы группируем все эти данные и просто используем адрес начала структуры. В любой части программы мы может изменить любое поле структуры. Давайте разберем следующий пример...
Читать далее
Лайков +6 Комментариев12 Просмотров6.242