From 8157b9fa421aa4fbf6fa3f8dc7c2fe8686641fd5 Mon Sep 17 00:00:00 2001 From: flobernd Date: Mon, 23 Jan 2017 01:17:15 +0100 Subject: [PATCH] Temporary change to expose the semantic operand-type --- include/Zydis/InstructionInfo.h | 2 ++ src/Decoder.c | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/include/Zydis/InstructionInfo.h b/include/Zydis/InstructionInfo.h index 46b4b8b..98673f7 100644 --- a/include/Zydis/InstructionInfo.h +++ b/include/Zydis/InstructionInfo.h @@ -258,6 +258,8 @@ enum ZydisOperandActions */ typedef struct ZydisOperandInfo_ { + // semantic operand type ... temporary + uint32_t temp; /** * @brief The operand-id. */ diff --git a/src/Decoder.c b/src/Decoder.c index 288819c..40fecf7 100644 --- a/src/Decoder.c +++ b/src/Decoder.c @@ -1509,6 +1509,10 @@ static ZydisStatus ZydisDecodeOperands(ZydisInstructionDecoder* decoder, info->operands[i].id = i; ZYDIS_CHECK(ZydisDecodeOperand(decoder, info, &info->operands[i], operands[i].type, operands[i].encoding)); + + // temp + info->operands[i].temp = operands[i].type; + info->operands[i].encoding = operands[i].encoding; info->operands[i].action = operands[i].action; // Adjust segment register for memory operands