Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
masm32-kernel-programming — masm32 커널 프로그래밍, 드라이버, 튜토리얼, 예제 및 도구 (크레딧: Four-F) | Kitploit
도구/GitHubGitHub/therealdreg/masm32-kernel-programming
Reverse EngineeringMalware AnalysisBinary AnalysisLearning & EducationCurated ResourcesLabs & Practice
GitHubtherealdreg/masm32-kernel-programming

masm32-kernel-programming

masm32 커널 프로그래밍, 드라이버, 튜토리얼, 예제 및 도구 (크레딧: Four-F)

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
저장소 보기웹사이트
1301893년 전Kitploit 검토 완료

masm32-kernel-programming

Dreg가 자신의 필요에 따라 관리하는 저장소입니다.

masm32 커널 프로그래밍, 드라이버, 튜토리얼, 예제, 도구(크레딧: Four-F)

Instructions

  • 이 저장소를 다운로드/클론하세요
  • 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\에 복사하세요

Basic example

  • beeper.asm을 C:\로 복사하세요
  • beeper.bat을 C:\로 복사하세요
  • beeper.bat을 실행하세요

이 시점에 C:\에 .sys 파일이 생성됩니다.

How to load/unload a driver

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

저는 Sven B. Schreiber의 w2k_load.exe를 Windows 2000부터 Windows 10까지 작동하도록 수정했습니다(매니페스트...).

osrloader

osrloaderv30.zip의 압축을 풀고 이 GUI 프로그램을 사용하세요:

  • .sys 파일(드라이버 경로) 선택
  • 서비스 등록
  • 서비스 시작

windbg 없이 디버그 메시지를 보는 방법

이전 Windows에서는 이 저장소에 첨부된 DbgView.exe를 사용하면 됩니다. 참고로 저는 이 파일을 수정했습니다(매니페스트...).

최신 Windows에서는 sysinternals 웹 사이트의 최신 dbgview.exe를 사용하고 문제 해결을 위해 다음을 확인하세요:

  • 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를 생성하는 BATCH 코드가 들어 있을 뿐만 아니라 드라이버 소스 코드 자체도 포함되어 있습니다. 그래서 맞습니다. 매우 까다롭게도 빌드 스크립트와 소스 코드가 함께 있습니다.

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

IoCreateDevice 대신 IoCreateDeviceSecure를 호출하여 명명된 디바이스 개체에 특정 보안 설정을 적용하는 방법을 보여주는 예제입니다.

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

basic/MemoryWorks/SystemModules

커널 모드에서 메모리를 할당하는 방법을 보여주는 예제입니다. 메모리를 쓸데없이 할당하지 않도록 일부 시스템 정보로 채웁니다.

KmdManager로 등록/등록 해제하고 시작/중지하세요. DbgView(www.sysinternals.com)로 해당 디버그 출력을 확인하거나 SoftICE를 사용하세요.

테스트 환경: Windows 2000, XP 및 Server 2003.

basic/RegistryWorks

basic/RegistryWorks

레지스트리 키를 생성, 설정, 읽기 및 삭제하는 방법을 보여주는 예제입니다.

KmdManager로 등록/등록 해제하고 시작하세요. DbgView(www.sysinternals.com)로 해당 디버그 출력을 확인하거나 SoftICE를 사용하세요.

테스트 환경: Windows 2000, XP 및 Server 2003.

basic/Sections

basic/Sections

코드를 서로 다른 PE 섹션에 배치하는 방법을 보여주는 예제입니다.

basic/Synchronization/MutualExclusion

basic/Synchronization/MutualExclusion

리소스에 대한 상호 배타적 액세스를 구현하는 방법을 보여주는 예제입니다.

KmdManager로 등록/등록 해제하고 시작/중지하세요. DbgView(www.sysinternals.com)로 해당 디버그 출력을 확인하거나 SoftICE를 사용하세요.

basic/Synchronization/SharedEvent - ProcessMon

[basic/Synchronization/SharedEvent - ProcessMon](KmdKit18/examples/basic/Synchronization/SharedEvent - ProcessMon)

어떤 종류의 이벤트가 발생했음을 사용자 모드에 알리는 방법을 보여주는 예제입니다.

테스트 환경: Windows 2000, XP 및 Server 2003.

basic/Synchronization/TimerWorks

basic/Synchronization/TimerWorks

타이머를 생성, 설정, 대기 및 취소하는 방법을 보여주는 예제입니다.

KmdManager로 등록/등록 해제하고 시작/중지하세요. DbgView(www.sysinternals.com)로 해당 디버그 출력을 확인하거나 SoftICE를 사용하세요.

테스트 환경: Windows 2000, XP 및 Server 2003.

basic/WorkItem

basic/WorkItem

WorkItem 예제

도구 다운로드