Developer knowledge network · moderated exchange

UnreliableCode қауымдастығы

Әзірлеушілерді зерттеу, кері инженерия және кодтау қауымдастығы

Knowledge indexТірі
4Categories
919Threads
2.8KЖазбалар
Guide

Reading hardware MSR registers (__readmsr / __writemsr) in kernel driver [v2.4 Technical Discussion]

kernel_komrade
Driver Dev
MEMBER
Өкіл: 145
Қосылу күні: Feb 2019
Хабарламалар: 26
Рахмет: 45
1 ай бұрын · Jul 22, 2026 12:19 AM
#1

Model-Specific Registers (MSRs) control CPU architectural features:

C
#define IA32_LSTAR_MSR 0xC0000082 // Syscall Target Address
#define IA32_GS_BASE_MSR 0xC0000101 // KPCR / Thread Pointer

// Read syscall entry point
ULONG64 lstar = __readmsr(IA32_LSTAR_MSR);
printf("[KERNEL] System Call Target Address: 0x%llX\n", lstar);

Useful for verifying kernel integrity and checking if system call dispatchers have been tampered with.

x64_assembler
Assembly Guru
MEMBER
Өкіл: 99
Қосылу күні: Sep 2022
Хабарламалар: 14
Рахмет: 16
1 ай бұрын · Jul 22, 2026 2:57 AM
#2

IA32_GS_BASE holds the pointer to KPCR (Kernel Processor Control Region) which is fundamental to Windows thread scheduling.

stack_smasher
Kernel Explorer
MEMBER
Өкіл: 111
Қосылу күні: Feb 2019
Хабарламалар: 30
Рахмет: 18
1 ай бұрын · Jul 22, 2026 2:51 PM
#3

Clean MSR register querying.