From 5ed561a0fc148520edc58f94065164e513daac9c Mon Sep 17 00:00:00 2001 From: flobernd Date: Fri, 27 Oct 2017 03:02:36 +0200 Subject: [PATCH] Fixed `bndldx` and `bndstx` not accepting segment-overrides --- include/Zydis/DecoderTypes.h | 3 ++- src/Generated/InstructionDefinitions.inc | 8 ++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/include/Zydis/DecoderTypes.h b/include/Zydis/DecoderTypes.h index 14877ac..a6558e2 100644 --- a/include/Zydis/DecoderTypes.h +++ b/include/Zydis/DecoderTypes.h @@ -72,7 +72,8 @@ enum ZydisMemoryOperandTypes ZYDIS_MEMOP_TYPE_AGEN, /** * @brief A memory operand using `SIB` addressing form, where the index register is not used - * in address calculation and scale is ignored. + * in address calculation and scale is ignored. No real memory-access is + * caused. */ ZYDIS_MEMOP_TYPE_MIB }; diff --git a/src/Generated/InstructionDefinitions.inc b/src/Generated/InstructionDefinitions.inc index f69e1d5..95cdf1b 100644 --- a/src/Generated/InstructionDefinitions.inc +++ b/src/Generated/InstructionDefinitions.inc @@ -120,8 +120,8 @@ const ZydisInstructionDefinitionDEFAULT instructionDefinitionsDEFAULT[] = { ZYDIS_MNEMONIC_BNDCU, 2, 0x156E, 0, 0x4, ZYDIS_FALSE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, { ZYDIS_MNEMONIC_BNDCU, 2, 0x1570, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, { ZYDIS_MNEMONIC_BNDCU, 2, 0x156E, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, - { ZYDIS_MNEMONIC_BNDLDX, 2, 0x1572, 0, 0x4, ZYDIS_FALSE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - { ZYDIS_MNEMONIC_BNDLDX, 2, 0x1574, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, + { ZYDIS_MNEMONIC_BNDLDX, 2, 0x1572, 0, 0x4, ZYDIS_FALSE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + { ZYDIS_MNEMONIC_BNDLDX, 2, 0x1574, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, { ZYDIS_MNEMONIC_BNDMK, 2, 0x1576, 0, 0x4, ZYDIS_FALSE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, { ZYDIS_MNEMONIC_BNDMK, 2, 0x1576, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, { ZYDIS_MNEMONIC_BNDMOV, 2, 0x1578, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, @@ -130,8 +130,8 @@ const ZydisInstructionDefinitionDEFAULT instructionDefinitionsDEFAULT[] = { ZYDIS_MNEMONIC_BNDMOV, 2, 0x157E, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, { ZYDIS_MNEMONIC_BNDMOV, 2, 0x1580, 0, 0x4, ZYDIS_FALSE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, { ZYDIS_MNEMONIC_BNDMOV, 2, 0x1582, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, - { ZYDIS_MNEMONIC_BNDSTX, 2, 0x1584, 0, 0x4, ZYDIS_FALSE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - { ZYDIS_MNEMONIC_BNDSTX, 2, 0x1586, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, + { ZYDIS_MNEMONIC_BNDSTX, 2, 0x1584, 0, 0x4, ZYDIS_FALSE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + { ZYDIS_MNEMONIC_BNDSTX, 2, 0x1586, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_MPX, ZYDIS_ISA_SET_MPX, ZYDIS_ISA_EXT_MPX, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, { ZYDIS_MNEMONIC_BOUND, 2, 0x1588, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_INTERRUPT, ZYDIS_ISA_SET_BASE, ZYDIS_ISA_EXT_I186, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, { ZYDIS_MNEMONIC_BOUND, 2, 0x158A, 0, 0x4, ZYDIS_TRUE, ZYDIS_CATEGORY_INTERRUPT, ZYDIS_ISA_SET_BASE, ZYDIS_ISA_EXT_I186, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, { ZYDIS_MNEMONIC_BSF, 3, 0xAFE, 0, 0x8, ZYDIS_TRUE, ZYDIS_CATEGORY_BITBYTE, ZYDIS_ISA_SET_BASE, ZYDIS_ISA_EXT_I386, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE },