|
Zydis
v3.0.0
|
Functions allowing formatting of previously decoded instructions to human readable text. More...
Functions | |
| ZYDIS_EXPORT ZyanStatus | ZydisFormatterInit (ZydisFormatter *formatter, ZydisFormatterStyle style) |
Initializes the given ZydisFormatter instance. More... | |
| ZYDIS_EXPORT ZyanStatus | ZydisFormatterSetProperty (ZydisFormatter *formatter, ZydisFormatterProperty property, ZyanUPointer value) |
Changes the value of the specified formatter property. More... | |
| ZYDIS_EXPORT ZyanStatus | ZydisFormatterSetHook (ZydisFormatter *formatter, ZydisFormatterFunction type, const void **callback) |
| Replaces a formatter function with a custom callback and/or retrieves the currently used function. More... | |
| ZYDIS_EXPORT ZyanStatus | ZydisFormatterFormatInstruction (const ZydisFormatter *formatter, const ZydisDecodedInstruction *instruction, char *buffer, ZyanUSize length, ZyanU64 runtime_address) |
| Formats the given instruction and writes it into the output buffer. More... | |
| ZYDIS_EXPORT ZyanStatus | ZydisFormatterFormatInstructionEx (const ZydisFormatter *formatter, const ZydisDecodedInstruction *instruction, char *buffer, ZyanUSize length, ZyanU64 runtime_address, void *user_data) |
| Formats the given instruction and writes it into the output buffer. More... | |
| ZYDIS_EXPORT ZyanStatus | ZydisFormatterFormatOperand (const ZydisFormatter *formatter, const ZydisDecodedInstruction *instruction, ZyanU8 index, char *buffer, ZyanUSize length, ZyanU64 runtime_address) |
| Formats the given operand and writes it into the output buffer. More... | |
| ZYDIS_EXPORT ZyanStatus | ZydisFormatterFormatOperandEx (const ZydisFormatter *formatter, const ZydisDecodedInstruction *instruction, ZyanU8 index, char *buffer, ZyanUSize length, ZyanU64 runtime_address, void *user_data) |
| Formats the given operand and writes it into the output buffer. More... | |
| ZYDIS_EXPORT ZyanStatus | ZydisFormatterTokenizeInstruction (const ZydisFormatter *formatter, const ZydisDecodedInstruction *instruction, void *buffer, ZyanUSize length, ZyanU64 runtime_address, ZydisFormatterTokenConst **token) |
| Tokenizes the given instruction and writes it into the output buffer. More... | |
| ZYDIS_EXPORT ZyanStatus | ZydisFormatterTokenizeInstructionEx (const ZydisFormatter *formatter, const ZydisDecodedInstruction *instruction, void *buffer, ZyanUSize length, ZyanU64 runtime_address, ZydisFormatterTokenConst **token, void *user_data) |
| Tokenizes the given instruction and writes it into the output buffer. More... | |
| ZYDIS_EXPORT ZyanStatus | ZydisFormatterTokenizeOperand (const ZydisFormatter *formatter, const ZydisDecodedInstruction *instruction, ZyanU8 index, void *buffer, ZyanUSize length, ZyanU64 runtime_address, ZydisFormatterTokenConst **token) |
| Tokenizes the given operand and writes it into the output buffer. More... | |
| ZYDIS_EXPORT ZyanStatus | ZydisFormatterTokenizeOperandEx (const ZydisFormatter *formatter, const ZydisDecodedInstruction *instruction, ZyanU8 index, void *buffer, ZyanUSize length, ZyanU64 runtime_address, ZydisFormatterTokenConst **token, void *user_data) |
| Tokenizes the given operand and writes it into the output buffer. More... | |
Functions allowing formatting of previously decoded instructions to human readable text.
| ZYDIS_EXPORT ZyanStatus ZydisFormatterFormatInstruction | ( | const ZydisFormatter * | formatter, |
| const ZydisDecodedInstruction * | instruction, | ||
| char * | buffer, | ||
| ZyanUSize | length, | ||
| ZyanU64 | runtime_address | ||
| ) |
Formats the given instruction and writes it into the output buffer.
| formatter | A pointer to the ZydisFormatter instance. |
| instruction | A pointer to the ZydisDecodedInstruction struct. |
| buffer | A pointer to the output buffer. |
| length | The length of the output buffer (in characters). |
| runtime_address | The runtime address of the instruction or ZYDIS_RUNTIME_ADDRESS_NONE to print relative addresses. |
| ZYDIS_EXPORT ZyanStatus ZydisFormatterFormatInstructionEx | ( | const ZydisFormatter * | formatter, |
| const ZydisDecodedInstruction * | instruction, | ||
| char * | buffer, | ||
| ZyanUSize | length, | ||
| ZyanU64 | runtime_address, | ||
| void * | user_data | ||
| ) |
Formats the given instruction and writes it into the output buffer.
| formatter | A pointer to the ZydisFormatter instance. |
| instruction | A pointer to the ZydisDecodedInstruction struct. |
| buffer | A pointer to the output buffer. |
| length | The length of the output buffer (in characters). |
| runtime_address | The runtime address of the instruction or ZYDIS_RUNTIME_ADDRESS_NONE to print relative addresses. |
| user_data | A pointer to user-defined data which can be used in custom formatter callbacks. |
| ZYDIS_EXPORT ZyanStatus ZydisFormatterFormatOperand | ( | const ZydisFormatter * | formatter, |
| const ZydisDecodedInstruction * | instruction, | ||
| ZyanU8 | index, | ||
| char * | buffer, | ||
| ZyanUSize | length, | ||
| ZyanU64 | runtime_address | ||
| ) |
Formats the given operand and writes it into the output buffer.
| formatter | A pointer to the ZydisFormatter instance. |
| instruction | A pointer to the ZydisDecodedInstruction struct. |
| index | The index of the operand to format. |
| buffer | A pointer to the output buffer. |
| length | The length of the output buffer (in characters). |
| runtime_address | The runtime address of the instruction or ZYDIS_RUNTIME_ADDRESS_NONE to print relative addresses. |
Use ZydisFormatterFormatInstruction or ZydisFormatterFormatInstructionEx to format a complete instruction.
| ZYDIS_EXPORT ZyanStatus ZydisFormatterFormatOperandEx | ( | const ZydisFormatter * | formatter, |
| const ZydisDecodedInstruction * | instruction, | ||
| ZyanU8 | index, | ||
| char * | buffer, | ||
| ZyanUSize | length, | ||
| ZyanU64 | runtime_address, | ||
| void * | user_data | ||
| ) |
Formats the given operand and writes it into the output buffer.
| formatter | A pointer to the ZydisFormatter instance. |
| instruction | A pointer to the ZydisDecodedInstruction struct. |
| index | The index of the operand to format. |
| buffer | A pointer to the output buffer. |
| length | The length of the output buffer (in characters). |
| runtime_address | The runtime address of the instruction or ZYDIS_RUNTIME_ADDRESS_NONE to print relative addresses. |
| user_data | A pointer to user-defined data which can be used in custom formatter callbacks. |
Use ZydisFormatterFormatInstruction or ZydisFormatterFormatInstructionEx to format a complete instruction.
| ZYDIS_EXPORT ZyanStatus ZydisFormatterInit | ( | ZydisFormatter * | formatter, |
| ZydisFormatterStyle | style | ||
| ) |
Initializes the given ZydisFormatter instance.
| formatter | A pointer to the ZydisFormatter instance. |
| style | The base formatter style (either AT&T or Intel style). |
| ZYDIS_EXPORT ZyanStatus ZydisFormatterSetHook | ( | ZydisFormatter * | formatter, |
| ZydisFormatterFunction | type, | ||
| const void ** | callback | ||
| ) |
Replaces a formatter function with a custom callback and/or retrieves the currently used function.
| formatter | A pointer to the ZydisFormatter instance. |
| type | The formatter function-type. |
| callback | A pointer to a variable that contains the pointer of the callback function and receives the pointer of the currently used function. |
Call this function with callback pointing to a ZYAN_NULL value to retrieve the currently used function without replacing it.
This function returns ZYAN_STATUS_INVALID_OPERATION if a function can't be replaced for the current formatter-style.
| ZYDIS_EXPORT ZyanStatus ZydisFormatterSetProperty | ( | ZydisFormatter * | formatter, |
| ZydisFormatterProperty | property, | ||
| ZyanUPointer | value | ||
| ) |
Changes the value of the specified formatter property.
| formatter | A pointer to the ZydisFormatter instance. |
| property | The id of the formatter-property. |
| value | The new value. |
This function returns ZYAN_STATUS_INVALID_OPERATION if a property can't be changed for the current formatter-style.
| ZYDIS_EXPORT ZyanStatus ZydisFormatterTokenizeInstruction | ( | const ZydisFormatter * | formatter, |
| const ZydisDecodedInstruction * | instruction, | ||
| void * | buffer, | ||
| ZyanUSize | length, | ||
| ZyanU64 | runtime_address, | ||
| ZydisFormatterTokenConst ** | token | ||
| ) |
Tokenizes the given instruction and writes it into the output buffer.
| formatter | A pointer to the ZydisFormatter instance. |
| instruction | A pointer to the ZydisDecodedInstruction struct. |
| buffer | A pointer to the output buffer. |
| length | The length of the output buffer (in bytes). |
| runtime_address | The runtime address of the instruction or ZYDIS_RUNTIME_ADDRESS_NONE to print relative addresses. |
| token | Receives a pointer to the first token in the output buffer. |
| ZYDIS_EXPORT ZyanStatus ZydisFormatterTokenizeInstructionEx | ( | const ZydisFormatter * | formatter, |
| const ZydisDecodedInstruction * | instruction, | ||
| void * | buffer, | ||
| ZyanUSize | length, | ||
| ZyanU64 | runtime_address, | ||
| ZydisFormatterTokenConst ** | token, | ||
| void * | user_data | ||
| ) |
Tokenizes the given instruction and writes it into the output buffer.
| formatter | A pointer to the ZydisFormatter instance. |
| instruction | A pointer to the ZydisDecodedInstruction struct. |
| buffer | A pointer to the output buffer. |
| length | The length of the output buffer (in bytes). |
| runtime_address | The runtime address of the instruction or ZYDIS_RUNTIME_ADDRESS_NONE to print relative addresses. |
| token | Receives a pointer to the first token in the output buffer. |
| user_data | A pointer to user-defined data which can be used in custom formatter callbacks. |
| ZYDIS_EXPORT ZyanStatus ZydisFormatterTokenizeOperand | ( | const ZydisFormatter * | formatter, |
| const ZydisDecodedInstruction * | instruction, | ||
| ZyanU8 | index, | ||
| void * | buffer, | ||
| ZyanUSize | length, | ||
| ZyanU64 | runtime_address, | ||
| ZydisFormatterTokenConst ** | token | ||
| ) |
Tokenizes the given operand and writes it into the output buffer.
| formatter | A pointer to the ZydisFormatter instance. |
| instruction | A pointer to the ZydisDecodedInstruction struct. |
| index | The index of the operand to format. |
| buffer | A pointer to the output buffer. |
| length | The length of the output buffer (in bytes). |
| runtime_address | The runtime address of the instruction or ZYDIS_RUNTIME_ADDRESS_NONE to print relative addresses. |
| token | Receives a pointer to the first token in the output buffer. |
Use ZydisFormatterTokenizeInstruction or ZydisFormatterTokenizeInstructionEx to tokenize a complete instruction.
| ZYDIS_EXPORT ZyanStatus ZydisFormatterTokenizeOperandEx | ( | const ZydisFormatter * | formatter, |
| const ZydisDecodedInstruction * | instruction, | ||
| ZyanU8 | index, | ||
| void * | buffer, | ||
| ZyanUSize | length, | ||
| ZyanU64 | runtime_address, | ||
| ZydisFormatterTokenConst ** | token, | ||
| void * | user_data | ||
| ) |
Tokenizes the given operand and writes it into the output buffer.
| formatter | A pointer to the ZydisFormatter instance. |
| instruction | A pointer to the ZydisDecodedInstruction struct. |
| index | The index of the operand to format. |
| buffer | A pointer to the output buffer. |
| length | The length of the output buffer (in bytes). |
| runtime_address | The runtime address of the instruction or ZYDIS_RUNTIME_ADDRESS_NONE to print relative addresses. |
| token | Receives a pointer to the first token in the output buffer. |
| user_data | A pointer to user-defined data which can be used in custom formatter callbacks. |
Use ZydisFormatterTokenizeInstruction or ZydisFormatterTokenizeInstructionEx to tokenize a complete instruction.