diff --git a/src/modules/system/nt.c b/src/modules/system/nt.c index 5bc9646ea18b8fa585f837678792852a7c3e3f81..507cae77b2fd5327f15f055d253fef97a1353c64 100644 --- a/src/modules/system/nt.c +++ b/src/modules/system/nt.c @@ -239,16 +239,16 @@ static void push_regvalue(DWORD type, char* buffer, DWORD len) case REG_DWORD_LITTLE_ENDIAN: push_int(EXTRACT_UCHAR(buffer)+ - (EXTRACT_UCHAR(buffer+1)<<1)+ - (EXTRACT_UCHAR(buffer+2)<<2)+ - (EXTRACT_UCHAR(buffer+3)<<3)); + (EXTRACT_UCHAR(buffer+1)<<8)+ + (EXTRACT_UCHAR(buffer+2)<<16)+ + (EXTRACT_UCHAR(buffer+3)<<24)); break; case REG_DWORD_BIG_ENDIAN: push_int(EXTRACT_UCHAR(buffer+3)+ - (EXTRACT_UCHAR(buffer+2)<<1)+ - (EXTRACT_UCHAR(buffer+1)<<2)+ - (EXTRACT_UCHAR(buffer)<<3)); + (EXTRACT_UCHAR(buffer+2)<<8)+ + (EXTRACT_UCHAR(buffer+1)<<16)+ + (EXTRACT_UCHAR(buffer)<<24)); break; default: