mirror of https://github.com/x64dbg/zydis
Fixed decoding of VEX/EVEX instructions with high-register-specifiers
This commit is contained in:
parent
40d6c39dbe
commit
baa1bc243a
|
@ -1795,7 +1795,8 @@ static ZydisStatus ZydisNodeHandlerOpcode(ZydisDecoderContext* ctx,
|
||||||
{
|
{
|
||||||
uint8_t nextInput;
|
uint8_t nextInput;
|
||||||
ZYDIS_CHECK(ZydisInputPeek(ctx, info, &nextInput));
|
ZYDIS_CHECK(ZydisInputPeek(ctx, info, &nextInput));
|
||||||
if ((nextInput & 0xF0) >= 0xC0)
|
if (((nextInput & 0xF0) >= 0xC0) ||
|
||||||
|
(ctx->operatingMode == ZYDIS_OPERATING_MODE_64BIT))
|
||||||
{
|
{
|
||||||
if (info->attributes & ZYDIS_ATTRIB_HAS_REX)
|
if (info->attributes & ZYDIS_ATTRIB_HAS_REX)
|
||||||
{
|
{
|
||||||
|
@ -1856,7 +1857,7 @@ static ZydisStatus ZydisNodeHandlerOpcode(ZydisDecoderContext* ctx,
|
||||||
{
|
{
|
||||||
uint8_t nextInput;
|
uint8_t nextInput;
|
||||||
ZYDIS_CHECK(ZydisInputPeek(ctx, info, &nextInput));
|
ZYDIS_CHECK(ZydisInputPeek(ctx, info, &nextInput));
|
||||||
if (((nextInput >> 0) & 0x1F) >= 8)
|
if ((nextInput & 0x1F) >= 8)
|
||||||
{
|
{
|
||||||
if (info->attributes & ZYDIS_ATTRIB_HAS_REX)
|
if (info->attributes & ZYDIS_ATTRIB_HAS_REX)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue