mirror of
https://github.com/bitdefender/bddisasm.git
synced 2024-12-22 22:18:09 +00:00
Although not stated in the SDM, VMCALL, VMLAUNCH, VMRESUME and VMXOFF refuse any prefix (66, F3, F2).
This commit is contained in:
parent
072f6e059b
commit
d053de409f
@ -12517,7 +12517,7 @@ const ND_INSTRUCTION gInstructions[2589] =
|
||||
},
|
||||
},
|
||||
|
||||
// Pos:754 Instruction:"NOP Gv,Ev" Encoding:"0x0F 0x1A /r"/"RM"
|
||||
// Pos:754 Instruction:"NOP Ev,Gv" Encoding:"0x0F 0x1A /r"/"MR"
|
||||
{
|
||||
ND_INS_NOP, ND_CAT_WIDENOP, ND_SET_PPRO, 478,
|
||||
0,
|
||||
@ -12528,8 +12528,8 @@ const ND_INSTRUCTION gInstructions[2589] =
|
||||
0,
|
||||
0,
|
||||
{
|
||||
OP(ND_OPT_G, ND_OPS_v, 0, ND_OPA_N, 0, 0),
|
||||
OP(ND_OPT_E, ND_OPS_v, 0, ND_OPA_N, 0, 0),
|
||||
OP(ND_OPT_G, ND_OPS_v, 0, ND_OPA_N, 0, 0),
|
||||
},
|
||||
},
|
||||
|
||||
@ -29451,7 +29451,7 @@ const ND_INSTRUCTION gInstructions[2589] =
|
||||
},
|
||||
},
|
||||
|
||||
// Pos:1762 Instruction:"VMCALL" Encoding:"0x0F 0x01 /0xC1"/""
|
||||
// Pos:1762 Instruction:"VMCALL" Encoding:"NP 0x0F 0x01 /0xC1"/""
|
||||
{
|
||||
ND_INS_VMCALL, ND_CAT_VTX, ND_SET_VTX, 1075,
|
||||
0,
|
||||
@ -29667,7 +29667,7 @@ const ND_INSTRUCTION gInstructions[2589] =
|
||||
},
|
||||
},
|
||||
|
||||
// Pos:1775 Instruction:"VMLAUNCH" Encoding:"0x0F 0x01 /0xC2"/""
|
||||
// Pos:1775 Instruction:"VMLAUNCH" Encoding:"NP 0x0F 0x01 /0xC2"/""
|
||||
{
|
||||
ND_INS_VMLAUNCH, ND_CAT_VTX, ND_SET_VTX, 1083,
|
||||
0,
|
||||
@ -31431,7 +31431,7 @@ const ND_INSTRUCTION gInstructions[2589] =
|
||||
},
|
||||
},
|
||||
|
||||
// Pos:1882 Instruction:"VMRESUME" Encoding:"0x0F 0x01 /0xC3"/""
|
||||
// Pos:1882 Instruction:"VMRESUME" Encoding:"NP 0x0F 0x01 /0xC3"/""
|
||||
{
|
||||
ND_INS_VMRESUME, ND_CAT_VTX, ND_SET_VTX, 1121,
|
||||
0,
|
||||
@ -31633,7 +31633,7 @@ const ND_INSTRUCTION gInstructions[2589] =
|
||||
},
|
||||
},
|
||||
|
||||
// Pos:1894 Instruction:"VMXOFF" Encoding:"0x0F 0x01 /0xC4"/""
|
||||
// Pos:1894 Instruction:"VMXOFF" Encoding:"NP 0x0F 0x01 /0xC4"/""
|
||||
{
|
||||
ND_INS_VMXOFF, ND_CAT_VTX, ND_SET_VTX, 1129,
|
||||
0,
|
||||
|
@ -4480,39 +4480,83 @@ const ND_TABLE_MPREFIX gRootTable_root_0f_01_reg_00_05_mprefix =
|
||||
}
|
||||
};
|
||||
|
||||
const ND_TABLE_INSTRUCTION gRootTable_root_0f_01_reg_00_01_leaf =
|
||||
const ND_TABLE_INSTRUCTION gRootTable_root_0f_01_reg_00_01_NP_leaf =
|
||||
{
|
||||
ND_ILUT_INSTRUCTION,
|
||||
(const void *)&gInstructions[1762]
|
||||
};
|
||||
|
||||
const ND_TABLE_INSTRUCTION gRootTable_root_0f_01_reg_00_02_leaf =
|
||||
const ND_TABLE_MPREFIX gRootTable_root_0f_01_reg_00_01_mprefix =
|
||||
{
|
||||
ND_ILUT_MAN_PREFIX,
|
||||
{
|
||||
/* 00 */ (const void *)&gRootTable_root_0f_01_reg_00_01_NP_leaf,
|
||||
/* 01 */ NULL,
|
||||
/* 02 */ NULL,
|
||||
/* 03 */ NULL,
|
||||
}
|
||||
};
|
||||
|
||||
const ND_TABLE_INSTRUCTION gRootTable_root_0f_01_reg_00_02_NP_leaf =
|
||||
{
|
||||
ND_ILUT_INSTRUCTION,
|
||||
(const void *)&gInstructions[1775]
|
||||
};
|
||||
|
||||
const ND_TABLE_INSTRUCTION gRootTable_root_0f_01_reg_00_03_leaf =
|
||||
const ND_TABLE_MPREFIX gRootTable_root_0f_01_reg_00_02_mprefix =
|
||||
{
|
||||
ND_ILUT_MAN_PREFIX,
|
||||
{
|
||||
/* 00 */ (const void *)&gRootTable_root_0f_01_reg_00_02_NP_leaf,
|
||||
/* 01 */ NULL,
|
||||
/* 02 */ NULL,
|
||||
/* 03 */ NULL,
|
||||
}
|
||||
};
|
||||
|
||||
const ND_TABLE_INSTRUCTION gRootTable_root_0f_01_reg_00_03_NP_leaf =
|
||||
{
|
||||
ND_ILUT_INSTRUCTION,
|
||||
(const void *)&gInstructions[1882]
|
||||
};
|
||||
|
||||
const ND_TABLE_INSTRUCTION gRootTable_root_0f_01_reg_00_04_leaf =
|
||||
const ND_TABLE_MPREFIX gRootTable_root_0f_01_reg_00_03_mprefix =
|
||||
{
|
||||
ND_ILUT_MAN_PREFIX,
|
||||
{
|
||||
/* 00 */ (const void *)&gRootTable_root_0f_01_reg_00_03_NP_leaf,
|
||||
/* 01 */ NULL,
|
||||
/* 02 */ NULL,
|
||||
/* 03 */ NULL,
|
||||
}
|
||||
};
|
||||
|
||||
const ND_TABLE_INSTRUCTION gRootTable_root_0f_01_reg_00_04_NP_leaf =
|
||||
{
|
||||
ND_ILUT_INSTRUCTION,
|
||||
(const void *)&gInstructions[1894]
|
||||
};
|
||||
|
||||
const ND_TABLE_MPREFIX gRootTable_root_0f_01_reg_00_04_mprefix =
|
||||
{
|
||||
ND_ILUT_MAN_PREFIX,
|
||||
{
|
||||
/* 00 */ (const void *)&gRootTable_root_0f_01_reg_00_04_NP_leaf,
|
||||
/* 01 */ NULL,
|
||||
/* 02 */ NULL,
|
||||
/* 03 */ NULL,
|
||||
}
|
||||
};
|
||||
|
||||
const ND_TABLE_MODRM_RM gRootTable_root_0f_01_reg_00_modrmrm =
|
||||
{
|
||||
ND_ILUT_MODRM_RM,
|
||||
{
|
||||
/* 00 */ (const void *)&gRootTable_root_0f_01_reg_00_00_mprefix,
|
||||
/* 01 */ (const void *)&gRootTable_root_0f_01_reg_00_01_leaf,
|
||||
/* 02 */ (const void *)&gRootTable_root_0f_01_reg_00_02_leaf,
|
||||
/* 03 */ (const void *)&gRootTable_root_0f_01_reg_00_03_leaf,
|
||||
/* 04 */ (const void *)&gRootTable_root_0f_01_reg_00_04_leaf,
|
||||
/* 01 */ (const void *)&gRootTable_root_0f_01_reg_00_01_mprefix,
|
||||
/* 02 */ (const void *)&gRootTable_root_0f_01_reg_00_02_mprefix,
|
||||
/* 03 */ (const void *)&gRootTable_root_0f_01_reg_00_03_mprefix,
|
||||
/* 04 */ (const void *)&gRootTable_root_0f_01_reg_00_04_mprefix,
|
||||
/* 05 */ (const void *)&gRootTable_root_0f_01_reg_00_05_mprefix,
|
||||
/* 06 */ NULL,
|
||||
/* 07 */ NULL,
|
||||
|
@ -7,6 +7,6 @@
|
||||
|
||||
#define DISASM_VERSION_MAJOR 1
|
||||
#define DISASM_VERSION_MINOR 32
|
||||
#define DISASM_VERSION_REVISION 3
|
||||
#define DISASM_VERSION_REVISION 4
|
||||
|
||||
#endif // DISASM_VER_H
|
||||
|
@ -22,10 +22,10 @@ LMSW Ew CR0 [ 0x0F 0x01 /6
|
||||
INVLPG Mb nil [ 0x0F 0x01 /7:mem] s:I486REAL, t:SYSTEM, w:R, a:AG, m:KERNEL|NOV86
|
||||
RSTORSSP Mq SSP [ 0xF3 0x0F 0x01 /5:mem] s:CET_SS, t:CET, a:SHS, w:RW|RW, f:CF=m|ZF=0|PF=0|AF=0|OF=0|SF=0
|
||||
ENCLV nil EAX,RBX,RCX,RDX [ NP 0x0F 0x01 /0xC0] s:SGX, t:SGX, w:R|CRW|CRW|CRW, m:KERNEL|NOSMM|NOTSX|VMX
|
||||
VMCALL nil nil [ 0x0F 0x01 /0xC1] s:VTX, t:VTX, m:VMX|NOSGX
|
||||
VMLAUNCH nil Fv [ 0x0F 0x01 /0xC2] s:VTX, t:VTX, w:W, f:VMX, m:VMXROOT
|
||||
VMRESUME nil Fv [ 0x0F 0x01 /0xC3] s:VTX, t:VTX, w:W, f:VMX, m:VMXROOT
|
||||
VMXOFF nil Fv [ 0x0F 0x01 /0xC4] s:VTX, t:VTX, w:W, f:VMX, m:VMXROOT
|
||||
VMCALL nil nil [ NP 0x0F 0x01 /0xC1] s:VTX, t:VTX, m:VMX|NOSGX
|
||||
VMLAUNCH nil Fv [ NP 0x0F 0x01 /0xC2] s:VTX, t:VTX, w:W, f:VMX, m:VMXROOT
|
||||
VMRESUME nil Fv [ NP 0x0F 0x01 /0xC3] s:VTX, t:VTX, w:W, f:VMX, m:VMXROOT
|
||||
VMXOFF nil Fv [ NP 0x0F 0x01 /0xC4] s:VTX, t:VTX, w:W, f:VMX, m:VMXROOT
|
||||
PCONFIG nil EAX,RBX,RCX,RDX [ NP 0x0F 0x01 /0xC5] s:PCONFIG, t:PCONFIG, w:R|RW|RW|RW, m:NOV86
|
||||
MONITOR nil EAX,ECX,EDX [ NP 0x0F 0x01 /0xC8] s:SSE3, t:MISC, w:R|R|R, i:MONITOR, m:KERNEL|NOV86
|
||||
MWAIT nil EAX,ECX [ NP 0x0F 0x01 /0xC9] s:SSE3, t:MISC, w:RW|R, i:MONITOR, m:KERNEL|NOV86
|
||||
@ -157,7 +157,7 @@ NOP Ev nil [ 0x0F 0x19 /r
|
||||
# that Xed doesn't do those checks either).
|
||||
|
||||
# MPX not used, these guys are wide NOPs.
|
||||
NOP Gv,Ev nil [ 0x0F 0x1A /r] s:PPRO, t:WIDENOP, w:N|N
|
||||
NOP Ev,Gv nil [ 0x0F 0x1A /r] s:PPRO, t:WIDENOP, w:N|N
|
||||
NOP Gv,Ev nil [ 0x0F 0x1B /r] s:PPRO, t:WIDENOP, w:N|N
|
||||
NOP Ev,Gv nil [ 0x0F 0x1C /r] s:PPRO, t:WIDENOP, w:N|N
|
||||
NOP Ev,Gv nil [ 0x0F 0x1D /r] s:PPRO, t:WIDENOP, w:N|N
|
||||
|
@ -12,7 +12,7 @@ from setuptools import find_packages, setup, Command, Extension, Distribution
|
||||
from codecs import open
|
||||
|
||||
VERSION = (0, 1, 3)
|
||||
LIBRARY_VERSION = (1, 32, 3)
|
||||
LIBRARY_VERSION = (1, 32, 4)
|
||||
LIBRARY_INSTRUX_SIZE = 864
|
||||
|
||||
packages = ['pybddisasm']
|
||||
|
Loading…
Reference in New Issue
Block a user