Skip to main content

Crate zydis_sys

Crate zydis_sys 

Source
Expand description

low level rust bindings for the zydis library for encoding/decoding and messing with x86 instructions. for higher level bindings, check out the rydis crate.

Re-exports§

pub use self::ZydisInstructionCategory_ as ZydisInstructionCategory;
pub use self::ZydisISASet_ as ZydisISASet;
pub use self::ZydisISAExt_ as ZydisISAExt;
pub use self::ZydisMnemonic_ as ZydisMnemonic;
pub use self::ZydisMachineMode_ as ZydisMachineMode;
pub use self::ZydisStackWidth_ as ZydisStackWidth;
pub use self::ZydisElementType_ as ZydisElementType;
pub use self::ZydisOperandType_ as ZydisOperandType;
pub use self::ZydisOperandEncoding_ as ZydisOperandEncoding;
pub use self::ZydisOperandVisibility_ as ZydisOperandVisibility;
pub use self::ZydisOperandAction_ as ZydisOperandAction;
pub use self::ZydisInstructionEncoding_ as ZydisInstructionEncoding;
pub use self::ZydisOpcodeMap_ as ZydisOpcodeMap;
pub use self::ZydisRegister_ as ZydisRegister;
pub use self::ZydisRegisterKind_ as ZydisRegisterKind;
pub use self::ZydisRegisterClass_ as ZydisRegisterClass;
pub use self::ZydisMemoryOperandType_ as ZydisMemoryOperandType;
pub use self::ZydisBranchType_ as ZydisBranchType;
pub use self::ZydisExceptionClass_ as ZydisExceptionClass;
pub use self::ZydisMaskMode_ as ZydisMaskMode;
pub use self::ZydisBroadcastMode_ as ZydisBroadcastMode;
pub use self::ZydisRoundingMode_ as ZydisRoundingMode;
pub use self::ZydisSwizzleMode_ as ZydisSwizzleMode;
pub use self::ZydisConversionMode_ as ZydisConversionMode;
pub use self::ZydisPrefixType_ as ZydisPrefixType;
pub use self::ZydisDecoderMode_ as ZydisDecoderMode;
pub use self::ZydisEncodableEncoding_ as ZydisEncodableEncoding;
pub use self::ZydisBranchWidth_ as ZydisBranchWidth;
pub use self::ZydisAddressSizeHint_ as ZydisAddressSizeHint;
pub use self::ZydisOperandSizeHint_ as ZydisOperandSizeHint;
pub use self::ZydisFormatterStyle_ as ZydisFormatterStyle;
pub use self::ZydisFormatterProperty_ as ZydisFormatterProperty;
pub use self::ZydisNumericBase_ as ZydisNumericBase;
pub use self::ZydisSignedness_ as ZydisSignedness;
pub use self::ZydisPadding_ as ZydisPadding;
pub use self::ZydisFormatterFunction_ as ZydisFormatterFunction;
pub use self::ZydisDecorator_ as ZydisDecorator;
pub use self::ZydisInstructionSegment_ as ZydisInstructionSegment;
pub use self::ZydisFeature_ as ZydisFeature;

Structs§

ZyanAllocator_
Defines the ZyanAllocator struct.
ZyanStringView_
Defines the ZyanStringView struct.
ZyanString_
Defines the ZyanString struct.
ZyanVector_
Defines the ZyanVector struct.
ZydisAccessedFlags_
@}
ZydisAddressSizeHint_
Defines possible values for address size hints. See ZydisEncoderRequest for more information about address size hints.
ZydisBranchType_
Defines the ZydisBranchType enum.
ZydisBranchWidth_
Defines encodable physical/effective sizes of relative immediate operands. See ZydisEncoderRequest.branch_width for more details.
ZydisBroadcastMode_
Defines the ZydisBroadcastMode enum.
ZydisConversionMode_
Defines the ZydisConversionMode enum.
ZydisDecodedInstructionAvx_
Extended info for AVX instructions.
ZydisDecodedInstructionAvx__ZydisDecodedInstructionAvxBroadcast_
Contains info about the AVX broadcast.
ZydisDecodedInstructionAvx__ZydisDecodedInstructionAvxConversion_
Contains info about the AVX data-conversion (KNC only).
ZydisDecodedInstructionAvx__ZydisDecodedInstructionAvxMask_
Info about the embedded writemask-register (AVX-512 and KNC only).
ZydisDecodedInstructionAvx__ZydisDecodedInstructionAvxRounding_
Contains info about the AVX rounding.
ZydisDecodedInstructionAvx__ZydisDecodedInstructionAvxSwizzle_
Contains info about the AVX register-swizzle (KNC only).
ZydisDecodedInstructionMeta_
Instruction meta info.
ZydisDecodedInstructionRawEvex
Detailed info about the EVEX prefix.
ZydisDecodedInstructionRawMvex_
Detailed info about the MVEX prefix.
ZydisDecodedInstructionRawRex_
Detailed info about the REX prefix.
ZydisDecodedInstructionRawVex_
Detailed info about the VEX prefix.
ZydisDecodedInstructionRawXop_
Detailed info about the XOP prefix.
ZydisDecodedInstructionRaw_
Detailed info about different instruction-parts like ModRM, SIB or encoding-prefixes.
ZydisDecodedInstructionRaw__ZydisDecodedInstructionModRm_
Detailed info about the ModRM byte.
ZydisDecodedInstructionRaw__ZydisDecodedInstructionRawDisp_
Detailed info about displacement-bytes.
ZydisDecodedInstructionRaw__ZydisDecodedInstructionRawImm_
Detailed info about immediate-bytes.
ZydisDecodedInstructionRaw__ZydisDecodedInstructionRawPrefixes_
Detailed info about the legacy prefixes (including REX).
ZydisDecodedInstructionRaw__ZydisDecodedInstructionRawSib_
Detailed info about the SIB byte.
ZydisDecodedInstruction_
Information about a decoded instruction.
ZydisDecodedOperandImm_
Extended info for immediate-operands.
ZydisDecodedOperandMem_
Extended info for memory-operands.
ZydisDecodedOperandMem__ZydisDecodedOperandMemDisp_
Extended info for memory-operands with displacement.
ZydisDecodedOperandPtr_
Extended info for pointer-operands.
ZydisDecodedOperandReg_
Extended info for register-operands.
ZydisDecodedOperand_
Defines the ZydisDecodedOperand struct.
ZydisDecoderContext_
The decoder context is used to preserve some internal state between subsequent decode operations for THE SAME instruction.
ZydisDecoderContext___bindgen_ty_1
Contains some cached REX/XOP/VEX/EVEX/MVEX values to provide uniform access.
ZydisDecoderContext___bindgen_ty_2
Information about encoded operand registers.
ZydisDecoderContext___bindgen_ty_3
Internal EVEX-specific information.
ZydisDecoderContext___bindgen_ty_4
Internal MVEX-specific information.
ZydisDecoderMode_
Defines the ZydisDecoderMode enum.
ZydisDecoder_
Defines the ZydisDecoder struct.
ZydisDecorator_
Enum of all decorator types.
ZydisDisassembledInstruction_
All commonly used information about a decoded instruction that Zydis can provide.
ZydisElementType_
Defines the ZydisElementType enum.
ZydisEncodableEncoding_
Defines possible physical instruction encodings as bit flags, so multiple acceptable encodings can be specified simultaneously.
ZydisEncoderOperand_
Describes explicit or implicit instruction operand.
ZydisEncoderOperand__ZydisEncoderOperandMem_
Extended info for memory-operands.
ZydisEncoderOperand__ZydisEncoderOperandPtr_
Extended info for pointer-operands.
ZydisEncoderOperand__ZydisEncoderOperandReg_
Extended info for register-operands.
ZydisEncoderRequest_
Main structure consumed by the encoder. It represents full semantics of an instruction.
ZydisEncoderRequest__ZydisEncoderRequestEvexFeatures_
Extended info for EVEX instructions.
ZydisEncoderRequest__ZydisEncoderRequestMvexFeatures_
Extended info for MVEX instructions.
ZydisExceptionClass_
Defines the ZydisExceptionClass enum.
ZydisFeature_
Defines the ZydisFeature enum.
ZydisFormatterBuffer_
Defines the ZydisFormatterBuffer struct.
ZydisFormatterContext_
Context structure that that is passed to all formatter.
ZydisFormatterFunction_
Enum selecting a formatter function to be replaced with hooks.
ZydisFormatterProperty_
Enum selecting a property of the formatter.
ZydisFormatterStyle_
Enum selecting the syntax to format the disassembly in.
ZydisFormatterToken_
Defines the ZydisFormatterToken struct.
ZydisFormatter_
Context structure keeping track of internal state of the formatter.
ZydisFormatter___bindgen_ty_1
The number formats for all numeric bases.
ZydisISAExt_
Defines the ZydisISAExt enum.
ZydisISASet_
Defines the ZydisISASet enum.
ZydisInstructionCategory_
Defines the ZydisInstructionCategory enum.
ZydisInstructionEncoding_
Defines the ZydisInstructionEncoding enum.
ZydisInstructionSegment_
Defines the ZydisInstructionSegment struct.
ZydisInstructionSegments_
Defines the ZydisInstructionSegments struct.
ZydisInstructionSegments___bindgen_ty_1
ZydisMachineMode_
Defines the ZydisMachineMode enum.
ZydisMaskMode_
Defines the ZydisMaskMode enum.
ZydisMemoryOperandType_
Defines the ZydisMemoryOperandType enum.
ZydisMnemonic_
Defines the ZydisMnemonic enum.
ZydisNumericBase_
Enum defining different mantissae to be used during formatting.
ZydisOpcodeMap_
Defines the ZydisOpcodeMap enum.
ZydisOperandAction_
Defines the ZydisOperandAction enum.
ZydisOperandEncoding_
Defines the ZydisOperandEncoding enum.
ZydisOperandSizeHint_
Defines possible values for operand size hints. See ZydisEncoderRequest for more information about operand size hints.
ZydisOperandType_
Defines the ZydisOperandType enum.
ZydisOperandVisibility_
Defines the ZydisOperandVisibility enum.
ZydisPadding_
Enum definining magic values that receive special treatment when used as padding properties of the formatter.
ZydisPrefixType_
Defines the ZydisPrefixType enum.
ZydisRegisterClass_
Defines the ZydisRegisterClass enum.
ZydisRegisterContext_
Defines the ZydisRegisterContext struct.
ZydisRegisterKind_
Defines the ZydisRegisterKind enum.
ZydisRegister_
Defines the ZydisRegister enum.
ZydisRoundingMode_
Defines the ZydisRoundingMode enum.
ZydisShortString_
Defines the ZydisShortString struct.
ZydisSignedness_
Enum defining the signeness of integers to be used during formatting.
ZydisStackWidth_
Defines the ZydisStackWidth enum.
ZydisSwizzleMode_
Defines the ZydisSwizzleMode enum.

Constants§

ZYAN_FALSE
ZYAN_MODULE_ARGPARSE
ZYAN_MODULE_USER
ZYAN_MODULE_ZYCORE
ZYAN_MODULE_ZYDIS
ZYAN_STRING_DEFAULT_GROWTH_FACTOR
ZYAN_STRING_DEFAULT_SHRINK_THRESHOLD
ZYAN_STRING_HAS_FIXED_CAPACITY
ZYAN_STRING_MIN_CAPACITY
ZYAN_TERNARY_FALSE
ZYAN_TERNARY_TRUE
ZYAN_TERNARY_UNKNOWN
ZYAN_TRUE
ZYAN_VECTOR_DEFAULT_GROWTH_FACTOR
ZYAN_VECTOR_DEFAULT_SHRINK_THRESHOLD
ZYAN_VECTOR_MIN_CAPACITY
ZYDIS_ATTRIB_ACCEPTS_BND
ZYDIS_ATTRIB_ACCEPTS_BRANCH_HINTS
ZYDIS_ATTRIB_ACCEPTS_HLE_WITHOUT_LOCK
ZYDIS_ATTRIB_ACCEPTS_LOCK
ZYDIS_ATTRIB_ACCEPTS_NOTRACK
ZYDIS_ATTRIB_ACCEPTS_REP
ZYDIS_ATTRIB_ACCEPTS_REPE
ZYDIS_ATTRIB_ACCEPTS_REPNE
ZYDIS_ATTRIB_ACCEPTS_REPNZ
ZYDIS_ATTRIB_ACCEPTS_REPZ
ZYDIS_ATTRIB_ACCEPTS_SEGMENT
ZYDIS_ATTRIB_ACCEPTS_XACQUIRE
ZYDIS_ATTRIB_ACCEPTS_XRELEASE
ZYDIS_ATTRIB_CPUFLAG_ACCESS
ZYDIS_ATTRIB_CPU_STATE_CR
ZYDIS_ATTRIB_CPU_STATE_CW
ZYDIS_ATTRIB_FPU_STATE_CR
ZYDIS_ATTRIB_FPU_STATE_CW
ZYDIS_ATTRIB_HAS_ADDRESSSIZE
ZYDIS_ATTRIB_HAS_BND
ZYDIS_ATTRIB_HAS_BRANCH_NOT_TAKEN
ZYDIS_ATTRIB_HAS_BRANCH_TAKEN
ZYDIS_ATTRIB_HAS_EVEX
ZYDIS_ATTRIB_HAS_EVEX_B
ZYDIS_ATTRIB_HAS_LOCK
ZYDIS_ATTRIB_HAS_MODRM
ZYDIS_ATTRIB_HAS_MVEX
ZYDIS_ATTRIB_HAS_NOTRACK
ZYDIS_ATTRIB_HAS_OPERANDSIZE
ZYDIS_ATTRIB_HAS_REP
ZYDIS_ATTRIB_HAS_REPE
ZYDIS_ATTRIB_HAS_REPNE
ZYDIS_ATTRIB_HAS_REPNZ
ZYDIS_ATTRIB_HAS_REPZ
ZYDIS_ATTRIB_HAS_REX
ZYDIS_ATTRIB_HAS_SEGMENT
ZYDIS_ATTRIB_HAS_SEGMENT_CS
ZYDIS_ATTRIB_HAS_SEGMENT_DS
ZYDIS_ATTRIB_HAS_SEGMENT_ES
ZYDIS_ATTRIB_HAS_SEGMENT_FS
ZYDIS_ATTRIB_HAS_SEGMENT_GS
ZYDIS_ATTRIB_HAS_SEGMENT_SS
ZYDIS_ATTRIB_HAS_SIB
ZYDIS_ATTRIB_HAS_VEX
ZYDIS_ATTRIB_HAS_XACQUIRE
ZYDIS_ATTRIB_HAS_XOP
ZYDIS_ATTRIB_HAS_XRELEASE
ZYDIS_ATTRIB_IS_PRIVILEGED
ZYDIS_ATTRIB_IS_RELATIVE
ZYDIS_ATTRIB_XMM_STATE_CR
ZYDIS_ATTRIB_XMM_STATE_CW
ZYDIS_CPUFLAG_AC
ZYDIS_CPUFLAG_AF
ZYDIS_CPUFLAG_CF
ZYDIS_CPUFLAG_DF
ZYDIS_CPUFLAG_ID
ZYDIS_CPUFLAG_IF
ZYDIS_CPUFLAG_IOPL
ZYDIS_CPUFLAG_NT
ZYDIS_CPUFLAG_OF
ZYDIS_CPUFLAG_PF
ZYDIS_CPUFLAG_RF
ZYDIS_CPUFLAG_SF
ZYDIS_CPUFLAG_TF
ZYDIS_CPUFLAG_VIF
ZYDIS_CPUFLAG_VIP
ZYDIS_CPUFLAG_VM
ZYDIS_CPUFLAG_ZF
ZYDIS_ENCODABLE_PREFIXES
ZYDIS_ENCODER_MAX_OPERANDS
ZYDIS_FPUFLAG_C0
ZYDIS_FPUFLAG_C1
ZYDIS_FPUFLAG_C2
ZYDIS_FPUFLAG_C3
ZYDIS_MAX_INSTRUCTION_LENGTH
ZYDIS_MAX_INSTRUCTION_SEGMENT_COUNT
ZYDIS_MAX_OPERAND_COUNT
ZYDIS_MAX_OPERAND_COUNT_VISIBLE
ZYDIS_OATTRIB_IS_MULTISOURCE4
ZYDIS_TOKEN_ADDRESS_ABS
ZYDIS_TOKEN_ADDRESS_REL
ZYDIS_TOKEN_DECORATOR
ZYDIS_TOKEN_DELIMITER
ZYDIS_TOKEN_DISPLACEMENT
ZYDIS_TOKEN_IMMEDIATE
ZYDIS_TOKEN_INVALID
ZYDIS_TOKEN_MNEMONIC
ZYDIS_TOKEN_PARENTHESIS_CLOSE
ZYDIS_TOKEN_PARENTHESIS_OPEN
ZYDIS_TOKEN_PREFIX
ZYDIS_TOKEN_REGISTER
ZYDIS_TOKEN_SYMBOL
ZYDIS_TOKEN_TYPECAST
ZYDIS_TOKEN_USER
ZYDIS_TOKEN_WHITESPACE

Functions§

ZyanAllocatorInit⚠
Initializes the given ZyanAllocator instance.
ZyanStringAppend⚠
Appends the content of the source string to the end of the destination string.
ZyanStringAppendEx⚠
Appends count characters of the source string to the end of the destination string.
ZyanStringClear⚠
Erases the given string.
ZyanStringCompare⚠
Compares two strings.
ZyanStringCompareI⚠
Performs a case-insensitive comparison of two strings.
ZyanStringConcatCustomBuffer⚠
Initializes a new ZyanString instance by concatenating two existing strings and configures it to use a custom user defined buffer with a fixed size.
ZyanStringConcatEx⚠
Initializes a new ZyanString instance by concatenating two existing strings and sets a custom allocator and memory allocation/deallocation parameters.
ZyanStringDelete⚠
Deletes characters from the given string, starting at index.
ZyanStringDestroy⚠
Destroys the given ZyanString instance.
ZyanStringDuplicateCustomBuffer⚠
Initializes a new ZyanString instance by duplicating an existing string and configures it to use a custom user defined buffer with a fixed size.
ZyanStringDuplicateEx⚠
Initializes a new ZyanString instance by duplicating an existing string and sets a custom allocator and memory allocation/deallocation parameters.
ZyanStringGetCapacity⚠
Returns the current capacity of the string.
ZyanStringGetChar⚠
Returns the character at the given index.
ZyanStringGetCharMutable⚠
Returns a pointer to the character at the given index.
ZyanStringGetData⚠
Returns the C-style string of the given ZyanString instance.
ZyanStringGetSize⚠
Returns the current size (number of characters) of the string (excluding the terminating zero character).
ZyanStringInitCustomBuffer⚠
Initializes the given ZyanString instance and configures it to use a custom user defined buffer with a fixed size.
ZyanStringInitEx⚠
Initializes the given ZyanString instance and sets a custom allocator and memory allocation/deallocation parameters.
ZyanStringInsert⚠
Inserts the content of the source string in the destination string at the given index.
ZyanStringInsertEx⚠
Inserts count characters of the source string in the destination string at the given index.
ZyanStringLPos⚠
Searches for the first occurrence of needle in the given haystack starting from the left.
ZyanStringLPosEx⚠
Searches for the first occurrence of needle in the given haystack starting from the left.
ZyanStringLPosI⚠
Performs a case-insensitive search for the first occurrence of needle in the given haystack starting from the left.
ZyanStringLPosIEx⚠
Performs a case-insensitive search for the first occurrence of needle in the given haystack starting from the left.
ZyanStringRPos⚠
Searches for the first occurrence of needle in the given haystack starting from the right.
ZyanStringRPosEx⚠
Searches for the first occurrence of needle in the given haystack starting from the right.
ZyanStringRPosI⚠
Performs a case-insensitive search for the first occurrence of needle in the given haystack starting from the right.
ZyanStringRPosIEx⚠
Performs a case-insensitive search for the first occurrence of needle in the given haystack starting from the right.
ZyanStringReserve⚠
Changes the capacity of the given ZyanString instance.
ZyanStringResize⚠
Resizes the given ZyanString instance.
ZyanStringSetChar⚠
Assigns a new value to the character at the given index.
ZyanStringShrinkToFit⚠
Shrinks the capacity of the given string to match it’s size.
ZyanStringToLowerCase⚠
Converts the given string to lowercase letters.
ZyanStringToLowerCaseEx⚠
Converts count characters of the given string to lowercase letters.
ZyanStringToUpperCase⚠
Converts the given string to uppercase letters.
ZyanStringToUpperCaseEx⚠
Converts count characters of the given string to uppercase letters.
ZyanStringTruncate⚠
Deletes all remaining characters from the given string, starting at index.
ZyanStringViewGetData⚠
Returns the C-style string of the given ZyanString instance.
ZyanStringViewGetSize⚠
Returns the size (number of characters) of the view.
ZyanStringViewInsideBuffer⚠
Returns a view inside a null-terminated C-style string.
ZyanStringViewInsideBufferEx⚠
Returns a view inside a character buffer with custom length.
ZyanStringViewInsideView⚠
Returns a view inside an existing view/string.
ZyanStringViewInsideViewEx⚠
Returns a view inside an existing view/string starting from the given index.
ZyanVectorBinarySearch⚠
Searches for the first occurrence of element in the given vector using a binary- search algorithm.
ZyanVectorBinarySearchEx⚠
Searches for the first occurrence of element in the given vector using a binary- search algorithm.
ZyanVectorClear⚠
Erases all elements of the given vector.
ZyanVectorDelete⚠
Deletes the element at the given index of the vector.
ZyanVectorDeleteRange⚠
Deletes multiple elements from the given vector, starting at index.
ZyanVectorDestroy⚠
Destroys the given ZyanVector instance.
ZyanVectorDuplicateCustomBuffer⚠
Initializes a new ZyanVector instance by duplicating an existing vector and configures it to use a custom user defined buffer with a fixed size.
ZyanVectorDuplicateEx⚠
Initializes a new ZyanVector instance by duplicating an existing vector and sets a custom allocator and memory allocation/deallocation parameters.
ZyanVectorEmplace⚠
Constructs an element in-place at the end of the vector.
ZyanVectorEmplaceEx⚠
Constructs an element in-place and inserts it at the given index of the vector.
ZyanVectorFind⚠
Sequentially searches for the first occurrence of element in the given vector.
ZyanVectorFindEx⚠
Sequentially searches for the first occurrence of element in the given vector.
ZyanVectorGet⚠
Returns a constant pointer to the element at the given index.
ZyanVectorGetCapacity⚠
Returns the current capacity of the vector.
ZyanVectorGetMutable⚠
Returns a mutable pointer to the element at the given index.
ZyanVectorGetPointer⚠
Returns a constant pointer to the element at the given index.
ZyanVectorGetPointerMutable⚠
Returns a mutable pointer to the element at the given index.
ZyanVectorGetSize⚠
Returns the current size of the vector.
ZyanVectorInitCustomBuffer⚠
Initializes the given ZyanVector instance and configures it to use a custom user defined buffer with a fixed size.
ZyanVectorInitEx⚠
Initializes the given ZyanVector instance and sets a custom allocator and memory allocation/deallocation parameters.
ZyanVectorInsert⚠
Inserts an element at the given index of the vector.
ZyanVectorInsertRange⚠
Inserts multiple elements at the given index of the vector.
ZyanVectorPopBack⚠
Removes the last element of the vector.
ZyanVectorPushBack⚠
Adds a new element to the end of the vector.
ZyanVectorReserve⚠
Changes the capacity of the given ZyanVector instance.
ZyanVectorResize⚠
Resizes the given ZyanVector instance.
ZyanVectorResizeEx⚠
Resizes the given ZyanVector instance.
ZyanVectorSet⚠
Assigns a new value to the element at the given index.
ZyanVectorShrinkToFit⚠
Shrinks the capacity of the given vector to match it’s size.
ZyanVectorSwapElements⚠
Swaps the element at index_first with the element at index_second.
ZydisCalcAbsoluteAddress⚠
Calculates the absolute address value for the given instruction operand.
ZydisCalcAbsoluteAddressEx⚠
Calculates the absolute address value for the given instruction operand.
ZydisCategoryGetString⚠
Returns the specified instruction category string.
ZydisDecoderDecodeFull⚠
Decodes the instruction in the given input buffer and returns all details (e.g. operands).
ZydisDecoderDecodeInstruction⚠
Decodes the instruction in the given input buffer.
ZydisDecoderDecodeOperands⚠
Decodes the instruction operands.
ZydisDecoderEnableMode⚠
Enables or disables the specified decoder-mode.
ZydisDecoderInit⚠
Initializes the given ZydisDecoder instance.
ZydisDisassembleATT⚠
Disassemble an instruction and format it to human-readable text in a single step (AT&T syntax).
ZydisDisassembleIntel⚠
Disassemble an instruction and format it to human-readable text in a single step (Intel syntax).
ZydisEncoderDecodedInstructionToEncoderRequest⚠
Converts decoded instruction to encoder request that can be passed to ZydisEncoderEncodeInstruction.
ZydisEncoderEncodeInstruction⚠
Encodes instruction with semantics specified in encoder request structure.
ZydisEncoderEncodeInstructionAbsolute⚠
Encodes instruction with semantics specified in encoder request structure. This function expects absolute addresses inside encoder request instead of EIP/RIP-relative values. Function predicts final instruction length prior to encoding and writes back calculated relative operands to provided encoder request.
ZydisEncoderNopFill⚠
Fills provided buffer with NOP instructions using longest possible multi-byte instructions.
ZydisFormatterBufferAppend⚠
Appends a new token to the buffer.
ZydisFormatterBufferGetString⚠
Returns the ZyanString instance associated with the given buffer.
ZydisFormatterBufferGetToken⚠
Returns the current (most recently added) token.
ZydisFormatterBufferRemember⚠
Returns a snapshot of the buffer-state.
ZydisFormatterBufferRestore⚠
Restores a previously saved buffer-state.
ZydisFormatterFormatInstruction⚠
Formats the given instruction and writes it into the output buffer.
ZydisFormatterFormatOperand⚠
Formats the given operand and writes it into the output buffer.
ZydisFormatterInit⚠
Initializes the given ZydisFormatter instance.
ZydisFormatterSetHook⚠
Replaces a formatter function with a custom callback and/or retrieves the currently used function.
ZydisFormatterSetProperty⚠
Changes the value of the specified formatter property.
ZydisFormatterTokenGetValue⚠
Returns the type and the string value of the given token.
ZydisFormatterTokenNext⚠
Obtains the next token linked to the passed one.
ZydisFormatterTokenizeInstruction⚠
Tokenizes the given instruction and writes it into the output buffer.
ZydisFormatterTokenizeOperand⚠
Tokenizes the given operand and writes it into the output buffer.
ZydisGetInstructionSegments⚠
Returns offsets and sizes of all logical instruction segments (e.g. OPCODE, MODRM, …).
ZydisGetVersion⚠
Returns the zydis version.
ZydisISAExtGetString⚠
Returns the specified isa-extension string.
ZydisISASetGetString⚠
Returns the specified isa-set string.
ZydisIsFeatureEnabled⚠
Checks, if the specified feature is enabled in the current zydis library instance.
ZydisMnemonicGetString⚠
Returns the specified instruction mnemonic string.
ZydisMnemonicGetStringWrapped⚠
Returns the specified instruction mnemonic as ZydisShortString.
ZydisRegisterClassGetWidth⚠
Returns the width of the specified register-class.
ZydisRegisterEncode⚠
Returns the register specified by the register_class and id tuple.
ZydisRegisterGetClass⚠
Returns the register-class of the specified register.
ZydisRegisterGetId⚠
Returns the id of the specified register.
ZydisRegisterGetLargestEnclosing⚠
Returns the largest enclosing register of the given register.
ZydisRegisterGetString⚠
Returns the specified register string.
ZydisRegisterGetStringWrapped⚠
Returns the specified register string as ZydisShortString.
ZydisRegisterGetWidth⚠
Returns the width of the specified register.

Type Aliases§

ZyanAllocator
Defines the ZyanAllocator struct.
ZyanAllocatorAllocate
Defines the ZyanAllocatorAllocate function prototype.
ZyanAllocatorDeallocate
Defines the ZyanAllocatorDeallocate function prototype.
ZyanBool
Defines the ZyanBool data-type.
ZyanCharPointer
Defines the ZyanCharPointer data-type.
ZyanComparison
Defines the ZyanComparison function prototype.
ZyanConstCharPointer
Defines the ZyanConstCharPointer data-type.
ZyanConstMemberFunction
Defines the ZyanConstMemberFunction function prototype.
ZyanConstMemberProcedure
Defines the ZyanConstMemberProcedure function prototype.
ZyanConstVoidPointer
Defines the ZyanConstVoidPointer data-type.
ZyanEqualityComparison
Defines the ZyanEqualityComparison function prototype.
ZyanI8
ZyanI16
ZyanI32
ZyanI64
ZyanIPointer
ZyanISize
ZyanMemberFunction
Defines the ZyanMemberFunction function prototype.
ZyanMemberProcedure
Defines the ZyanMemberProcedure function prototype.
ZyanStatus
Defines the ZyanStatus data type.
ZyanString
Defines the ZyanString struct.
ZyanStringFlags
Defines the ZyanStringFlags data-type.
ZyanStringView
Defines the ZyanStringView struct.
ZyanTernary
Defines the ZyanTernary data-type.
ZyanU8
ZyanU16
ZyanU32
ZyanU64
ZyanUPointer
ZyanUSize
ZyanVector
Defines the ZyanVector struct.
ZyanVoidPointer
Defines the ZyanVoidPointer data-type.
ZydisAccessedFlags
@}
ZydisAccessedFlagsMask
Defines the ZydisAccessedFlagsMask data-type.
ZydisDecodedInstruction
Information about a decoded instruction.
ZydisDecodedInstructionAvx
Extended info for AVX instructions.
ZydisDecodedInstructionMeta
Instruction meta info.
ZydisDecodedInstructionRaw
Detailed info about different instruction-parts like ModRM, SIB or encoding-prefixes.
ZydisDecodedInstructionRawMvex
Detailed info about the MVEX prefix.
ZydisDecodedInstructionRawRex
Detailed info about the REX prefix.
ZydisDecodedInstructionRawVex
Detailed info about the VEX prefix.
ZydisDecodedInstructionRawXop
Detailed info about the XOP prefix.
ZydisDecodedOperand
Defines the ZydisDecodedOperand struct.
ZydisDecodedOperandImm
Extended info for immediate-operands.
ZydisDecodedOperandMem
Extended info for memory-operands.
ZydisDecodedOperandPtr
Extended info for pointer-operands.
ZydisDecodedOperandReg
Extended info for register-operands.
ZydisDecoder
Defines the ZydisDecoder struct.
ZydisDecoderContext
The decoder context is used to preserve some internal state between subsequent decode operations for THE SAME instruction.
ZydisDisassembledInstruction
All commonly used information about a decoded instruction that Zydis can provide.
ZydisElementSize
Defines the ZydisElementSize datatype.
ZydisEncoderOperand
Describes explicit or implicit instruction operand.
ZydisEncoderRequest
Main structure consumed by the encoder. It represents full semantics of an instruction.
ZydisFormatter
Context structure keeping track of internal state of the formatter.
ZydisFormatterBuffer
Defines the ZydisFormatterBuffer struct.
ZydisFormatterContext
Context structure that that is passed to all formatter.
ZydisFormatterDecoratorFunc
Defines the ZydisFormatterDecoratorFunc function prototype.
ZydisFormatterFunc
Defines the ZydisFormatterFunc function prototype.
ZydisFormatterRegisterFunc
Defines the ZydisFormatterRegisterFunc function prototype.
ZydisFormatterToken
Defines the ZydisFormatterToken struct.
ZydisFormatterTokenConst
Defines the ZydisFormatterTokenConst data-type.
ZydisInstructionAttributes
Defines the ZydisInstructionAttributes data-type.
ZydisInstructionSegments
Defines the ZydisInstructionSegments struct.
ZydisOperandActions
Defines the ZydisOperandActions data-type.
ZydisOperandAttributes
Defines the ZydisOperandAttributes data-type.
ZydisRegisterContext
Defines the ZydisRegisterContext struct.
ZydisRegisterWidth
Defines the ZydisRegisterWidth data-type.
ZydisShortString
Defines the ZydisShortString struct.
ZydisTokenType
Defines the ZydisTokenType data-type.

Unions§

ZydisDecodedInstructionRaw__ZydisDecodedInstructionRawImm__ZydisDecodedInstructionRawImmValue_
The immediate value.
ZydisDecodedInstructionRaw___bindgen_ty_1
ZydisDecodedOperandImm__ZydisDecodedOperandImmValue_
The immediate value.
ZydisDecodedOperand___bindgen_ty_1
ZydisEncoderOperand__ZydisEncoderOperandImm_
Extended info for immediate-operands.