the vad end should be the last byte in the last page (i.e. ending in 0xfff)

This commit is contained in:
Michael Ligh
2019-02-05 21:05:17 -06:00
parent 4c2a29ae01
commit f61fba8e00
@@ -289,15 +289,16 @@ class _MMVAD_SHORT(objects.Struct):
if self.has_member("EndingVpn"):
if self.has_member("EndingVpnHigh"):
return (self.EndingVpn.cast("unsigned int") << 12) | (self.EndingVpnHigh.cast("unsigned int") << 44)
return (((self.EndingVpn.cast("unsigned int") + 1) << 12) | (self.EndingVpnHigh.cast("unsigned int") << 44)) - 1
else:
return ((self.EndingVpn.cast("unsigned int") + 1) << 12) - 1
elif self.has_member("Core"):
print(self.Core.EndingVpnHigh)
print(self.Core.EndingVpnHigh.cast("unsigned int"))
if self.Core.has_member("EndingVpnHigh"):
return (self.Core.EndingVpn.cast("unsigned int") << 12) | (
self.Core.EndingVpnHigh.cast("unsigned int") << 44)
return (((self.Core.EndingVpn.cast("unsigned int") + 1) << 12) | (
self.Core.EndingVpnHigh.cast("unsigned int") << 44)) - 1
else:
return ((self.Core.EndingVpn.cast("unsigned int") + 1) << 12) - 1