Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
masm32-kernel-programming — masm32 программирование ядра, драйверы, учебные пособия, примеры и инструменты (авторство Four-F) | Kitploit
Инструменты/GitHubGitHub/therealdreg/masm32-kernel-programming
Обратная инженерияАнализ вредоносных программАнализ Бинарных ФайловОбучение и ОбразованиеПодобранные РесурсыЛаборатории и Практика
GitHubtherealdreg/masm32-kernel-programming

masm32-kernel-programming

masm32 программирование ядра, драйверы, учебные пособия, примеры и инструменты (авторство Four-F)

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
РепозиторийСайт
1301893 лет назадПроверено Kitploit

masm32-kernel-programming

Репозиторий Dreg для его собственных нужд

Программирование ядра masm32, драйверы, руководства, примеры и инструменты (автор: Four-F)

Инструкции

  • скачайте/клонируйте этот репозиторий
  • запустите masm32v11r_install.exe
  • нажмите на установочный образ (земля)
  • установите masm32 в C:\
  • рекомендую добавить в переменную окружения PATH следующие записи:
    • C:\masm32\bin
    • C:\masm32
  • скопируйте содержимое KmdKit18\include\ в C:\masm32\include\
  • скопируйте содержимое KmdKit18\macros\ в C:\masm32\macros\
  • скопируйте содержимое KmdKit18\lib\ в C:\masm32\lib\

Простой пример

  • скопируйте beeper.asm в C:\
  • скопируйте beeper.bat в C:\
  • запустите beeper.bat

В этот момент в C:\ создаётся .sys

Как загрузить/выгрузить драйвер

w2k_load.exe - лучший способ

загрузка драйвера:

  • w2k_load.exe C:\beeper.sys

w2k_load.exe или osrloader.exe выдают ошибку при загрузке beeper.sys — просто проигнорируйте её.

Эта ошибка генерируется самим кодом драйвера, когда он завершает своё собственное выполнение (с помощью этого трюка вам не нужно его выгружать)

mov eax, STATUS_DEVICE_CONFIGURATION_ERROR
ret

Итак, если beep.sys корректно загружен в ядро, вы должны услышать звуковой сигнал из динамиков (код драйвера генерирует сигнал)

Когда вам нужно выгрузить драйвер, используйте:

  • w2k_load.exe PATH_SYS_FILE /unload

Я модифицировал w2k_load.exe от Sven B. Schreiber, чтобы он работал с Windows 2000 по Windows 10 (манифест...)

osrloader

распакуйте osrloaderv30.zip и используйте эту программу с графическим интерфейсом:

  • Выберите файл .sys (путь к драйверу)
  • Зарегистрируйте службу
  • Запустите службу

Как просматривать отладочные сообщения без windbg

для более старых Windows просто используйте DbgView.exe, приложенный в этом репозитории. Кстати, я модифицировал его (манифест...)

Для современных Windows используйте последний dbgview.exe с сайта sysinternals и обратитесь к этим материалам для устранения неполадок:

  • https://stackoverflow.com/questions/12494300/no-output-from-debugview
  • http://msdn.microsoft.com/en-us/library/windows/hardware/ff551519(v=vs.85).aspx
  • https://learn.microsoft.com/en-us/sysinternals/downloads/debugview

Дальнейшие шаги

Прочитайте .pdf-файлы в этом репозитории и посмотрите примеры в каталоге KmdKit18/examples

ПРЕДУПРЕЖДЕНИЕ: ВЕСЬ исходный код ASM находится внутри .bat-файлов (пакетный код и код asm смешаны в одном файле)

Пример: advanced\FindShadowTable\FindShadowTable.bat

;@echo off
;goto make

ASM DRIVER CODE GOES HERE

:make
set drv=FindShadowTable
\masm32\bin\ml /nologo /c /coff %drv%.bat
\masm32\bin\link /nologo /driver /base:0x10000 /align:32 /out:%drv%.sys /subsystem:native %drv%.obj
del %drv%.obj
echo.
pause

Этот файл содержит пакетный код, который создаёт .sys, а также содержит сам исходный код драйвера. Так что да, это очень хитро: сборочный скрипт и исходный код находятся вместе.

advanced/FindShadowTable

advanced/FindShadowTable

Это пример того, как найти ServiceDescriptorTableShadow.

