diff --git a/include/Zydis/InstructionInfo.h b/include/Zydis/InstructionInfo.h index 1ab5886..3891877 100644 --- a/include/Zydis/InstructionInfo.h +++ b/include/Zydis/InstructionInfo.h @@ -496,7 +496,10 @@ typedef uint64_t ZydisInstructionAttributes; */ #define ZYDIS_ATTRIB_IS_RELATIVE 0x0000000000000040 /** - * @brief The instruction is privileged and may only be executed in ring0. + * @brief The instruction is privileged. + * + * Priviliged instructions are any instructions that require a current ring + * level below 3 or even SMM. */ #define ZYDIS_ATTRIB_IS_PRIVILEGED 0x0000000000000080 /** @@ -617,7 +620,7 @@ typedef uint64_t ZydisInstructionAttributes; */ #define ZYDIS_ATTRIB_HAS_SEGMENT_DS 0x0000000080000000 /** - * @brief The instruction has the ES segment modifier (0x25). + * @brief The instruction has the ES segment modifier (0x26). */ #define ZYDIS_ATTRIB_HAS_SEGMENT_ES 0x0000000100000000 /** @@ -633,7 +636,7 @@ typedef uint64_t ZydisInstructionAttributes; */ #define ZYDIS_ATTRIB_HAS_OPERANDSIZE 0x0000000800000000 /** - * @brief The instruction has the address-size prefix (0x66). + * @brief The instruction has the address-size prefix (0x67). */ #define ZYDIS_ATTRIB_HAS_ADDRESSSIZE 0x0000001000000000 diff --git a/src/Decoder.c b/src/Decoder.c index e60c9e1..420f5ad 100644 --- a/src/Decoder.c +++ b/src/Decoder.c @@ -223,7 +223,6 @@ static ZydisStatus ZydisDecodeVEX(uint8_t vexOpcode, uint8_t vexByte1, uint8_t v switch (vexOpcode) { case 0xC4: - { info->details.vex.data[1] = vexByte1; info->details.vex.data[2] = vexByte2; info->details.vex.R = (vexByte1 >> 7) & 0x01; @@ -235,7 +234,6 @@ static ZydisStatus ZydisDecodeVEX(uint8_t vexOpcode, uint8_t vexByte1, uint8_t v info->details.vex.L = (vexByte2 >> 2) & 0x01; info->details.vex.pp = (vexByte2 >> 0) & 0x03; break; - } case 0xC5: info->details.vex.data[1] = vexByte1; info->details.vex.data[2] = 0;