From 63e3ee22a9440351d2ac2220006992809ef70a7e Mon Sep 17 00:00:00 2001 From: "BITDEFENDER\\vlutas" Date: Mon, 3 Jan 2022 12:25:35 +0200 Subject: [PATCH] Fixed High8 handling in NdGetFullAccessMap. --- bddisasm/bdhelpers.c | 9 ++++++++- bindings/pybddisasm/setup.py | 2 +- inc/version.h | 2 +- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/bddisasm/bdhelpers.c b/bddisasm/bdhelpers.c index 0b7bf97..449a46a 100644 --- a/bddisasm/bdhelpers.c +++ b/bddisasm/bdhelpers.c @@ -100,7 +100,14 @@ NdGetFullAccessMap( for (k = 0; k < pOp->Info.Register.Count; k++) { - AccessMap->GprAccess[pOp->Info.Register.Reg + k] |= pOp->Access.Access; + if (pOp->Info.Register.IsHigh8) + { + AccessMap->GprAccess[pOp->Info.Register.Reg - 4 + k] |= pOp->Access.Access; + } + else + { + AccessMap->GprAccess[pOp->Info.Register.Reg + k] |= pOp->Access.Access; + } } } break; diff --git a/bindings/pybddisasm/setup.py b/bindings/pybddisasm/setup.py index 28e3987..3e784e1 100644 --- a/bindings/pybddisasm/setup.py +++ b/bindings/pybddisasm/setup.py @@ -12,7 +12,7 @@ from setuptools import find_packages, setup, Command, Extension, Distribution from codecs import open VERSION = (0, 1, 3) -LIBRARY_VERSION = (1, 34, 8) +LIBRARY_VERSION = (1, 34, 9) LIBRARY_INSTRUX_SIZE = 856 packages = ['pybddisasm'] diff --git a/inc/version.h b/inc/version.h index 5e496d5..e96c8ce 100644 --- a/inc/version.h +++ b/inc/version.h @@ -7,6 +7,6 @@ #define DISASM_VERSION_MAJOR 1 #define DISASM_VERSION_MINOR 34 -#define DISASM_VERSION_REVISION 8 +#define DISASM_VERSION_REVISION 9 #endif // DISASM_VER_H