Giter Club home page Giter Club logo

libdft64's People

Contributors

assafcarlsbad avatar m4nval avatar m4tsuri avatar spinpx avatar ucchiee avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

libdft64's Issues

Install_pin script

Could this be updated to point a slightly newer version of the pin tool such as version 3.8? I would pull this tar.gz file myself but cannot find the exact name of the file on the intel website (due to unknown g number in the file name). I am unable to build this project with later versions of pin (pin 3.13 and above) but I cannot build other software with the older pin 3.7 version which the install file fetches

64 bit support

I am still getting familiar with the API of the library, I would like to as if the example "libdft-dta.cpp", is supposed to work with 64 bits. As i understand it is not, and works for 32 and 16-bit only. Also, shouldn't the tagmap_getl(), and tagmap_setl() functions work for 64 bit ?

Can libdft64 check the bad kernel modules?

I found that the Intel pin can't check the program running in the kernel mode. so, most of the kernel modules running in kernel mode. I think the libdft64 can't track the taint in the kernel mode, is it?

Cannot build libdft64

I got these errors while installing libdft64 from source:
~/libdft64$ make
cd src && CPPFLAGS= DFTFLAGS= make
make[1]: Entering directory '/home/admin/libdft64/src'
Makefie:20: ../Config/makefile.config: No such file or directoryl
Makefile:22: /Config/makefile.default.rules: No such file or directory
make[1]: *** No rule to make target '/Config/makefile.default.rules'. Stop.
make[1]: Leaving directory '/home/admin/libdft64/src'
Makefile:17: recipe for target 'dftsrc' failed
make: *** [dftsrc] Error 2

API usage question

Good day.
I have a common question.
How can I use your taint engine for tracking arbitrary data in common case?
For example I don't know which function will touch some input data. I manual implement a searching my input data in whole memory and in case if I found them I will mark memory.
I am looking for functions like a:

add_mem_taint(addr, len)
add_reg_taint(reg)

Like a http://shell-storm.org/blog/Taint-analysis-and-pattern-matching-with-Pin/

Warning when using the latest Intel PIN 3.27 version

Hello,

This warning is possibly not important as it didn't have any impact on the core functionality of libdft64 (at least from my understanding), but just wanted to raise an issue that when I try to use the latest version of PIN (Version 3.27 https://software.intel.com/sites/landingpage/pintool/docs/98718/Pin/doc/html/index.html) with libdft, I get a warning message such as this:

...
/usr/bin/ld: warning: /home/taint_analysis/pin-3.27_build/intel64/runtime/pincrt/libc++abi.so: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0010001                                
/usr/bin/ld: warning: /home/taint_analysis/pin-3.27_build/intel64/runtime/pincrt/libc++abi.so: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0010002                                
/usr/bin/ld: warning: /home/taint_analysis/pin-3.27_build/intel64/runtime/pincrt/libm-dynamic.so: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0010001                             
/usr/bin/ld: warning: /home/taint_analysis/pin-3.27_build/intel64/runtime/pincrt/libm-dynamic.so: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0010002                             
/usr/bin/ld: warning: /home/taint_analysis/pin-3.27_build/intel64/runtime/pincrt/libc-dynamic.so: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0010001                             
/usr/bin/ld: warning: /home/taint_analysis/pin-3.27_build/intel64/runtime/pincrt/libc-dynamic.so: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0010002                             
/usr/bin/ld: warning: /home/taint_analysis/pin-3.27_build/intel64/runtime/pincrt/libunwind-dynamic.so: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0010001                        
/usr/bin/ld: warning: /home/taint_analysis/pin-3.27_build/intel64/runtime/pincrt/libunwind-dynamic.so: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0010002    

I have tried solving this issue by myself, but after a few hours of trying to figure it out by testing with different compiler flags and such, I was unable to fix it.

I updated TAR_NAME= in the install_pin.sh with pin-3.27-98718-gbeaa5d51e-gcc-linux and everything seemed to work fine until the above warning messages (which is where I dived a little bit deeper into Makefile and other things).

I believe the issue arises from new libraries Intel PIN added (e.g., libdwarf starting from version 3.26) which may have some conflict issue in terms of version with libdft64. IF anyone might have solved this, that would be great to know, thank you in advance.

running libdft-dta problem.

When I tried to run the libdft-dta.so with intel pin, I got this error. Does someone come across it back on?

root@localhost:~/libdft/libdft64# /root/libdft/libdft64/pin-3.20-98437-gf02b61307-gcc-linux/pin -pause_tool 50 -t /root/libdft/libdft64/tools/obj-intel64/libdft-dta.so -- /root/libdft/libdft64/tools/test_overflow.d/testoverflow.bin
E: Unable to load /root/libdft/libdft64/tools/obj-intel64/libdft-dta.so: dlopen failed: cannot locate symbol "thread_ctx_ptr" referenced by "/root/libdft/libdft64/tools/obj-intel64/libdft-dta.so"...

a little bug

in libdft_api.cpp,

I think "int ins_clr_post(syscall_desc_t *desc)" should be "int ins_clr_post(ins_desc_t *desc)"

Errors building libdft-dta

Hi,

I encountered several compilation errors when building libdft-dta, while track, nullpin, libdft were built without any errors. I used pin-3.7-97619-g0d0c92f4f-gcc-linux, which was downloaded using the install_pin.sh script, on Ubuntu 16.04. Below are the error messages. Can you please take a look? Thank you.

libdft-dta.cpp: In function ‘void alert(ADDRINT, ADDRINT)’:
libdft-dta.cpp:116:25: error: format ‘%x’ expects argument of type ‘unsigned int’, but argument 4 has type ‘ADDRINT {aka long unsigned int}’ [-Werror=format=]
getpid(), ins, bt);
^
libdft-dta.cpp:116:25: error: format ‘%x’ expects argument of type ‘unsigned int’, but argument 5 has type ‘ADDRINT {aka long unsigned int}’ [-Werror=format=]
libdft-dta.cpp: In function ‘ADDRINT assert_reg32(thread_ctx_t*, uint32_t, uint32_t)’:
libdft-dta.cpp:151:53: error: ‘tagmap_getl’ was not declared in this scope
return thread_ctx->vcpu.gpr[reg] | tagmap_getl(addr);
^
libdft-dta.cpp: In function ‘ADDRINT assert_reg16(thread_ctx_t*, uint32_t, uint32_t)’:
libdft-dta.cpp:171:38: error: ‘VCPU_MASK16’ was not declared in this scope
return (thread_ctx->vcpu.gpr[reg] & VCPU_MASK16)
^
libdft-dta.cpp:172:21: error: ‘tagmap_getw’ was not declared in this scope
| tagmap_getw(addr);
^
libdft-dta.cpp: In function ‘ADDRINT assert_mem32(ADDRINT, ADDRINT)’:
libdft-dta.cpp:188:26: error: ‘tagmap_getl’ was not declared in this scope
return tagmap_getl(paddr) | tagmap_getl(taddr);
^
libdft-dta.cpp: In function ‘ADDRINT assert_mem16(ADDRINT, ADDRINT)’:
libdft-dta.cpp:204:26: error: ‘tagmap_getw’ was not declared in this scope
return tagmap_getw(paddr) | tagmap_getw(taddr);
^
libdft-dta.cpp: In function ‘void dta_instrument_jmp_call(LEVEL_CORE::INS)’:
libdft-dta.cpp:245:33: error: ‘REG32_INDX’ was not declared in this scope
IARG_UINT32, REG32_INDX(reg),
^
libdft-dta.cpp:259:33: error: ‘REG16_INDX’ was not declared in this scope
IARG_UINT32, REG16_INDX(reg),
^
libdft-dta.cpp: In function ‘void post_read_hook(syscall_ctx_t*)’:
libdft-dta.cpp:373:62: error: ‘tagmap_setn’ was not declared in this scope
tagmap_setn(ctx->arg[SYSCALL_ARG1], (size_t)ctx->ret);
^
libdft-dta.cpp: In function ‘void post_readv_hook(syscall_ctx_t*)’:
libdft-dta.cpp:415:60: error: ‘tagmap_setn’ was not declared in this scope
tagmap_setn((size_t)iov->iov_base, iov_tot);
^
libdft-dta.cpp: In function ‘void post_socketcall_hook(syscall_ctx_t*)’:
libdft-dta.cpp:474:8: error: ‘SYS_ACCEPT’ was not declared in this scope
case SYS_ACCEPT:
^
libdft-dta.cpp:475:8: error: ‘SYS_ACCEPT4’ was not declared in this scope
case SYS_ACCEPT4:
^
libdft-dta.cpp:488:8: error: ‘SYS_GETSOCKNAME’ was not declared in this scope
case SYS_GETSOCKNAME:
^
libdft-dta.cpp:489:8: error: ‘SYS_GETPEERNAME’ was not declared in this scope
case SYS_GETPEERNAME:
^
libdft-dta.cpp:504:8: error: ‘SYS_SOCKETPAIR’ was not declared in this scope
case SYS_SOCKETPAIR:
^
libdft-dta.cpp:512:8: error: ‘SYS_RECV’ was not declared in this scope
case SYS_RECV:
^
libdft-dta.cpp:521:24: error: ‘tagmap_setn’ was not declared in this scope
(size_t)ctx->ret);
^
libdft-dta.cpp:527:8: error: ‘SYS_RECVFROM’ was not declared in this scope
case SYS_RECVFROM:
^
libdft-dta.cpp:536:23: error: ‘tagmap_setn’ was not declared in this scope
(size_t)ctx->ret);
^
libdft-dta.cpp:552:8: error: ‘SYS_GETSOCKOPT’ was not declared in this scope
case SYS_GETSOCKOPT:
^
libdft-dta.cpp:564:8: error: ‘SYS_RECVMSG’ was not declared in this scope
case SYS_RECVMSG:
^
libdft-dta.cpp:592:26: error: ‘tagmap_setn’ was not declared in this scope
msg->msg_controllen);
^
libdft-dta.cpp:623:16: error: ‘tagmap_setn’ was not declared in this scope
iov_tot);
^
libdft-dta.cpp: In function ‘int main(int, char**)’:
libdft-dta.cpp:773:65: error: invalid conversion from ‘void ()(syscall_ctx_t)’ to ‘void ()(LEVEL_VM::THREADID, syscall_ctx_t) {aka void ()(unsigned int, syscall_ctx_t)}’ [-fpermissive]
(void)syscall_set_post(&syscall_desc[__NR_read], post_read_hook);
^
In file included from libdft-dta.cpp:51:0:
/home/user/code/libdft64/src/syscall_desc.h:21:5: note: initializing argument 2 of ‘int syscall_set_post(syscall_desc_t*, void ()(LEVEL_VM::THREADID, syscall_ctx_t))’
int syscall_set_post(syscall_desc_t , void ()(THREADID, syscall_ctx_t ));
^
libdft-dta.cpp:776:67: error: invalid conversion from ‘void (
)(syscall_ctx_t*)’ to ‘void ()(LEVEL_VM::THREADID, syscall_ctx_t) {aka void ()(unsigned int, syscall_ctx_t)}’ [-fpermissive]
(void)syscall_set_post(&syscall_desc[__NR_readv], post_readv_hook);
^
In file included from libdft-dta.cpp:51:0:
/home/user/code/libdft64/src/syscall_desc.h:21:5: note: initializing argument 2 of ‘int syscall_set_post(syscall_desc_t*, void ()(LEVEL_VM::THREADID, syscall_ctx_t))’
int syscall_set_post(syscall_desc_t , void ()(THREADID, syscall_ctx_t ));
^
libdft-dta.cpp:780:40: error: ‘__NR_socketcall’ was not declared in this scope
(void)syscall_set_post(&syscall_desc[__NR_socketcall],
^
libdft-dta.cpp:784:63: error: invalid conversion from ‘void (
)(syscall_ctx_t*)’ to ‘void ()(LEVEL_VM::THREADID, syscall_ctx_t) {aka void ()(unsigned int, syscall_ctx_t)}’ [-fpermissive]
(void)syscall_set_post(&syscall_desc[__NR_dup], post_dup_hook);
^
In file included from libdft-dta.cpp:51:0:
/home/user/code/libdft64/src/syscall_desc.h:21:5: note: initializing argument 2 of ‘int syscall_set_post(syscall_desc_t*, void ()(LEVEL_VM::THREADID, syscall_ctx_t))’
int syscall_set_post(syscall_desc_t , void ()(THREADID, syscall_ctx_t ));
^
libdft-dta.cpp:785:64: error: invalid conversion from ‘void (
)(syscall_ctx_t*)’ to ‘void ()(LEVEL_VM::THREADID, syscall_ctx_t) {aka void ()(unsigned int, syscall_ctx_t)}’ [-fpermissive]
(void)syscall_set_post(&syscall_desc[__NR_dup2], post_dup_hook);
^
In file included from libdft-dta.cpp:51:0:
/home/user/code/libdft64/src/syscall_desc.h:21:5: note: initializing argument 2 of ‘int syscall_set_post(syscall_desc_t*, void ()(LEVEL_VM::THREADID, syscall_ctx_t))’
int syscall_set_post(syscall_desc_t , void ()(THREADID, syscall_ctx_t ));
^
libdft-dta.cpp:788:67: error: invalid conversion from ‘void (
)(syscall_ctx_t*)’ to ‘void ()(LEVEL_VM::THREADID, syscall_ctx_t) {aka void ()(unsigned int, syscall_ctx_t)}’ [-fpermissive]
(void)syscall_set_post(&syscall_desc[__NR_close], post_close_hook);
^
In file included from libdft-dta.cpp:51:0:
/home/user/code/libdft64/src/syscall_desc.h:21:5: note: initializing argument 2 of ‘int syscall_set_post(syscall_desc_t*, void ()(LEVEL_VM::THREADID, syscall_ctx_t))’
int syscall_set_post(syscall_desc_t , void ()(THREADID, syscall_ctx_t ));
^
libdft-dta.cpp:793:19: error: invalid conversion from ‘void (
)(syscall_ctx_t*)’ to ‘void ()(LEVEL_VM::THREADID, syscall_ctx_t) {aka void ()(unsigned int, syscall_ctx_t)}’ [-fpermissive]
post_open_hook);
^
In file included from libdft-dta.cpp:51:0:
/home/user/code/libdft64/src/syscall_desc.h:21:5: note: initializing argument 2 of ‘int syscall_set_post(syscall_desc_t*, void ()(LEVEL_VM::THREADID, syscall_ctx_t))’
int syscall_set_post(syscall_desc_t , void ()(THREADID, syscall_ctx_t ));
^
libdft-dta.cpp:795:19: error: invalid conversion from ‘void (
)(syscall_ctx_t*)’ to ‘void ()(LEVEL_VM::THREADID, syscall_ctx_t) {aka void ()(unsigned int, syscall_ctx_t)}’ [-fpermissive]
post_open_hook);
^
In file included from libdft-dta.cpp:51:0:
/home/user/code/libdft64/src/syscall_desc.h:21:5: note: initializing argument 2 of ‘int syscall_set_post(syscall_desc_t*, void ()(LEVEL_VM::THREADID, syscall_ctx_t))’
int syscall_set_post(syscall_desc_t , void ()(THREADID, syscall_ctx_t *));
^
cc1plus: all warnings being treated as errors