Он просто сканирует потоки с ID 80h-400h, пытаясь найти поток, у которого KTHREAD.ServiceTable не равен KeServiceDescriptorTable. Если такой поток найден, его KTHREAD.ServiceTable содержит адрес ServiceDescriptorTableShadow.

Наблюдайте за отладочным выводом драйвера с помощью DbgView (www.sysinternals.com) или используйте SoftICE.

Проверено на: Windows 2000, XP и Server 2003.

advanced/KbdSpy

advanced/KbdSpy

Это пример простого легаси (не PnP) фильтр-драйвера PS/2-клавиатуры. ПРЕДУПРЕЖДЕНИЕ: Вам не удастся прикрепить его к стеку USB-клавиатуры.

Проверено на: Windows 2000, XP и Server 2003.

advanced/MouSpy

advanced/MouSpy

Four-F, [email protected]. Эти файлы макросов из моего пакета cocomac.

Это пример простого легаси (не PnP) фильтр-драйвера PS/2-мыши. ПРЕДУПРЕЖДЕНИЕ: Вам не удастся прикрепить его к стеку USB-мыши.

Проверено на: Windows 2000, XP и Server 2003.

advanced/SecureDevices

advanced/SecureDevices

Это пример того, как применить определённые параметры безопасности к именованному объекту устройства, вызвав IoCreateDeviceSecure вместо IoCreateDevice.

Поскольку процедура IoCreateDeviceSecure не является частью операционной системы, мы связываем wdmsec.lib, который содержит все необходимые процедуры.

Библиотека wdmsec.lib, которую вы найдёте здесь, — не та, что поставляется с DDK. Мне пришлось пересобрать её, чтобы уменьшить размер, удалив ненужные элементы.

basic/FileWorks

basic/FileWorks

Это пример того, как создавать файл, записывать в него, читать из него и удалять его.

Используйте KmdManager для регистрации/отмены регистрации и запуска. Наблюдайте за его отладочным выводом с помощью DbgView (www.sysinternals.com) или используйте SoftICE.

Проверено на: Windows 2000, XP и Server 2003.

basic/HiddenDriver

basic/HiddenDriver

Это пример того, как упаковать драйвер в ресурсы.

Проверено на: Windows 2000, XP и Server 2003.

basic/IsSafeBootMode

basic/IsSafeBootMode

Способ узнать, работает ли система в безопасном режиме или нет.

Используйте KmdManager для регистрации/отмены регистрации и запуска. Наблюдайте за его отладочным выводом с помощью DbgView (www.sysinternals.com) или используйте SoftICE.

Проверено на: Windows 2000, XP и Server 2003.

basic/MemoryWorks/LookasideList

basic/MemoryWorks/LookasideList

Это пример того, как использовать список lookaside и двунаправленный связанный список для управления блоками памяти, выделенными из списка lookaside.

Используйте KmdManager для регистрации/отмены регистрации и запуска/остановки. Наблюдайте за его отладочным выводом с помощью DbgView (www.sysinternals.com) или используйте SoftICE.

Проверено на: Windows 2000, XP и Server 2003.

basic/MemoryWorks/seh

basic/MemoryWorks/seh

Это пример того, как обрабатывать исключения с помощью SEH. Но помните. ВЫ НЕ МОЖЕТЕ ОБРАБАТЫВАТЬ ВСЕ ИСКЛЮЧЕНИЯ С ПОМОЩЬЮ SEH В РЕЖИМЕ ЯДРА!

Используйте KmdManager для регистрации/отмены регистрации и запуска/остановки. Наблюдайте за его отладочным выводом с помощью DbgView (www.sysinternals.com) или используйте SoftICE.

Проверено на: Windows 2000, XP и Server 2003.

basic/MemoryWorks/SharedSection

basic/MemoryWorks/SharedSection

Это пример того, как использовать именованный объект-раздел для разделения памяти между процессом пользовательского режима и драйвером режима ядра.

Проверено на: Windows 2000, XP и Server 2003.

basic/MemoryWorks/SharingMemory

basic/MemoryWorks/SharingMemory

Это пример одного из возможных способов разделения буфера памяти между пользовательским режимом и режимом ядра.

Проверено на: Windows 2000, XP и Server 2003.

basic/MemoryWorks/SystemModules

Скачать инструмент