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.