35 #include <Zycore/Defines.h> 51 #define ZYDIS_MAX_INSTRUCTION_SEGMENT_COUNT 9 64 ZYDIS_INSTR_SEGMENT_NONE,
143 } segments[ZYDIS_MAX_INSTRUCTION_SEGMENT_COUNT];
ZYDIS_EXPORT ZyanStatus ZydisCalcAbsoluteAddress(const ZydisDecodedInstruction *instruction, const ZydisDecodedOperand *operand, ZyanU64 runtime_address, ZyanU64 *result_address)
Calculates the absolute address value for the given instruction operand.
Maximum value of this enum.
Definition: Utils.h:113
The XOP prefix bytes.
Definition: Utils.h:76
The VEX prefix bytes.
Definition: Utils.h:80
The effective REX prefix byte.
Definition: Utils.h:72
ZyanU8 size
The size of the segment, in bytes.
Definition: Utils.h:142
ZYDIS_EXPORT ZyanStatus ZydisGetAccessedFlagsWritten(const ZydisDecodedInstruction *instruction, ZydisCPUFlags *flags)
Returns a mask of accessed CPU-flags that are written (modified, undefined) by the current instructio...
The legacy prefixes (including ignored REX prefixes).
Definition: Utils.h:68
Defines the ZydisRegisterContext struct.
Definition: Register.h:166
The minimum number of bits required to represent all values of this enum.
Definition: Utils.h:117
struct ZydisInstructionSegments_ ZydisInstructionSegments
Defines the ZydisInstructionSegments struct.
ZYDIS_EXPORT ZyanStatus ZydisGetAccessedFlagsRead(const ZydisDecodedInstruction *instruction, ZydisCPUFlags *flags)
Returns a mask of accessed CPU-flags that are read (tested) by the current instruction.
ZYDIS_EXPORT ZyanStatus ZydisCalcAbsoluteAddressEx(const ZydisDecodedInstruction *instruction, const ZydisDecodedOperand *operand, ZyanU64 runtime_address, const ZydisRegisterContext *register_context, ZyanU64 *result_address)
Calculates the absolute address value for the given instruction operand.
Defines the basic ZydisDecodedInstruction and ZydisDecodedOperand structs.
The EVEX prefix bytes.
Definition: Utils.h:84
ZYDIS_EXPORT ZyanStatus ZydisGetAccessedFlagsByAction(const ZydisDecodedInstruction *instruction, ZydisCPUFlagAction action, ZydisCPUFlags *flags)
Returns a mask of accessed CPU-flags matching the given action.
ZYDIS_EXPORT ZyanStatus ZydisGetInstructionSegments(const ZydisDecodedInstruction *instruction, ZydisInstructionSegments *segments)
Returns offsets and sizes of all logical instruction segments (e.g. OPCODE, MODRM, ...).
ZyanU8 count
The number of logical instruction segments.
Definition: Utils.h:128
The MVEX prefix bytes.
Definition: Utils.h:88
ZydisInstructionSegment type
The type of the segment.
Definition: Utils.h:134
Defines the ZydisDecodedOperand struct.
Definition: DecoderTypes.h:91
The immediate bytes.
Definition: Utils.h:108
enum ZydisCPUFlagAction_ ZydisCPUFlagAction
Defines the ZydisCPUFlagAction enum.
ZyanU32 ZydisCPUFlags
Defines the ZydisCPUFlags data-type.
Definition: DecoderTypes.h:435
Defines the ZydisDecodedInstruction struct.
Definition: DecoderTypes.h:891
Status code definitions and check macros.
ZyanU8 offset
The offset of the segment relative to the start of the instruction (in bytes).
Definition: Utils.h:138
The displacement bytes.
Definition: Utils.h:104
The opcode bytes.
Definition: Utils.h:92
The ModRM byte.
Definition: Utils.h:96
Defines the ZydisInstructionSegments struct.
Definition: Utils.h:123
ZydisInstructionSegment_
Defines the ZydisInstructionSegment struct.
Definition: Utils.h:62
The SIB byte.
Definition: Utils.h:100
enum ZydisInstructionSegment_ ZydisInstructionSegment
Defines the ZydisInstructionSegment struct.