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

25 фев 2017

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

Квантовая сепарация или разбираемся с Win32PrioritySeparation

9 мар 2020

В этой заметке речь пойдёт об известной настройке планировщика - Win32PrioritySeparation, позволяющей настраивать количество квантов времени, выделяемых фоновым (background) и активным (foreground) процессам. Этот параметр - поле в реестре с типом REG_DWORD: HKLM\System\CurrentControlSet\Control\PriorityControl\Win32PrioritySeparation Во многих источниках есть описания возможных значений без объяснения внутреннего устройства этого параметра - эти пробелы и призвана закрыть эта статья....
Читать далее
Лайков +3 Комментариев2 Просмотров28.111

Драйверы режима ядра: Часть 6: Базовая техника: Работа с памятью. Использование системных куч

2 окт 2003

С этой статьи мы начинаем разбирать некоторые базовые техники, без которых трудно представить себе создание мало-мальски полезного драйвера. Работу с памятью рассмотрим в первую очередь.
Читать далее
Лайков +2 Комментариев0 Просмотров2.580

Внедрение кода в ехе-файл в конец секции c добавлением API-функций. Часть 6

5 апр 2019

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

Как работает Thread Local Storage

7 мар 2026

Исследование TLS, загрузчика и CRT-инициализации в conhost.exe Введение Целью данного исследования было изучение того, как Thread Local Storage (TLS) используется в процессе conhost.exe, а также как TLS взаимодействует с: механизмами загрузчика Windows, стартовой последовательностью процесса, инициализацией MSVC CRT, и механизмом потокобезопасной инициализации локальных статических объектов. Анализ проводился на живом процессе conhost.exe с использованием WinDbg. Основной задачей было...
Читать далее
Лайков +2 Комментариев0 Просмотров1.234

Обработка user-mode исключений в Windows

12 июн 2010

Статья посвящена обработке user-mode исключений в Windows.
Читать далее
Лайков +1 Комментариев1 Просмотров10.185

Драйверы режима ядра: Часть 8: Базовая техника: Работа с памятью. Совместно используемый раздел

13 ноя 2003

Совместно используемый объект “раздел” может служить средством обмена данными не только для пользовательских процессов, но и для драйверов. В этой статье именованный раздел используется для обмена данными между пользовательским процессом и драйвером.
Читать далее
Лайков +1 Комментариев0 Просмотров1.950

Драйверы режима ядра: Часть 7: Работа с памятью. Использование ассоциативных списков

27 окт 2003

Операция выделения памяти из системных пулов требует времени, т.к. диспетчер куч пытается подобрать свободный блок подходящего размера. Так называемые ассоциативные списки, при правильном использовании, могут сократить это время до минимума.
Читать далее
Лайков +1 Комментариев0 Просмотров2.434