mirror of https://github.com/x64dbg/zydis
Refactorings
This commit is contained in:
parent
bbf8b1193b
commit
b9cf56af4d
|
@ -46,7 +46,7 @@ extern "C" {
|
|||
typedef uint32_t ZydisDecodeGranularity;
|
||||
|
||||
/**
|
||||
* @brief Decoders modes defining how granular the instruction should be decoded.
|
||||
* @brief Decoder modes defining how granular the instruction should be decoded.
|
||||
*/
|
||||
enum ZydisDecodeGranularities
|
||||
{
|
||||
|
@ -56,16 +56,16 @@ enum ZydisDecodeGranularities
|
|||
*
|
||||
* This mode should be sufficient, if you plan to analyse code for pure relocation purposes,
|
||||
* as it gives you access to the mnemonic, the instruction-length, displacements, immediates
|
||||
* and even the `ZYDIS_ATTRIB_IS_RELATIVE`.
|
||||
* and the `ZYDIS_ATTRIB_IS_RELATIVE` attribute.
|
||||
*
|
||||
* Operands, most attributes and other specific information (like AVX info) are not
|
||||
* accessible in this mode.
|
||||
*/
|
||||
ZYDIS_DECODE_GRANULARITY_PHYSICAL,
|
||||
ZYDIS_DECODE_GRANULARITY_MINIMAL,
|
||||
/**
|
||||
* @brief Full physical and semantical instruction-decoding.
|
||||
*/
|
||||
ZYDIS_DECODE_GRANULARITY_SEMANTIC
|
||||
ZYDIS_DECODE_GRANULARITY_FULL
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
@ -1346,7 +1346,7 @@ typedef struct ZydisDecodedInstruction_
|
|||
*/
|
||||
uint8_t offset;
|
||||
} imm[2];
|
||||
} details;
|
||||
} raw;
|
||||
/**
|
||||
* @brief This field is intended for custom data and may be freely set by the user.
|
||||
*/
|
||||
|
|
662
src/Decoder.c
662
src/Decoder.c
File diff suppressed because it is too large
Load Diff
|
@ -33,14 +33,21 @@
|
|||
#include <time.h>
|
||||
#include <Zydis/Zydis.h>
|
||||
|
||||
#ifdef ZYDIS_WINDOWS
|
||||
#if defined(ZYDIS_WINDOWS)
|
||||
# include <Windows.h>
|
||||
#elif defined(ZYDIS_APPLE)
|
||||
# include <mach/mach_time.h>
|
||||
#elif defined(ZYDIS_LINUX)
|
||||
# include <sys/time.h>
|
||||
#else
|
||||
# error "Unsupported platform detected"
|
||||
#endif
|
||||
|
||||
/* ============================================================================================== */
|
||||
/* Helper functions */
|
||||
/* ============================================================================================== */
|
||||
|
||||
#if defined(ZYDIS_WINDOWS)
|
||||
double CounterFreq = 0.0;
|
||||
uint64_t CounterStart = 0;
|
||||
|
||||
|
@ -62,6 +69,11 @@ double GetCounter()
|
|||
QueryPerformanceCounter(&li);
|
||||
return (double)(li.QuadPart - CounterStart) / CounterFreq;
|
||||
}
|
||||
#elif defined(ZYDIS_APPLE)
|
||||
// TODO:
|
||||
#elif defined(ZYDIS_LINUX)
|
||||
// TODO:
|
||||
#endif
|
||||
|
||||
/* ============================================================================================== */
|
||||
/* Internal functions */
|
||||
|
|
Loading…
Reference in New Issue