Cannot Compile on Windows following INSTALL.md

When I tried to build the lib on Windows 10 (I follow https://github.com/AngoraFuzzer/libdft64/blob/master/INSTALL.md):
The output is:

C:\Users\Administrator\Desktop\projects\libdft64>C:\ProgramData\chocolatey\bin\make.exe
cd src && CPPFLAGS= DFTFLAGS= make
make[1]: Entering directory '/cygdrive/c/Users/Administrator/Desktop/projects/libdft64/src'
make objects
make[2]: Entering directory '/cygdrive/c/Users/Administrator/Desktop/projects/libdft64/src'
cl /EHs- /EHa- /wd4530 /DTARGET_WINDOWS /nologo /Gy /Oi- /GR- /GS- /DPIN_CRT=1 /D_WINDOWS_H_PATH_="C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\um" /D__LP64__ /Zc:threadSafeInit- /Zc:sizedDealloc- /wd5208 /DTARGET_IA32E /DHOST_IA32E /IC:\Users\Administrator\Desktop\projects\pin-3.28-msvc-windows/source/include/pin /IC:\Users\Administrator\Desktop\projects\pin-3.28-msvc-windows/source/include/pin/gen -IC:\Users\Administrator\Desktop\projects\pin-3.28-msvc-windows/extras/stlport/include -IC:\Users\Administrator\Desktop\projects\pin-3.28-msvc-windows/extras -IC:\Users\Administrator\Desktop\projects\pin-3.28-msvc-windows/extras/libstdc++/include -IC:\Users\Administrator\Desktop\projects\pin-3.28-msvc-windows/extras/crt/include -IC:\Users\Administrator\Desktop\projects\pin-3.28-msvc-windows/extras/crt -IC:\Users\Administrator\Desktop\projects\pin-3.28-msvc-windows/extras/crt/include/arch-x86_64 -IC:\Users\Administrator\Desktop\projects\pin-3.28-msvc-windows/extras/crt/include/kernel/uapi -IC:\Users\Administrator\Desktop\projects\pin-3.28-msvc-windows/extras/crt/include/kernel/uapi/asm-x86 /FIinclude/msvc_compat.h /IC:\Users\Administrator\Desktop\projects\pin-3.28-msvc-windows/extras/components/include /IC:\Users\Administrator\Desktop\projects\pin-3.28-msvc-windows/extras/xed-intel64/include/xed /IC:\Users\Administrator\Desktop\projects\pin-3.28-msvc-windows/source/tools/Utils /IC:\Users\Administrator\Desktop\projects\pin-3.28-msvc-windows/source/tools/InstLib /MD /O2 /c /Foobj-intel64/libdft_api.obj libdft_api.cpp
libdft_api.cpp
libdft_api.cpp: fatal error C1083: Cannot open include file: 'include/msvc_compat.h': No such file or directory
make[2]: *** [C:\Users\Administrator\Desktop\projects\pin-3.28-msvc-windows/source/tools/Config/makefile.default.rules:233: obj-intel64/libdft_api.obj] Error 2
make[2]: Leaving directory '/cygdrive/c/Users/Administrator/Desktop/projects/libdft64/src'
make[1]: *** [C:\Users\Administrator\Desktop\projects\pin-3.28-msvc-windows/source/tools/Config/makefile.config:369: all] Error 2
make[1]: Leaving directory '/cygdrive/c/Users/Administrator/Desktop/projects/libdft64/src'
make: *** [Makefile:16: dftsrc] Error 2

It seems that the building procedure require cl.exe so I used VS 2022 Prompt and the build has an error at /FIinclude/msvc_compat.h, the file exists but cl.exe cannot find it.
Where shall I change to make it compilable? Thanks!

Instruction list

  • XED_ICLASS_INVALID
  • XED_ICLASS_AAA
  • XED_ICLASS_AAD
  • XED_ICLASS_AAM
  • XED_ICLASS_AAS
  • XED_ICLASS_ADC
  • XED_ICLASS_ADCX
  • XED_ICLASS_ADC_LOCK
  • XED_ICLASS_ADD
  • XED_ICLASS_ADDPD
  • XED_ICLASS_ADDPS
  • XED_ICLASS_ADDSD
  • XED_ICLASS_ADDSS
  • XED_ICLASS_ADDSUBPD
  • XED_ICLASS_ADDSUBPS
  • XED_ICLASS_ADD_LOCK
  • XED_ICLASS_ADOX
  • XED_ICLASS_AESDEC
  • XED_ICLASS_AESDECLAST
  • XED_ICLASS_AESENC
  • XED_ICLASS_AESENCLAST
  • XED_ICLASS_AESIMC
  • XED_ICLASS_AESKEYGENASSIST
  • XED_ICLASS_AND
  • XED_ICLASS_ANDN
  • XED_ICLASS_ANDNPD
  • XED_ICLASS_ANDNPS
  • XED_ICLASS_ANDPD
  • XED_ICLASS_ANDPS
  • XED_ICLASS_AND_LOCK
  • XED_ICLASS_ARPL
  • XED_ICLASS_BEXTR
  • XED_ICLASS_BEXTR_XOP
  • XED_ICLASS_BLCFILL
  • XED_ICLASS_BLCI
  • XED_ICLASS_BLCIC
  • XED_ICLASS_BLCMSK
  • XED_ICLASS_BLCS
  • XED_ICLASS_BLENDPD
  • XED_ICLASS_BLENDPS
  • XED_ICLASS_BLENDVPD
  • XED_ICLASS_BLENDVPS
  • XED_ICLASS_BLSFILL
  • XED_ICLASS_BLSI
  • XED_ICLASS_BLSIC
  • XED_ICLASS_BLSMSK
  • XED_ICLASS_BLSR
  • XED_ICLASS_BNDCL
  • XED_ICLASS_BNDCN
  • XED_ICLASS_BNDCU
  • XED_ICLASS_BNDLDX
  • XED_ICLASS_BNDMK
  • XED_ICLASS_BNDMOV
  • XED_ICLASS_BNDSTX
  • XED_ICLASS_BOUND
  • XED_ICLASS_BSF
  • XED_ICLASS_BSR
  • XED_ICLASS_BSWAP
  • XED_ICLASS_BT
  • XED_ICLASS_BTC
  • XED_ICLASS_BTC_LOCK
  • XED_ICLASS_BTR
  • XED_ICLASS_BTR_LOCK
  • XED_ICLASS_BTS
  • XED_ICLASS_BTS_LOCK
  • XED_ICLASS_BZHI
  • XED_ICLASS_CALL_FAR
  • XED_ICLASS_CALL_NEAR
  • XED_ICLASS_CBW
  • XED_ICLASS_CDQ
  • XED_ICLASS_CDQE
  • XED_ICLASS_CLAC
  • XED_ICLASS_CLC
  • XED_ICLASS_CLD
  • XED_ICLASS_CLDEMOTE
  • XED_ICLASS_CLFLUSH
  • XED_ICLASS_CLFLUSHOPT
  • XED_ICLASS_CLGI
  • XED_ICLASS_CLI
  • XED_ICLASS_CLRSSBSY
  • XED_ICLASS_CLTS
  • XED_ICLASS_CLWB
  • XED_ICLASS_CLZERO
  • XED_ICLASS_CMC
  • XED_ICLASS_CMOVB
  • XED_ICLASS_CMOVBE
  • XED_ICLASS_CMOVL
  • XED_ICLASS_CMOVLE
  • XED_ICLASS_CMOVNB
  • XED_ICLASS_CMOVNBE
  • XED_ICLASS_CMOVNL
  • XED_ICLASS_CMOVNLE
  • XED_ICLASS_CMOVNO
  • XED_ICLASS_CMOVNP
  • XED_ICLASS_CMOVNS
  • XED_ICLASS_CMOVNZ
  • XED_ICLASS_CMOVO
  • XED_ICLASS_CMOVP
  • XED_ICLASS_CMOVS
  • XED_ICLASS_CMOVZ
  • XED_ICLASS_CMP
  • XED_ICLASS_CMPPD
  • XED_ICLASS_CMPPS
  • XED_ICLASS_CMPSB
  • XED_ICLASS_CMPSD
  • XED_ICLASS_CMPSD_XMM
  • XED_ICLASS_CMPSQ
  • XED_ICLASS_CMPSS
  • XED_ICLASS_CMPSW
  • XED_ICLASS_CMPXCHG
  • XED_ICLASS_CMPXCHG16B
  • XED_ICLASS_CMPXCHG16B_LOCK
  • XED_ICLASS_CMPXCHG8B
  • XED_ICLASS_CMPXCHG8B_LOCK
  • XED_ICLASS_CMPXCHG_LOCK
  • XED_ICLASS_COMISD
  • XED_ICLASS_COMISS
  • XED_ICLASS_CPUID
  • XED_ICLASS_CQO
  • XED_ICLASS_CRC32
  • XED_ICLASS_CVTDQ2PD
  • XED_ICLASS_CVTDQ2PS
  • XED_ICLASS_CVTPD2DQ
  • XED_ICLASS_CVTPD2PI
  • XED_ICLASS_CVTPD2PS
  • XED_ICLASS_CVTPI2PD
  • XED_ICLASS_CVTPI2PS
  • XED_ICLASS_CVTPS2DQ
  • XED_ICLASS_CVTPS2PD
  • XED_ICLASS_CVTPS2PI
  • XED_ICLASS_CVTSD2SI
  • XED_ICLASS_CVTSD2SS
  • XED_ICLASS_CVTSI2SD
  • XED_ICLASS_CVTSI2SS
  • XED_ICLASS_CVTSS2SD
  • XED_ICLASS_CVTSS2SI
  • XED_ICLASS_CVTTPD2DQ
  • XED_ICLASS_CVTTPD2PI
  • XED_ICLASS_CVTTPS2DQ
  • XED_ICLASS_CVTTPS2PI
  • XED_ICLASS_CVTTSD2SI
  • XED_ICLASS_CVTTSS2SI
  • XED_ICLASS_CWD
  • XED_ICLASS_CWDE
  • XED_ICLASS_DAA
  • XED_ICLASS_DAS
  • XED_ICLASS_DEC
  • XED_ICLASS_DEC_LOCK
  • XED_ICLASS_DIV
  • XED_ICLASS_DIVPD
  • XED_ICLASS_DIVPS
  • XED_ICLASS_DIVSD
  • XED_ICLASS_DIVSS
  • XED_ICLASS_DPPD
  • XED_ICLASS_DPPS
  • XED_ICLASS_EMMS
  • XED_ICLASS_ENCLS
  • XED_ICLASS_ENCLU
  • XED_ICLASS_ENCLV
  • XED_ICLASS_ENDBR32
  • XED_ICLASS_ENDBR64
  • XED_ICLASS_ENTER
  • XED_ICLASS_EXTRACTPS
  • XED_ICLASS_EXTRQ
  • XED_ICLASS_F2XM1
  • XED_ICLASS_FABS
  • XED_ICLASS_FADD
  • XED_ICLASS_FADDP
  • XED_ICLASS_FBLD
  • XED_ICLASS_FBSTP
  • XED_ICLASS_FCHS
  • XED_ICLASS_FCMOVB
  • XED_ICLASS_FCMOVBE
  • XED_ICLASS_FCMOVE
  • XED_ICLASS_FCMOVNB
  • XED_ICLASS_FCMOVNBE
  • XED_ICLASS_FCMOVNE
  • XED_ICLASS_FCMOVNU
  • XED_ICLASS_FCMOVU
  • XED_ICLASS_FCOM
  • XED_ICLASS_FCOMI
  • XED_ICLASS_FCOMIP
  • XED_ICLASS_FCOMP
  • XED_ICLASS_FCOMPP
  • XED_ICLASS_FCOS
  • XED_ICLASS_FDECSTP
  • XED_ICLASS_FDISI8087_NOP
  • XED_ICLASS_FDIV
  • XED_ICLASS_FDIVP
  • XED_ICLASS_FDIVR
  • XED_ICLASS_FDIVRP
  • XED_ICLASS_FEMMS
  • XED_ICLASS_FENI8087_NOP
  • XED_ICLASS_FFREE
  • XED_ICLASS_FFREEP
  • XED_ICLASS_FIADD
  • XED_ICLASS_FICOM
  • XED_ICLASS_FICOMP
  • XED_ICLASS_FIDIV
  • XED_ICLASS_FIDIVR
  • XED_ICLASS_FILD
  • XED_ICLASS_FIMUL
  • XED_ICLASS_FINCSTP
  • XED_ICLASS_FIST
  • XED_ICLASS_FISTP
  • XED_ICLASS_FISTTP
  • XED_ICLASS_FISUB
  • XED_ICLASS_FISUBR
  • XED_ICLASS_FLD
  • XED_ICLASS_FLD1
  • XED_ICLASS_FLDCW
  • XED_ICLASS_FLDENV
  • XED_ICLASS_FLDL2E
  • XED_ICLASS_FLDL2T
  • XED_ICLASS_FLDLG2
  • XED_ICLASS_FLDLN2
  • XED_ICLASS_FLDPI
  • XED_ICLASS_FLDZ
  • XED_ICLASS_FMUL
  • XED_ICLASS_FMULP
  • XED_ICLASS_FNCLEX
  • XED_ICLASS_FNINIT
  • XED_ICLASS_FNOP
  • XED_ICLASS_FNSAVE
  • XED_ICLASS_FNSTCW
  • XED_ICLASS_FNSTENV
  • XED_ICLASS_FNSTSW
  • XED_ICLASS_FPATAN
  • XED_ICLASS_FPREM
  • XED_ICLASS_FPREM1
  • XED_ICLASS_FPTAN
  • XED_ICLASS_FRNDINT
  • XED_ICLASS_FRSTOR
  • XED_ICLASS_FSCALE
  • XED_ICLASS_FSETPM287_NOP
  • XED_ICLASS_FSIN
  • XED_ICLASS_FSINCOS
  • XED_ICLASS_FSQRT
  • XED_ICLASS_FST
  • XED_ICLASS_FSTP
  • XED_ICLASS_FSTPNCE
  • XED_ICLASS_FSUB
  • XED_ICLASS_FSUBP
  • XED_ICLASS_FSUBR
  • XED_ICLASS_FSUBRP
  • XED_ICLASS_FTST
  • XED_ICLASS_FUCOM
  • XED_ICLASS_FUCOMI
  • XED_ICLASS_FUCOMIP
  • XED_ICLASS_FUCOMP
  • XED_ICLASS_FUCOMPP
  • XED_ICLASS_FWAIT
  • XED_ICLASS_FXAM
  • XED_ICLASS_FXCH
  • XED_ICLASS_FXRSTOR
  • XED_ICLASS_FXRSTOR64
  • XED_ICLASS_FXSAVE
  • XED_ICLASS_FXSAVE64
  • XED_ICLASS_FXTRACT
  • XED_ICLASS_FYL2X
  • XED_ICLASS_FYL2XP1
  • XED_ICLASS_GETSEC
  • XED_ICLASS_GF2P8AFFINEINVQB
  • XED_ICLASS_GF2P8AFFINEQB
  • XED_ICLASS_GF2P8MULB
  • XED_ICLASS_HADDPD
  • XED_ICLASS_HADDPS
  • XED_ICLASS_HLT
  • XED_ICLASS_HSUBPD
  • XED_ICLASS_HSUBPS
  • XED_ICLASS_IDIV
  • XED_ICLASS_IMUL
  • XED_ICLASS_IN
  • XED_ICLASS_INC
  • XED_ICLASS_INCSSPD
  • XED_ICLASS_INCSSPQ
  • XED_ICLASS_INC_LOCK
  • XED_ICLASS_INSB
  • XED_ICLASS_INSD
  • XED_ICLASS_INSERTPS
  • XED_ICLASS_INSERTQ
  • XED_ICLASS_INSW
  • XED_ICLASS_INT
  • XED_ICLASS_INT1
  • XED_ICLASS_INT3
  • XED_ICLASS_INTO
  • XED_ICLASS_INVD
  • XED_ICLASS_INVEPT
  • XED_ICLASS_INVLPG
  • XED_ICLASS_INVLPGA
  • XED_ICLASS_INVPCID
  • XED_ICLASS_INVVPID
  • XED_ICLASS_IRET
  • XED_ICLASS_IRETD
  • XED_ICLASS_IRETQ
  • XED_ICLASS_JB
  • XED_ICLASS_JBE
  • XED_ICLASS_JCXZ
  • XED_ICLASS_JECXZ
  • XED_ICLASS_JL
  • XED_ICLASS_JLE
  • XED_ICLASS_JMP
  • XED_ICLASS_JMP_FAR
  • XED_ICLASS_JNB
  • XED_ICLASS_JNBE
  • XED_ICLASS_JNL
  • XED_ICLASS_JNLE
  • XED_ICLASS_JNO
  • XED_ICLASS_JNP
  • XED_ICLASS_JNS
  • XED_ICLASS_JNZ
  • XED_ICLASS_JO
  • XED_ICLASS_JP
  • XED_ICLASS_JRCXZ
  • XED_ICLASS_JS
  • XED_ICLASS_JZ
  • XED_ICLASS_KADDB
  • XED_ICLASS_KADDD
  • XED_ICLASS_KADDQ
  • XED_ICLASS_KADDW
  • XED_ICLASS_KANDB
  • XED_ICLASS_KANDD
  • XED_ICLASS_KANDNB
  • XED_ICLASS_KANDND
  • XED_ICLASS_KANDNQ
  • XED_ICLASS_KANDNW
  • XED_ICLASS_KANDQ
  • XED_ICLASS_KANDW
  • XED_ICLASS_KMOVB
  • XED_ICLASS_KMOVD
  • XED_ICLASS_KMOVQ
  • XED_ICLASS_KMOVW
  • XED_ICLASS_KNOTB
  • XED_ICLASS_KNOTD
  • XED_ICLASS_KNOTQ
  • XED_ICLASS_KNOTW
  • XED_ICLASS_KORB
  • XED_ICLASS_KORD
  • XED_ICLASS_KORQ
  • XED_ICLASS_KORTESTB
  • XED_ICLASS_KORTESTD
  • XED_ICLASS_KORTESTQ
  • XED_ICLASS_KORTESTW
  • XED_ICLASS_KORW
  • XED_ICLASS_KSHIFTLB
  • XED_ICLASS_KSHIFTLD
  • XED_ICLASS_KSHIFTLQ
  • XED_ICLASS_KSHIFTLW
  • XED_ICLASS_KSHIFTRB
  • XED_ICLASS_KSHIFTRD
  • XED_ICLASS_KSHIFTRQ
  • XED_ICLASS_KSHIFTRW
  • XED_ICLASS_KTESTB
  • XED_ICLASS_KTESTD
  • XED_ICLASS_KTESTQ
  • XED_ICLASS_KTESTW
  • XED_ICLASS_KUNPCKBW
  • XED_ICLASS_KUNPCKDQ
  • XED_ICLASS_KUNPCKWD
  • XED_ICLASS_KXNORB
  • XED_ICLASS_KXNORD
  • XED_ICLASS_KXNORQ
  • XED_ICLASS_KXNORW
  • XED_ICLASS_KXORB
  • XED_ICLASS_KXORD
  • XED_ICLASS_KXORQ
  • XED_ICLASS_KXORW
  • XED_ICLASS_LAHF
  • XED_ICLASS_LAR
  • XED_ICLASS_LDDQU
  • XED_ICLASS_LDMXCSR
  • XED_ICLASS_LDS
  • XED_ICLASS_LEA
  • XED_ICLASS_LEAVE
  • XED_ICLASS_LES
  • XED_ICLASS_LFENCE
  • XED_ICLASS_LFS
  • XED_ICLASS_LGDT
  • XED_ICLASS_LGS
  • XED_ICLASS_LIDT
  • XED_ICLASS_LLDT
  • XED_ICLASS_LLWPCB
  • XED_ICLASS_LMSW
  • XED_ICLASS_LODSB
  • XED_ICLASS_LODSD
  • XED_ICLASS_LODSQ
  • XED_ICLASS_LODSW
  • XED_ICLASS_LOOP
  • XED_ICLASS_LOOPE
  • XED_ICLASS_LOOPNE
  • XED_ICLASS_LSL
  • XED_ICLASS_LSS
  • XED_ICLASS_LTR
  • XED_ICLASS_LWPINS
  • XED_ICLASS_LWPVAL
  • XED_ICLASS_LZCNT
  • XED_ICLASS_MASKMOVDQU
  • XED_ICLASS_MASKMOVQ
  • XED_ICLASS_MAXPD
  • XED_ICLASS_MAXPS
  • XED_ICLASS_MAXSD
  • XED_ICLASS_MAXSS
  • XED_ICLASS_MFENCE
  • XED_ICLASS_MINPD
  • XED_ICLASS_MINPS
  • XED_ICLASS_MINSD
  • XED_ICLASS_MINSS
  • XED_ICLASS_MONITOR
  • XED_ICLASS_MONITORX
  • XED_ICLASS_MOV
  • XED_ICLASS_MOVAPD
  • XED_ICLASS_MOVAPS
  • XED_ICLASS_MOVBE
  • XED_ICLASS_MOVD
  • XED_ICLASS_MOVDDUP
  • XED_ICLASS_MOVDIR64B
  • XED_ICLASS_MOVDIRI
  • XED_ICLASS_MOVDQ2Q
  • XED_ICLASS_MOVDQA
  • XED_ICLASS_MOVDQU
  • XED_ICLASS_MOVHLPS
  • XED_ICLASS_MOVHPD
  • XED_ICLASS_MOVHPS
  • XED_ICLASS_MOVLHPS
  • XED_ICLASS_MOVLPD
  • XED_ICLASS_MOVLPS
  • XED_ICLASS_MOVMSKPD
  • XED_ICLASS_MOVMSKPS
  • XED_ICLASS_MOVNTDQ
  • XED_ICLASS_MOVNTDQA
  • XED_ICLASS_MOVNTI
  • XED_ICLASS_MOVNTPD
  • XED_ICLASS_MOVNTPS
  • XED_ICLASS_MOVNTQ
  • XED_ICLASS_MOVNTSD
  • XED_ICLASS_MOVNTSS
  • XED_ICLASS_MOVQ
  • XED_ICLASS_MOVQ2DQ
  • XED_ICLASS_MOVSB
  • XED_ICLASS_MOVSD
  • XED_ICLASS_MOVSD_XMM
  • XED_ICLASS_MOVSHDUP
  • XED_ICLASS_MOVSLDUP
  • XED_ICLASS_MOVSQ
  • XED_ICLASS_MOVSS
  • XED_ICLASS_MOVSW
  • XED_ICLASS_MOVSX
  • XED_ICLASS_MOVSXD
  • XED_ICLASS_MOVUPD
  • XED_ICLASS_MOVUPS
  • XED_ICLASS_MOVZX
  • XED_ICLASS_MOV_CR
  • XED_ICLASS_MOV_DR
  • XED_ICLASS_MPSADBW
  • XED_ICLASS_MUL
  • XED_ICLASS_MULPD
  • XED_ICLASS_MULPS
  • XED_ICLASS_MULSD
  • XED_ICLASS_MULSS
  • XED_ICLASS_MULX
  • XED_ICLASS_MWAIT
  • XED_ICLASS_MWAITX
  • XED_ICLASS_NEG
  • XED_ICLASS_NEG_LOCK
  • XED_ICLASS_NOP
  • XED_ICLASS_NOP2
  • XED_ICLASS_NOP3
  • XED_ICLASS_NOP4
  • XED_ICLASS_NOP5
  • XED_ICLASS_NOP6
  • XED_ICLASS_NOP7
  • XED_ICLASS_NOP8
  • XED_ICLASS_NOP9
  • XED_ICLASS_NOT
  • XED_ICLASS_NOT_LOCK
  • XED_ICLASS_OR
  • XED_ICLASS_ORPD
  • XED_ICLASS_ORPS
  • XED_ICLASS_OR_LOCK
  • XED_ICLASS_OUT
  • XED_ICLASS_OUTSB
  • XED_ICLASS_OUTSD
  • XED_ICLASS_OUTSW
  • XED_ICLASS_PABSB
  • XED_ICLASS_PABSD
  • XED_ICLASS_PABSW
  • XED_ICLASS_PACKSSDW
  • XED_ICLASS_PACKSSWB
  • XED_ICLASS_PACKUSDW
  • XED_ICLASS_PACKUSWB
  • XED_ICLASS_PADDB
  • XED_ICLASS_PADDD
  • XED_ICLASS_PADDQ
  • XED_ICLASS_PADDSB
  • XED_ICLASS_PADDSW
  • XED_ICLASS_PADDUSB
  • XED_ICLASS_PADDUSW
  • XED_ICLASS_PADDW
  • XED_ICLASS_PALIGNR
  • XED_ICLASS_PAND
  • XED_ICLASS_PANDN
  • XED_ICLASS_PAUSE
  • XED_ICLASS_PAVGB
  • XED_ICLASS_PAVGUSB
  • XED_ICLASS_PAVGW
  • XED_ICLASS_PBLENDVB
  • XED_ICLASS_PBLENDW
  • XED_ICLASS_PCLMULQDQ
  • XED_ICLASS_PCMPEQB
  • XED_ICLASS_PCMPEQD
  • XED_ICLASS_PCMPEQQ
  • XED_ICLASS_PCMPEQW
  • XED_ICLASS_PCMPESTRI
  • XED_ICLASS_PCMPESTRM
  • XED_ICLASS_PCMPGTB
  • XED_ICLASS_PCMPGTD
  • XED_ICLASS_PCMPGTQ
  • XED_ICLASS_PCMPGTW
  • XED_ICLASS_PCMPISTRI
  • XED_ICLASS_PCMPISTRM
  • XED_ICLASS_PCONFIG
  • XED_ICLASS_PDEP
  • XED_ICLASS_PEXT
  • XED_ICLASS_PEXTRB
  • XED_ICLASS_PEXTRD
  • XED_ICLASS_PEXTRQ
  • XED_ICLASS_PEXTRW
  • XED_ICLASS_PEXTRW_SSE4
  • XED_ICLASS_PF2ID
  • XED_ICLASS_PF2IW
  • XED_ICLASS_PFACC
  • XED_ICLASS_PFADD
  • XED_ICLASS_PFCMPEQ
  • XED_ICLASS_PFCMPGE
  • XED_ICLASS_PFCMPGT
  • XED_ICLASS_PFCPIT1
  • XED_ICLASS_PFMAX
  • XED_ICLASS_PFMIN
  • XED_ICLASS_PFMUL
  • XED_ICLASS_PFNACC
  • XED_ICLASS_PFPNACC
  • XED_ICLASS_PFRCP
  • XED_ICLASS_PFRCPIT2
  • XED_ICLASS_PFRSQIT1
  • XED_ICLASS_PFSQRT
  • XED_ICLASS_PFSUB
  • XED_ICLASS_PFSUBR
  • XED_ICLASS_PHADDD
  • XED_ICLASS_PHADDSW
  • XED_ICLASS_PHADDW
  • XED_ICLASS_PHMINPOSUW
  • XED_ICLASS_PHSUBD
  • XED_ICLASS_PHSUBSW
  • XED_ICLASS_PHSUBW
  • XED_ICLASS_PI2FD
  • XED_ICLASS_PI2FW
  • XED_ICLASS_PINSRB
  • XED_ICLASS_PINSRD
  • XED_ICLASS_PINSRQ
  • XED_ICLASS_PINSRW
  • XED_ICLASS_PMADDUBSW
  • XED_ICLASS_PMADDWD
  • XED_ICLASS_PMAXSB
  • XED_ICLASS_PMAXSD
  • XED_ICLASS_PMAXSW
  • XED_ICLASS_PMAXUB
  • XED_ICLASS_PMAXUD
  • XED_ICLASS_PMAXUW
  • XED_ICLASS_PMINSB
  • XED_ICLASS_PMINSD
  • XED_ICLASS_PMINSW
  • XED_ICLASS_PMINUB
  • XED_ICLASS_PMINUD
  • XED_ICLASS_PMINUW
  • XED_ICLASS_PMOVMSKB
  • XED_ICLASS_PMOVSXBD
  • XED_ICLASS_PMOVSXBQ
  • XED_ICLASS_PMOVSXBW
  • XED_ICLASS_PMOVSXDQ
  • XED_ICLASS_PMOVSXWD
  • XED_ICLASS_PMOVSXWQ
  • XED_ICLASS_PMOVZXBD
  • XED_ICLASS_PMOVZXBQ
  • XED_ICLASS_PMOVZXBW
  • XED_ICLASS_PMOVZXDQ
  • XED_ICLASS_PMOVZXWD
  • XED_ICLASS_PMOVZXWQ
  • XED_ICLASS_PMULDQ
  • XED_ICLASS_PMULHRSW
  • XED_ICLASS_PMULHRW
  • XED_ICLASS_PMULHUW
  • XED_ICLASS_PMULHW
  • XED_ICLASS_PMULLD
  • XED_ICLASS_PMULLW
  • XED_ICLASS_PMULUDQ
  • XED_ICLASS_POP
  • XED_ICLASS_POPA
  • XED_ICLASS_POPAD
  • XED_ICLASS_POPCNT
  • XED_ICLASS_POPF
  • XED_ICLASS_POPFD
  • XED_ICLASS_POPFQ
  • XED_ICLASS_POR
  • XED_ICLASS_PREFETCHNTA
  • XED_ICLASS_PREFETCHT0
  • XED_ICLASS_PREFETCHT1
  • XED_ICLASS_PREFETCHT2
  • XED_ICLASS_PREFETCHW
  • XED_ICLASS_PREFETCHWT1
  • XED_ICLASS_PREFETCH_EXCLUSIVE
  • XED_ICLASS_PREFETCH_RESERVED
  • XED_ICLASS_PSADBW
  • XED_ICLASS_PSHUFB
  • XED_ICLASS_PSHUFD
  • XED_ICLASS_PSHUFHW
  • XED_ICLASS_PSHUFLW
  • XED_ICLASS_PSHUFW
  • XED_ICLASS_PSIGNB
  • XED_ICLASS_PSIGND
  • XED_ICLASS_PSIGNW
  • XED_ICLASS_PSLLD
  • XED_ICLASS_PSLLDQ
  • XED_ICLASS_PSLLQ
  • XED_ICLASS_PSLLW
  • XED_ICLASS_PSRAD
  • XED_ICLASS_PSRAW
  • XED_ICLASS_PSRLD
  • XED_ICLASS_PSRLDQ
  • XED_ICLASS_PSRLQ
  • XED_ICLASS_PSRLW
  • XED_ICLASS_PSUBB
  • XED_ICLASS_PSUBD
  • XED_ICLASS_PSUBQ
  • XED_ICLASS_PSUBSB
  • XED_ICLASS_PSUBSW
  • XED_ICLASS_PSUBUSB
  • XED_ICLASS_PSUBUSW
  • XED_ICLASS_PSUBW
  • XED_ICLASS_PSWAPD
  • XED_ICLASS_PTEST
  • XED_ICLASS_PTWRITE
  • XED_ICLASS_PUNPCKHBW
  • XED_ICLASS_PUNPCKHDQ
  • XED_ICLASS_PUNPCKHQDQ
  • XED_ICLASS_PUNPCKHWD
  • XED_ICLASS_PUNPCKLBW
  • XED_ICLASS_PUNPCKLDQ
  • XED_ICLASS_PUNPCKLQDQ
  • XED_ICLASS_PUNPCKLWD
  • XED_ICLASS_PUSH
  • XED_ICLASS_PUSHA
  • XED_ICLASS_PUSHAD
  • XED_ICLASS_PUSHF
  • XED_ICLASS_PUSHFD
  • XED_ICLASS_PUSHFQ
  • XED_ICLASS_PXOR
  • XED_ICLASS_RCL
  • XED_ICLASS_RCPPS
  • XED_ICLASS_RCPSS
  • XED_ICLASS_RCR
  • XED_ICLASS_RDFSBASE
  • XED_ICLASS_RDGSBASE
  • XED_ICLASS_RDMSR
  • XED_ICLASS_RDPID
  • XED_ICLASS_RDPKRU
  • XED_ICLASS_RDPMC
  • XED_ICLASS_RDRAND
  • XED_ICLASS_RDSEED
  • XED_ICLASS_RDSSPD
  • XED_ICLASS_RDSSPQ
  • XED_ICLASS_RDTSC
  • XED_ICLASS_RDTSCP
  • XED_ICLASS_REPE_CMPSB
  • XED_ICLASS_REPE_CMPSD
  • XED_ICLASS_REPE_CMPSQ
  • XED_ICLASS_REPE_CMPSW
  • XED_ICLASS_REPE_SCASB
  • XED_ICLASS_REPE_SCASD
  • XED_ICLASS_REPE_SCASQ
  • XED_ICLASS_REPE_SCASW
  • XED_ICLASS_REPNE_CMPSB
  • XED_ICLASS_REPNE_CMPSD
  • XED_ICLASS_REPNE_CMPSQ
  • XED_ICLASS_REPNE_CMPSW
  • XED_ICLASS_REPNE_SCASB
  • XED_ICLASS_REPNE_SCASD
  • XED_ICLASS_REPNE_SCASQ
  • XED_ICLASS_REPNE_SCASW
  • XED_ICLASS_REP_INSB
  • XED_ICLASS_REP_INSD
  • XED_ICLASS_REP_INSW
  • XED_ICLASS_REP_LODSB
  • XED_ICLASS_REP_LODSD
  • XED_ICLASS_REP_LODSQ
  • XED_ICLASS_REP_LODSW
  • XED_ICLASS_REP_MOVSB
  • XED_ICLASS_REP_MOVSD
  • XED_ICLASS_REP_MOVSQ
  • XED_ICLASS_REP_MOVSW
  • XED_ICLASS_REP_OUTSB
  • XED_ICLASS_REP_OUTSD
  • XED_ICLASS_REP_OUTSW
  • XED_ICLASS_REP_STOSB
  • XED_ICLASS_REP_STOSD
  • XED_ICLASS_REP_STOSQ
  • XED_ICLASS_REP_STOSW
  • XED_ICLASS_RET_FAR
  • XED_ICLASS_RET_NEAR
  • XED_ICLASS_ROL
  • XED_ICLASS_ROR
  • XED_ICLASS_RORX
  • XED_ICLASS_ROUNDPD
  • XED_ICLASS_ROUNDPS
  • XED_ICLASS_ROUNDSD
  • XED_ICLASS_ROUNDSS
  • XED_ICLASS_RSM
  • XED_ICLASS_RSQRTPS
  • XED_ICLASS_RSQRTSS
  • XED_ICLASS_RSTORSSP
  • XED_ICLASS_SAHF
  • XED_ICLASS_SALC
  • XED_ICLASS_SAR
  • XED_ICLASS_SARX
  • XED_ICLASS_SAVEPREVSSP
  • XED_ICLASS_SBB
  • XED_ICLASS_SBB_LOCK
  • XED_ICLASS_SCASB
  • XED_ICLASS_SCASD
  • XED_ICLASS_SCASQ
  • XED_ICLASS_SCASW
  • XED_ICLASS_SETB
  • XED_ICLASS_SETBE
  • XED_ICLASS_SETL
  • XED_ICLASS_SETLE
  • XED_ICLASS_SETNB
  • XED_ICLASS_SETNBE
  • XED_ICLASS_SETNL
  • XED_ICLASS_SETNLE
  • XED_ICLASS_SETNO
  • XED_ICLASS_SETNP
  • XED_ICLASS_SETNS
  • XED_ICLASS_SETNZ
  • XED_ICLASS_SETO
  • XED_ICLASS_SETP
  • XED_ICLASS_SETS
  • XED_ICLASS_SETSSBSY
  • XED_ICLASS_SETZ
  • XED_ICLASS_SFENCE
  • XED_ICLASS_SGDT
  • XED_ICLASS_SHA1MSG1
  • XED_ICLASS_SHA1MSG2
  • XED_ICLASS_SHA1NEXTE
  • XED_ICLASS_SHA1RNDS4
  • XED_ICLASS_SHA256MSG1
  • XED_ICLASS_SHA256MSG2
  • XED_ICLASS_SHA256RNDS2
  • XED_ICLASS_SHL
  • XED_ICLASS_SHLD
  • XED_ICLASS_SHLX
  • XED_ICLASS_SHR
  • XED_ICLASS_SHRD
  • XED_ICLASS_SHRX
  • XED_ICLASS_SHUFPD
  • XED_ICLASS_SHUFPS
  • XED_ICLASS_SIDT
  • XED_ICLASS_SKINIT
  • XED_ICLASS_SLDT
  • XED_ICLASS_SLWPCB
  • XED_ICLASS_SMSW
  • XED_ICLASS_SQRTPD
  • XED_ICLASS_SQRTPS
  • XED_ICLASS_SQRTSD
  • XED_ICLASS_SQRTSS
  • XED_ICLASS_STAC
  • XED_ICLASS_STC
  • XED_ICLASS_STD
  • XED_ICLASS_STGI
  • XED_ICLASS_STI
  • XED_ICLASS_STMXCSR
  • XED_ICLASS_STOSB
  • XED_ICLASS_STOSD
  • XED_ICLASS_STOSQ
  • XED_ICLASS_STOSW
  • XED_ICLASS_STR
  • XED_ICLASS_SUB
  • XED_ICLASS_SUBPD
  • XED_ICLASS_SUBPS
  • XED_ICLASS_SUBSD
  • XED_ICLASS_SUBSS
  • XED_ICLASS_SUB_LOCK
  • XED_ICLASS_SWAPGS
  • XED_ICLASS_SYSCALL
  • XED_ICLASS_SYSCALL_AMD
  • XED_ICLASS_SYSENTER
  • XED_ICLASS_SYSEXIT
  • XED_ICLASS_SYSRET
  • XED_ICLASS_SYSRET_AMD
  • XED_ICLASS_T1MSKC
  • XED_ICLASS_TEST
  • XED_ICLASS_TPAUSE
  • XED_ICLASS_TZCNT
  • XED_ICLASS_TZMSK
  • XED_ICLASS_UCOMISD
  • XED_ICLASS_UCOMISS
  • XED_ICLASS_UD0
  • XED_ICLASS_UD1
  • XED_ICLASS_UD2
  • XED_ICLASS_UMONITOR
  • XED_ICLASS_UMWAIT
  • XED_ICLASS_UNPCKHPD
  • XED_ICLASS_UNPCKHPS
  • XED_ICLASS_UNPCKLPD
  • XED_ICLASS_UNPCKLPS
  • XED_ICLASS_V4FMADDPS
  • XED_ICLASS_V4FMADDSS
  • XED_ICLASS_V4FNMADDPS
  • XED_ICLASS_V4FNMADDSS
  • XED_ICLASS_VADDPD
  • XED_ICLASS_VADDPS
  • XED_ICLASS_VADDSD
  • XED_ICLASS_VADDSS
  • XED_ICLASS_VADDSUBPD
  • XED_ICLASS_VADDSUBPS
  • XED_ICLASS_VAESDEC
  • XED_ICLASS_VAESDECLAST
  • XED_ICLASS_VAESENC
  • XED_ICLASS_VAESENCLAST
  • XED_ICLASS_VAESIMC
  • XED_ICLASS_VAESKEYGENASSIST
  • XED_ICLASS_VALIGND
  • XED_ICLASS_VALIGNQ
  • XED_ICLASS_VANDNPD
  • XED_ICLASS_VANDNPS
  • XED_ICLASS_VANDPD
  • XED_ICLASS_VANDPS
  • XED_ICLASS_VBLENDMPD
  • XED_ICLASS_VBLENDMPS
  • XED_ICLASS_VBLENDPD
  • XED_ICLASS_VBLENDPS
  • XED_ICLASS_VBLENDVPD
  • XED_ICLASS_VBLENDVPS
  • XED_ICLASS_VBROADCASTF128
  • XED_ICLASS_VBROADCASTF32X2
  • XED_ICLASS_VBROADCASTF32X4
  • XED_ICLASS_VBROADCASTF32X8
  • XED_ICLASS_VBROADCASTF64X2
  • XED_ICLASS_VBROADCASTF64X4
  • XED_ICLASS_VBROADCASTI128
  • XED_ICLASS_VBROADCASTI32X2
  • XED_ICLASS_VBROADCASTI32X4
  • XED_ICLASS_VBROADCASTI32X8
  • XED_ICLASS_VBROADCASTI64X2
  • XED_ICLASS_VBROADCASTI64X4
  • XED_ICLASS_VBROADCASTSD
  • XED_ICLASS_VBROADCASTSS
  • XED_ICLASS_VCMPPD
  • XED_ICLASS_VCMPPS
  • XED_ICLASS_VCMPSD
  • XED_ICLASS_VCMPSS
  • XED_ICLASS_VCOMISD
  • XED_ICLASS_VCOMISS
  • XED_ICLASS_VCOMPRESSPD
  • XED_ICLASS_VCOMPRESSPS
  • XED_ICLASS_VCVTDQ2PD
  • XED_ICLASS_VCVTDQ2PS
  • XED_ICLASS_VCVTPD2DQ
  • XED_ICLASS_VCVTPD2PS
  • XED_ICLASS_VCVTPD2QQ
  • XED_ICLASS_VCVTPD2UDQ
  • XED_ICLASS_VCVTPD2UQQ
  • XED_ICLASS_VCVTPH2PS
  • XED_ICLASS_VCVTPS2DQ
  • XED_ICLASS_VCVTPS2PD
  • XED_ICLASS_VCVTPS2PH
  • XED_ICLASS_VCVTPS2QQ
  • XED_ICLASS_VCVTPS2UDQ
  • XED_ICLASS_VCVTPS2UQQ
  • XED_ICLASS_VCVTQQ2PD
  • XED_ICLASS_VCVTQQ2PS
  • XED_ICLASS_VCVTSD2SI
  • XED_ICLASS_VCVTSD2SS
  • XED_ICLASS_VCVTSD2USI
  • XED_ICLASS_VCVTSI2SD
  • XED_ICLASS_VCVTSI2SS
  • XED_ICLASS_VCVTSS2SD
  • XED_ICLASS_VCVTSS2SI
  • XED_ICLASS_VCVTSS2USI
  • XED_ICLASS_VCVTTPD2DQ
  • XED_ICLASS_VCVTTPD2QQ
  • XED_ICLASS_VCVTTPD2UDQ
  • XED_ICLASS_VCVTTPD2UQQ
  • XED_ICLASS_VCVTTPS2DQ
  • XED_ICLASS_VCVTTPS2QQ
  • XED_ICLASS_VCVTTPS2UDQ
  • XED_ICLASS_VCVTTPS2UQQ
  • XED_ICLASS_VCVTTSD2SI
  • XED_ICLASS_VCVTTSD2USI
  • XED_ICLASS_VCVTTSS2SI
  • XED_ICLASS_VCVTTSS2USI
  • XED_ICLASS_VCVTUDQ2PD
  • XED_ICLASS_VCVTUDQ2PS
  • XED_ICLASS_VCVTUQQ2PD
  • XED_ICLASS_VCVTUQQ2PS
  • XED_ICLASS_VCVTUSI2SD
  • XED_ICLASS_VCVTUSI2SS
  • XED_ICLASS_VDBPSADBW
  • XED_ICLASS_VDIVPD
  • XED_ICLASS_VDIVPS
  • XED_ICLASS_VDIVSD
  • XED_ICLASS_VDIVSS
  • XED_ICLASS_VDPPD
  • XED_ICLASS_VDPPS
  • XED_ICLASS_VERR
  • XED_ICLASS_VERW
  • XED_ICLASS_VEXP2PD
  • XED_ICLASS_VEXP2PS
  • XED_ICLASS_VEXPANDPD
  • XED_ICLASS_VEXPANDPS
  • XED_ICLASS_VEXTRACTF128
  • XED_ICLASS_VEXTRACTF32X4
  • XED_ICLASS_VEXTRACTF32X8
  • XED_ICLASS_VEXTRACTF64X2
  • XED_ICLASS_VEXTRACTF64X4
  • XED_ICLASS_VEXTRACTI128
  • XED_ICLASS_VEXTRACTI32X4
  • XED_ICLASS_VEXTRACTI32X8
  • XED_ICLASS_VEXTRACTI64X2
  • XED_ICLASS_VEXTRACTI64X4
  • XED_ICLASS_VEXTRACTPS
  • XED_ICLASS_VFIXUPIMMPD
  • XED_ICLASS_VFIXUPIMMPS
  • XED_ICLASS_VFIXUPIMMSD
  • XED_ICLASS_VFIXUPIMMSS
  • XED_ICLASS_VFMADD132PD
  • XED_ICLASS_VFMADD132PS
  • XED_ICLASS_VFMADD132SD
  • XED_ICLASS_VFMADD132SS
  • XED_ICLASS_VFMADD213PD
  • XED_ICLASS_VFMADD213PS
  • XED_ICLASS_VFMADD213SD
  • XED_ICLASS_VFMADD213SS
  • XED_ICLASS_VFMADD231PD
  • XED_ICLASS_VFMADD231PS
  • XED_ICLASS_VFMADD231SD
  • XED_ICLASS_VFMADD231SS
  • XED_ICLASS_VFMADDPD
  • XED_ICLASS_VFMADDPS
  • XED_ICLASS_VFMADDSD
  • XED_ICLASS_VFMADDSS
  • XED_ICLASS_VFMADDSUB132PD
  • XED_ICLASS_VFMADDSUB132PS
  • XED_ICLASS_VFMADDSUB213PD
  • XED_ICLASS_VFMADDSUB213PS
  • XED_ICLASS_VFMADDSUB231PD
  • XED_ICLASS_VFMADDSUB231PS
  • XED_ICLASS_VFMADDSUBPD
  • XED_ICLASS_VFMADDSUBPS
  • XED_ICLASS_VFMSUB132PD
  • XED_ICLASS_VFMSUB132PS
  • XED_ICLASS_VFMSUB132SD
  • XED_ICLASS_VFMSUB132SS
  • XED_ICLASS_VFMSUB213PD
  • XED_ICLASS_VFMSUB213PS
  • XED_ICLASS_VFMSUB213SD
  • XED_ICLASS_VFMSUB213SS
  • XED_ICLASS_VFMSUB231PD
  • XED_ICLASS_VFMSUB231PS
  • XED_ICLASS_VFMSUB231SD
  • XED_ICLASS_VFMSUB231SS
  • XED_ICLASS_VFMSUBADD132PD
  • XED_ICLASS_VFMSUBADD132PS
  • XED_ICLASS_VFMSUBADD213PD
  • XED_ICLASS_VFMSUBADD213PS
  • XED_ICLASS_VFMSUBADD231PD
  • XED_ICLASS_VFMSUBADD231PS
  • XED_ICLASS_VFMSUBADDPD
  • XED_ICLASS_VFMSUBADDPS
  • XED_ICLASS_VFMSUBPD
  • XED_ICLASS_VFMSUBPS
  • XED_ICLASS_VFMSUBSD
  • XED_ICLASS_VFMSUBSS
  • XED_ICLASS_VFNMADD132PD
  • XED_ICLASS_VFNMADD132PS
  • XED_ICLASS_VFNMADD132SD
  • XED_ICLASS_VFNMADD132SS
  • XED_ICLASS_VFNMADD213PD
  • XED_ICLASS_VFNMADD213PS
  • XED_ICLASS_VFNMADD213SD
  • XED_ICLASS_VFNMADD213SS
  • XED_ICLASS_VFNMADD231PD
  • XED_ICLASS_VFNMADD231PS
  • XED_ICLASS_VFNMADD231SD
  • XED_ICLASS_VFNMADD231SS
  • XED_ICLASS_VFNMADDPD
  • XED_ICLASS_VFNMADDPS
  • XED_ICLASS_VFNMADDSD
  • XED_ICLASS_VFNMADDSS
  • XED_ICLASS_VFNMSUB132PD
  • XED_ICLASS_VFNMSUB132PS
  • XED_ICLASS_VFNMSUB132SD
  • XED_ICLASS_VFNMSUB132SS
  • XED_ICLASS_VFNMSUB213PD
  • XED_ICLASS_VFNMSUB213PS
  • XED_ICLASS_VFNMSUB213SD
  • XED_ICLASS_VFNMSUB213SS
  • XED_ICLASS_VFNMSUB231PD
  • XED_ICLASS_VFNMSUB231PS
  • XED_ICLASS_VFNMSUB231SD
  • XED_ICLASS_VFNMSUB231SS
  • XED_ICLASS_VFNMSUBPD
  • XED_ICLASS_VFNMSUBPS
  • XED_ICLASS_VFNMSUBSD
  • XED_ICLASS_VFNMSUBSS
  • XED_ICLASS_VFPCLASSPD
  • XED_ICLASS_VFPCLASSPS
  • XED_ICLASS_VFPCLASSSD
  • XED_ICLASS_VFPCLASSSS
  • XED_ICLASS_VFRCZPD
  • XED_ICLASS_VFRCZPS
  • XED_ICLASS_VFRCZSD
  • XED_ICLASS_VFRCZSS
  • XED_ICLASS_VGATHERDPD
  • XED_ICLASS_VGATHERDPS
  • XED_ICLASS_VGATHERPF0DPD
  • XED_ICLASS_VGATHERPF0DPS
  • XED_ICLASS_VGATHERPF0QPD
  • XED_ICLASS_VGATHERPF0QPS
  • XED_ICLASS_VGATHERPF1DPD
  • XED_ICLASS_VGATHERPF1DPS
  • XED_ICLASS_VGATHERPF1QPD
  • XED_ICLASS_VGATHERPF1QPS
  • XED_ICLASS_VGATHERQPD
  • XED_ICLASS_VGATHERQPS
  • XED_ICLASS_VGETEXPPD
  • XED_ICLASS_VGETEXPPS
  • XED_ICLASS_VGETEXPSD
  • XED_ICLASS_VGETEXPSS
  • XED_ICLASS_VGETMANTPD
  • XED_ICLASS_VGETMANTPS
  • XED_ICLASS_VGETMANTSD
  • XED_ICLASS_VGETMANTSS
  • XED_ICLASS_VGF2P8AFFINEINVQB
  • XED_ICLASS_VGF2P8AFFINEQB
  • XED_ICLASS_VGF2P8MULB
  • XED_ICLASS_VHADDPD
  • XED_ICLASS_VHADDPS
  • XED_ICLASS_VHSUBPD
  • XED_ICLASS_VHSUBPS
  • XED_ICLASS_VINSERTF128
  • XED_ICLASS_VINSERTF32X4
  • XED_ICLASS_VINSERTF32X8
  • XED_ICLASS_VINSERTF64X2
  • XED_ICLASS_VINSERTF64X4
  • XED_ICLASS_VINSERTI128
  • XED_ICLASS_VINSERTI32X4
  • XED_ICLASS_VINSERTI32X8
  • XED_ICLASS_VINSERTI64X2
  • XED_ICLASS_VINSERTI64X4
  • XED_ICLASS_VINSERTPS
  • XED_ICLASS_VLDDQU
  • XED_ICLASS_VLDMXCSR
  • XED_ICLASS_VMASKMOVDQU
  • XED_ICLASS_VMASKMOVPD
  • XED_ICLASS_VMASKMOVPS
  • XED_ICLASS_VMAXPD
  • XED_ICLASS_VMAXPS
  • XED_ICLASS_VMAXSD
  • XED_ICLASS_VMAXSS
  • XED_ICLASS_VMCALL
  • XED_ICLASS_VMCLEAR
  • XED_ICLASS_VMFUNC
  • XED_ICLASS_VMINPD
  • XED_ICLASS_VMINPS
  • XED_ICLASS_VMINSD
  • XED_ICLASS_VMINSS
  • XED_ICLASS_VMLAUNCH
  • XED_ICLASS_VMLOAD
  • XED_ICLASS_VMMCALL
  • XED_ICLASS_VMOVAPD
  • XED_ICLASS_VMOVAPS
  • XED_ICLASS_VMOVD
  • XED_ICLASS_VMOVDDUP
  • XED_ICLASS_VMOVDQA
  • XED_ICLASS_VMOVDQA32
  • XED_ICLASS_VMOVDQA64
  • XED_ICLASS_VMOVDQU
  • XED_ICLASS_VMOVDQU16
  • XED_ICLASS_VMOVDQU32
  • XED_ICLASS_VMOVDQU64
  • XED_ICLASS_VMOVDQU8
  • XED_ICLASS_VMOVHLPS
  • XED_ICLASS_VMOVHPD
  • XED_ICLASS_VMOVHPS
  • XED_ICLASS_VMOVLHPS
  • XED_ICLASS_VMOVLPD
  • XED_ICLASS_VMOVLPS
  • XED_ICLASS_VMOVMSKPD
  • XED_ICLASS_VMOVMSKPS
  • XED_ICLASS_VMOVNTDQ
  • XED_ICLASS_VMOVNTDQA
  • XED_ICLASS_VMOVNTPD
  • XED_ICLASS_VMOVNTPS
  • XED_ICLASS_VMOVQ
  • XED_ICLASS_VMOVSD
  • XED_ICLASS_VMOVSHDUP
  • XED_ICLASS_VMOVSLDUP
  • XED_ICLASS_VMOVSS
  • XED_ICLASS_VMOVUPD
  • XED_ICLASS_VMOVUPS
  • XED_ICLASS_VMPSADBW
  • XED_ICLASS_VMPTRLD
  • XED_ICLASS_VMPTRST
  • XED_ICLASS_VMREAD
  • XED_ICLASS_VMRESUME
  • XED_ICLASS_VMRUN
  • XED_ICLASS_VMSAVE
  • XED_ICLASS_VMULPD
  • XED_ICLASS_VMULPS
  • XED_ICLASS_VMULSD
  • XED_ICLASS_VMULSS
  • XED_ICLASS_VMWRITE
  • XED_ICLASS_VMXOFF
  • XED_ICLASS_VMXON
  • XED_ICLASS_VORPD
  • XED_ICLASS_VORPS
  • XED_ICLASS_VP4DPWSSD
  • XED_ICLASS_VP4DPWSSDS
  • XED_ICLASS_VPABSB
  • XED_ICLASS_VPABSD
  • XED_ICLASS_VPABSQ
  • XED_ICLASS_VPABSW
  • XED_ICLASS_VPACKSSDW
  • XED_ICLASS_VPACKSSWB
  • XED_ICLASS_VPACKUSDW
  • XED_ICLASS_VPACKUSWB
  • XED_ICLASS_VPADDB
  • XED_ICLASS_VPADDD
  • XED_ICLASS_VPADDQ
  • XED_ICLASS_VPADDSB
  • XED_ICLASS_VPADDSW
  • XED_ICLASS_VPADDUSB
  • XED_ICLASS_VPADDUSW
  • XED_ICLASS_VPADDW
  • XED_ICLASS_VPALIGNR
  • XED_ICLASS_VPAND
  • XED_ICLASS_VPANDD
  • XED_ICLASS_VPANDN
  • XED_ICLASS_VPANDND
  • XED_ICLASS_VPANDNQ
  • XED_ICLASS_VPANDQ
  • XED_ICLASS_VPAVGB
  • XED_ICLASS_VPAVGW
  • XED_ICLASS_VPBLENDD
  • XED_ICLASS_VPBLENDMB
  • XED_ICLASS_VPBLENDMD
  • XED_ICLASS_VPBLENDMQ
  • XED_ICLASS_VPBLENDMW
  • XED_ICLASS_VPBLENDVB
  • XED_ICLASS_VPBLENDW
  • XED_ICLASS_VPBROADCASTB
  • XED_ICLASS_VPBROADCASTD
  • XED_ICLASS_VPBROADCASTMB2Q
  • XED_ICLASS_VPBROADCASTMW2D
  • XED_ICLASS_VPBROADCASTQ
  • XED_ICLASS_VPBROADCASTW
  • XED_ICLASS_VPCLMULQDQ
  • XED_ICLASS_VPCMOV
  • XED_ICLASS_VPCMPB
  • XED_ICLASS_VPCMPD
  • XED_ICLASS_VPCMPEQB
  • XED_ICLASS_VPCMPEQD
  • XED_ICLASS_VPCMPEQQ
  • XED_ICLASS_VPCMPEQW
  • XED_ICLASS_VPCMPESTRI
  • XED_ICLASS_VPCMPESTRM
  • XED_ICLASS_VPCMPGTB
  • XED_ICLASS_VPCMPGTD
  • XED_ICLASS_VPCMPGTQ
  • XED_ICLASS_VPCMPGTW
  • XED_ICLASS_VPCMPISTRI
  • XED_ICLASS_VPCMPISTRM
  • XED_ICLASS_VPCMPQ
  • XED_ICLASS_VPCMPUB
  • XED_ICLASS_VPCMPUD
  • XED_ICLASS_VPCMPUQ
  • XED_ICLASS_VPCMPUW
  • XED_ICLASS_VPCMPW
  • XED_ICLASS_VPCOMB
  • XED_ICLASS_VPCOMD
  • XED_ICLASS_VPCOMPRESSB
  • XED_ICLASS_VPCOMPRESSD
  • XED_ICLASS_VPCOMPRESSQ
  • XED_ICLASS_VPCOMPRESSW
  • XED_ICLASS_VPCOMQ
  • XED_ICLASS_VPCOMUB
  • XED_ICLASS_VPCOMUD
  • XED_ICLASS_VPCOMUQ
  • XED_ICLASS_VPCOMUW
  • XED_ICLASS_VPCOMW
  • XED_ICLASS_VPCONFLICTD
  • XED_ICLASS_VPCONFLICTQ
  • XED_ICLASS_VPDPBUSD
  • XED_ICLASS_VPDPBUSDS
  • XED_ICLASS_VPDPWSSD
  • XED_ICLASS_VPDPWSSDS
  • XED_ICLASS_VPERM2F128
  • XED_ICLASS_VPERM2I128
  • XED_ICLASS_VPERMB
  • XED_ICLASS_VPERMD
  • XED_ICLASS_VPERMI2B
  • XED_ICLASS_VPERMI2D
  • XED_ICLASS_VPERMI2PD
  • XED_ICLASS_VPERMI2PS
  • XED_ICLASS_VPERMI2Q
  • XED_ICLASS_VPERMI2W
  • XED_ICLASS_VPERMIL2PD
  • XED_ICLASS_VPERMIL2PS
  • XED_ICLASS_VPERMILPD
  • XED_ICLASS_VPERMILPS
  • XED_ICLASS_VPERMPD
  • XED_ICLASS_VPERMPS
  • XED_ICLASS_VPERMQ
  • XED_ICLASS_VPERMT2B
  • XED_ICLASS_VPERMT2D
  • XED_ICLASS_VPERMT2PD
  • XED_ICLASS_VPERMT2PS
  • XED_ICLASS_VPERMT2Q
  • XED_ICLASS_VPERMT2W
  • XED_ICLASS_VPERMW
  • XED_ICLASS_VPEXPANDB
  • XED_ICLASS_VPEXPANDD
  • XED_ICLASS_VPEXPANDQ
  • XED_ICLASS_VPEXPANDW
  • XED_ICLASS_VPEXTRB
  • XED_ICLASS_VPEXTRD
  • XED_ICLASS_VPEXTRQ
  • XED_ICLASS_VPEXTRW
  • XED_ICLASS_VPEXTRW_C5
  • XED_ICLASS_VPGATHERDD
  • XED_ICLASS_VPGATHERDQ
  • XED_ICLASS_VPGATHERQD
  • XED_ICLASS_VPGATHERQQ
  • XED_ICLASS_VPHADDBD
  • XED_ICLASS_VPHADDBQ
  • XED_ICLASS_VPHADDBW
  • XED_ICLASS_VPHADDD
  • XED_ICLASS_VPHADDDQ
  • XED_ICLASS_VPHADDSW
  • XED_ICLASS_VPHADDUBD
  • XED_ICLASS_VPHADDUBQ
  • XED_ICLASS_VPHADDUBW
  • XED_ICLASS_VPHADDUDQ
  • XED_ICLASS_VPHADDUWD
  • XED_ICLASS_VPHADDUWQ
  • XED_ICLASS_VPHADDW
  • XED_ICLASS_VPHADDWD
  • XED_ICLASS_VPHADDWQ
  • XED_ICLASS_VPHMINPOSUW
  • XED_ICLASS_VPHSUBBW
  • XED_ICLASS_VPHSUBD
  • XED_ICLASS_VPHSUBDQ
  • XED_ICLASS_VPHSUBSW
  • XED_ICLASS_VPHSUBW
  • XED_ICLASS_VPHSUBWD
  • XED_ICLASS_VPINSRB
  • XED_ICLASS_VPINSRD
  • XED_ICLASS_VPINSRQ
  • XED_ICLASS_VPINSRW
  • XED_ICLASS_VPLZCNTD
  • XED_ICLASS_VPLZCNTQ
  • XED_ICLASS_VPMACSDD
  • XED_ICLASS_VPMACSDQH
  • XED_ICLASS_VPMACSDQL
  • XED_ICLASS_VPMACSSDD
  • XED_ICLASS_VPMACSSDQH
  • XED_ICLASS_VPMACSSDQL
  • XED_ICLASS_VPMACSSWD
  • XED_ICLASS_VPMACSSWW
  • XED_ICLASS_VPMACSWD
  • XED_ICLASS_VPMACSWW
  • XED_ICLASS_VPMADCSSWD
  • XED_ICLASS_VPMADCSWD
  • XED_ICLASS_VPMADD52HUQ
  • XED_ICLASS_VPMADD52LUQ
  • XED_ICLASS_VPMADDUBSW
  • XED_ICLASS_VPMADDWD
  • XED_ICLASS_VPMASKMOVD
  • XED_ICLASS_VPMASKMOVQ
  • XED_ICLASS_VPMAXSB
  • XED_ICLASS_VPMAXSD
  • XED_ICLASS_VPMAXSQ
  • XED_ICLASS_VPMAXSW
  • XED_ICLASS_VPMAXUB
  • XED_ICLASS_VPMAXUD
  • XED_ICLASS_VPMAXUQ
  • XED_ICLASS_VPMAXUW
  • XED_ICLASS_VPMINSB
  • XED_ICLASS_VPMINSD
  • XED_ICLASS_VPMINSQ
  • XED_ICLASS_VPMINSW
  • XED_ICLASS_VPMINUB
  • XED_ICLASS_VPMINUD
  • XED_ICLASS_VPMINUQ
  • XED_ICLASS_VPMINUW
  • XED_ICLASS_VPMOVB2M
  • XED_ICLASS_VPMOVD2M
  • XED_ICLASS_VPMOVDB
  • XED_ICLASS_VPMOVDW
  • XED_ICLASS_VPMOVM2B
  • XED_ICLASS_VPMOVM2D
  • XED_ICLASS_VPMOVM2Q
  • XED_ICLASS_VPMOVM2W
  • XED_ICLASS_VPMOVMSKB
  • XED_ICLASS_VPMOVQ2M
  • XED_ICLASS_VPMOVQB
  • XED_ICLASS_VPMOVQD
  • XED_ICLASS_VPMOVQW
  • XED_ICLASS_VPMOVSDB
  • XED_ICLASS_VPMOVSDW
  • XED_ICLASS_VPMOVSQB
  • XED_ICLASS_VPMOVSQD
  • XED_ICLASS_VPMOVSQW
  • XED_ICLASS_VPMOVSWB
  • XED_ICLASS_VPMOVSXBD
  • XED_ICLASS_VPMOVSXBQ
  • XED_ICLASS_VPMOVSXBW
  • XED_ICLASS_VPMOVSXDQ
  • XED_ICLASS_VPMOVSXWD
  • XED_ICLASS_VPMOVSXWQ
  • XED_ICLASS_VPMOVUSDB
  • XED_ICLASS_VPMOVUSDW
  • XED_ICLASS_VPMOVUSQB
  • XED_ICLASS_VPMOVUSQD
  • XED_ICLASS_VPMOVUSQW
  • XED_ICLASS_VPMOVUSWB
  • XED_ICLASS_VPMOVW2M
  • XED_ICLASS_VPMOVWB
  • XED_ICLASS_VPMOVZXBD
  • XED_ICLASS_VPMOVZXBQ
  • XED_ICLASS_VPMOVZXBW
  • XED_ICLASS_VPMOVZXDQ
  • XED_ICLASS_VPMOVZXWD
  • XED_ICLASS_VPMOVZXWQ
  • XED_ICLASS_VPMULDQ
  • XED_ICLASS_VPMULHRSW
  • XED_ICLASS_VPMULHUW
  • XED_ICLASS_VPMULHW
  • XED_ICLASS_VPMULLD
  • XED_ICLASS_VPMULLQ
  • XED_ICLASS_VPMULLW
  • XED_ICLASS_VPMULTISHIFTQB
  • XED_ICLASS_VPMULUDQ
  • XED_ICLASS_VPOPCNTB
  • XED_ICLASS_VPOPCNTD
  • XED_ICLASS_VPOPCNTQ
  • XED_ICLASS_VPOPCNTW
  • XED_ICLASS_VPOR
  • XED_ICLASS_VPORD
  • XED_ICLASS_VPORQ
  • XED_ICLASS_VPPERM
  • XED_ICLASS_VPROLD
  • XED_ICLASS_VPROLQ
  • XED_ICLASS_VPROLVD
  • XED_ICLASS_VPROLVQ
  • XED_ICLASS_VPRORD
  • XED_ICLASS_VPRORQ
  • XED_ICLASS_VPRORVD
  • XED_ICLASS_VPRORVQ
  • XED_ICLASS_VPROTB
  • XED_ICLASS_VPROTD
  • XED_ICLASS_VPROTQ
  • XED_ICLASS_VPROTW
  • XED_ICLASS_VPSADBW
  • XED_ICLASS_VPSCATTERDD
  • XED_ICLASS_VPSCATTERDQ
  • XED_ICLASS_VPSCATTERQD
  • XED_ICLASS_VPSCATTERQQ
  • XED_ICLASS_VPSHAB
  • XED_ICLASS_VPSHAD
  • XED_ICLASS_VPSHAQ
  • XED_ICLASS_VPSHAW
  • XED_ICLASS_VPSHLB
  • XED_ICLASS_VPSHLD
  • XED_ICLASS_VPSHLDD
  • XED_ICLASS_VPSHLDQ
  • XED_ICLASS_VPSHLDVD
  • XED_ICLASS_VPSHLDVQ
  • XED_ICLASS_VPSHLDVW
  • XED_ICLASS_VPSHLDW
  • XED_ICLASS_VPSHLQ
  • XED_ICLASS_VPSHLW
  • XED_ICLASS_VPSHRDD
  • XED_ICLASS_VPSHRDQ
  • XED_ICLASS_VPSHRDVD
  • XED_ICLASS_VPSHRDVQ
  • XED_ICLASS_VPSHRDVW
  • XED_ICLASS_VPSHRDW
  • XED_ICLASS_VPSHUFB
  • XED_ICLASS_VPSHUFBITQMB
  • XED_ICLASS_VPSHUFD
  • XED_ICLASS_VPSHUFHW
  • XED_ICLASS_VPSHUFLW
  • XED_ICLASS_VPSIGNB
  • XED_ICLASS_VPSIGND
  • XED_ICLASS_VPSIGNW
  • XED_ICLASS_VPSLLD
  • XED_ICLASS_VPSLLDQ
  • XED_ICLASS_VPSLLQ
  • XED_ICLASS_VPSLLVD
  • XED_ICLASS_VPSLLVQ
  • XED_ICLASS_VPSLLVW
  • XED_ICLASS_VPSLLW
  • XED_ICLASS_VPSRAD
  • XED_ICLASS_VPSRAQ
  • XED_ICLASS_VPSRAVD
  • XED_ICLASS_VPSRAVQ
  • XED_ICLASS_VPSRAVW
  • XED_ICLASS_VPSRAW
  • XED_ICLASS_VPSRLD
  • XED_ICLASS_VPSRLDQ
  • XED_ICLASS_VPSRLQ
  • XED_ICLASS_VPSRLVD
  • XED_ICLASS_VPSRLVQ
  • XED_ICLASS_VPSRLVW
  • XED_ICLASS_VPSRLW
  • XED_ICLASS_VPSUBB
  • XED_ICLASS_VPSUBD
  • XED_ICLASS_VPSUBQ
  • XED_ICLASS_VPSUBSB
  • XED_ICLASS_VPSUBSW
  • XED_ICLASS_VPSUBUSB
  • XED_ICLASS_VPSUBUSW
  • XED_ICLASS_VPSUBW
  • XED_ICLASS_VPTERNLOGD
  • XED_ICLASS_VPTERNLOGQ
  • XED_ICLASS_VPTEST
  • XED_ICLASS_VPTESTMB
  • XED_ICLASS_VPTESTMD
  • XED_ICLASS_VPTESTMQ
  • XED_ICLASS_VPTESTMW
  • XED_ICLASS_VPTESTNMB
  • XED_ICLASS_VPTESTNMD
  • XED_ICLASS_VPTESTNMQ
  • XED_ICLASS_VPTESTNMW
  • XED_ICLASS_VPUNPCKHBW
  • XED_ICLASS_VPUNPCKHDQ
  • XED_ICLASS_VPUNPCKHQDQ
  • XED_ICLASS_VPUNPCKHWD
  • XED_ICLASS_VPUNPCKLBW
  • XED_ICLASS_VPUNPCKLDQ
  • XED_ICLASS_VPUNPCKLQDQ
  • XED_ICLASS_VPUNPCKLWD
  • XED_ICLASS_VPXOR
  • XED_ICLASS_VPXORD
  • XED_ICLASS_VPXORQ
  • XED_ICLASS_VRANGEPD
  • XED_ICLASS_VRANGEPS
  • XED_ICLASS_VRANGESD
  • XED_ICLASS_VRANGESS
  • XED_ICLASS_VRCP14PD
  • XED_ICLASS_VRCP14PS
  • XED_ICLASS_VRCP14SD
  • XED_ICLASS_VRCP14SS
  • XED_ICLASS_VRCP28PD
  • XED_ICLASS_VRCP28PS
  • XED_ICLASS_VRCP28SD
  • XED_ICLASS_VRCP28SS
  • XED_ICLASS_VRCPPS
  • XED_ICLASS_VRCPSS
  • XED_ICLASS_VREDUCEPD
  • XED_ICLASS_VREDUCEPS
  • XED_ICLASS_VREDUCESD
  • XED_ICLASS_VREDUCESS
  • XED_ICLASS_VRNDSCALEPD
  • XED_ICLASS_VRNDSCALEPS
  • XED_ICLASS_VRNDSCALESD
  • XED_ICLASS_VRNDSCALESS
  • XED_ICLASS_VROUNDPD
  • XED_ICLASS_VROUNDPS
  • XED_ICLASS_VROUNDSD
  • XED_ICLASS_VROUNDSS
  • XED_ICLASS_VRSQRT14PD
  • XED_ICLASS_VRSQRT14PS
  • XED_ICLASS_VRSQRT14SD
  • XED_ICLASS_VRSQRT14SS
  • XED_ICLASS_VRSQRT28PD
  • XED_ICLASS_VRSQRT28PS
  • XED_ICLASS_VRSQRT28SD
  • XED_ICLASS_VRSQRT28SS
  • XED_ICLASS_VRSQRTPS
  • XED_ICLASS_VRSQRTSS
  • XED_ICLASS_VSCALEFPD
  • XED_ICLASS_VSCALEFPS
  • XED_ICLASS_VSCALEFSD
  • XED_ICLASS_VSCALEFSS
  • XED_ICLASS_VSCATTERDPD
  • XED_ICLASS_VSCATTERDPS
  • XED_ICLASS_VSCATTERPF0DPD
  • XED_ICLASS_VSCATTERPF0DPS
  • XED_ICLASS_VSCATTERPF0QPD
  • XED_ICLASS_VSCATTERPF0QPS
  • XED_ICLASS_VSCATTERPF1DPD
  • XED_ICLASS_VSCATTERPF1DPS
  • XED_ICLASS_VSCATTERPF1QPD
  • XED_ICLASS_VSCATTERPF1QPS
  • XED_ICLASS_VSCATTERQPD
  • XED_ICLASS_VSCATTERQPS
  • XED_ICLASS_VSHUFF32X4
  • XED_ICLASS_VSHUFF64X2
  • XED_ICLASS_VSHUFI32X4
  • XED_ICLASS_VSHUFI64X2
  • XED_ICLASS_VSHUFPD
  • XED_ICLASS_VSHUFPS
  • XED_ICLASS_VSQRTPD
  • XED_ICLASS_VSQRTPS
  • XED_ICLASS_VSQRTSD
  • XED_ICLASS_VSQRTSS
  • XED_ICLASS_VSTMXCSR
  • XED_ICLASS_VSUBPD
  • XED_ICLASS_VSUBPS
  • XED_ICLASS_VSUBSD
  • XED_ICLASS_VSUBSS
  • XED_ICLASS_VTESTPD
  • XED_ICLASS_VTESTPS
  • XED_ICLASS_VUCOMISD
  • XED_ICLASS_VUCOMISS
  • XED_ICLASS_VUNPCKHPD
  • XED_ICLASS_VUNPCKHPS
  • XED_ICLASS_VUNPCKLPD
  • XED_ICLASS_VUNPCKLPS
  • XED_ICLASS_VXORPD
  • XED_ICLASS_VXORPS
  • XED_ICLASS_VZEROALL
  • XED_ICLASS_VZEROUPPER
  • XED_ICLASS_WBINVD
  • XED_ICLASS_WBNOINVD
  • XED_ICLASS_WRFSBASE
  • XED_ICLASS_WRGSBASE
  • XED_ICLASS_WRMSR
  • XED_ICLASS_WRPKRU
  • XED_ICLASS_WRSSD
  • XED_ICLASS_WRSSQ
  • XED_ICLASS_WRUSSD
  • XED_ICLASS_WRUSSQ
  • XED_ICLASS_XABORT
  • XED_ICLASS_XADD
  • XED_ICLASS_XADD_LOCK
  • XED_ICLASS_XBEGIN
  • XED_ICLASS_XCHG
  • XED_ICLASS_XEND
  • XED_ICLASS_XGETBV
  • XED_ICLASS_XLAT
  • XED_ICLASS_XOR
  • XED_ICLASS_XORPD
  • XED_ICLASS_XORPS
  • XED_ICLASS_XOR_LOCK
  • XED_ICLASS_XRSTOR
  • XED_ICLASS_XRSTOR64
  • XED_ICLASS_XRSTORS
  • XED_ICLASS_XRSTORS64
  • XED_ICLASS_XSAVE
  • XED_ICLASS_XSAVE64
  • XED_ICLASS_XSAVEC
  • XED_ICLASS_XSAVEC64
  • XED_ICLASS_XSAVEOPT
  • XED_ICLASS_XSAVEOPT64
  • XED_ICLASS_XSAVES
  • XED_ICLASS_XSAVES64
  • XED_ICLASS_XSETBV
  • XED_ICLASS_XTEST
  • XED_ICLASS_LAST

How to track multi-process program?

Hi, I tried to attach the program by using the following command:

pin -follow-exec -t libdft.so -- /path/to/my/exec

Specifically, my traced program is a nginx web server and I'd like to track the taint propagation in its worker processes.

Currently, my naive approach is to use LOGD defined in libdft to track the syscalls and taint tags.
However, it seems the instrumentation stops when the master process spawns and executes its work process, even though I've set the option -follow-exec.

Building libdft-dta?

Hi, I'm having some issues building libdft-dta.

I followed the instructions and was able to successfully build source and tools, but in the tools directory when I would run make libdft-dta id get error messages that headers were missing. I went ahead and added the src directory to the include search path and fixed some, but then I also had to add pin's include directory, and it still didn't work.

What directory should I try and build libdft-dta from?
Are there extra steps not written in the install instructions that we can write down?

Thanks for your time

Bug) accept() syscall returned fd > 7 will unintentionally end the hooked application

