vmt / udis86

Disassembler Library for x86 and x86-64
http://udis86.sourceforge.net
BSD 2-Clause "Simplified" License
1.02k stars 299 forks source link

x86 VMX instruction set is not recognized #78

Open Maijin opened 10 years ago

Maijin commented 10 years ago

Hello, x86 VMX instruction set is not recognized by udis86

[XX] disasm: x86: [VMCALL]
[XX] disasm: x86: [VMLAUNCH]
[XX] disasm: x86: [VMRESUME]
[XX] disasm: x86: [VMXOFF]

From the radare2-regressions

XVilka commented 10 years ago

echo "0f 01 c1" | udcli -x -32 invalid echo "0f 01 c2" | udcli -x -32 invalid echo "0f 01 c3" | udcli -x -32 invalid echo "0f 01 c3" | udcli -x -32 invalid

You can find complete instruction set testsuite here (for r2, using udis86 as backend) - https://github.com/radare/radare2-regressions/

https://github.com/radare/radare2-regressions/blob/master/t/disasm/x86

https://github.com/radare/radare2-regressions/blob/master/t/disasm/x86_AVX

https://github.com/radare/radare2-regressions/blob/master/t/disasm/x86_XOP

https://github.com/radare/radare2-regressions/blob/master/t/disasm/x86_sse

https://github.com/radare/radare2-regressions/blob/master/t/disasm/x86_x87

XVilka commented 10 years ago

Can't understand why this happens, because XML definition of these opcodes looks ok: https://github.com/vmt/udis86/blob/master/docs/x86/optable.xml#L8287

el2ro commented 9 years ago

Missing vendor set e.g. ud_set_vendor(u, UD_VENDOR_INTEL); Further reference http://udis86.sourceforge.net/manual/libudis86.html

echo "0f 01 c1" | ./udcli -x -32 -v intel 0000000000000000 0f01c1 vmcall