Hello, thank you for sharing the code of libdft64.

I just wanted to inform an interesting bug with this line of code with accept system call handling part of the code:

case __NR_accept:
case __NR_accept4:
	/* not successful; optimized branch */
	if (unlikely((long)ctx->ret < 0))
		return;
	       /*
		* if the socket argument is interesting,
		* the returned handle of accept(2) is also
		* interesting
		*/
	if (likely(fdset.find(args[SYSCALL_ARG0]) !=
				fdset.end()))
		/* add the descriptor to the monitored set */
		fdset.insert((int)ctx->ret);

It is stated in the manual: https://man7.org/linux/man-pages/man2/accept.2.html that accept() returns a new file descriptor referring to that socket, and whenever (int)ctx->ret value is greater than 7, the hooked program abruptly ends. This is a key part because there is no segmentation fault or anything of an error, but just that the program gracefully exits.

The output looks like this:

pin-3.20_build/pin -follow-execv -t /home/lib/libdft-dta.so -- ./redis-server
...
210032:M 23 Mar 2023 17:53:44.985 * Increased maximum number of open files to 10032 (it was originally set to 1024).
        ► socket(2) fd add 6
        ► socket(2) fd add 7
                _._
           _.-``__ ''-._
      _.-``    `.  `_.  ''-._           Redis 5.0.4 (00000000/0) 64 bit
  .-`` .-```.  ```\/    _.,_ ''-._
 (    '      ,       .-`  | `,    )     Running in standalone mode
 |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
 |    `-._   `._    /     _.-'    |     PID: 210032
  `-._    `-._  `-./  _.-'    _.-'
 |`-._`-._    `-.__.-'    _.-'_.-'|
 |    `-._`-._        _.-'_.-'    |           http://redis.io
  `-._    `-._`-.__.-'_.-'    _.-'
 |`-._`-._    `-.__.-'    _.-'_.-'|
 |    `-._`-._        _.-'_.-'    |
  `-._    `-._`-.__.-'_.-'    _.-'
      `-._    `-.__.-'    _.-'
          `-._        _.-'
              `-.__.-'

read(2) fd: 8
read(2) taint clear
210032:M 23 Mar 2023 17:53:46.708 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in ord
er to retain the setting after a reboot. Redis must be restarted after THP is disabled.
210032:M 23 Mar 2023 17:53:46.720 * Ready to accept connections
...

and then on the other terminal, if I were to execute ./redis-cli, then the above screen will output

...
read(2) fd: 8
read(2) taint clear
fd add accept
read(2) fd: 9
read(2) taint clear
read(2) fd: 8

and the program ends with the connection closed on the other terminal.

I have statically replaced (int)ctx->ret with a value less than 8, and was able to successfully determine that the file descriptor number is the issue. I have also tested using std::list and std::hash_set instead of

/* set of interesting descriptors (sockets) */
static set<int> fdset;

Doesn't seem to fix it though... Also tried GDBing the libdft-dta.so, but nothing useful came out of there either.

MUL instruction?

I noticed that MUL instruction was treated as ins_unitary_op. However, if rax/rdx is not tainted before, MUL instruction might taint them. I am wondering how to solve this. :)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.