Andrei Vlad LUTAS
08096172cc
Multiple improvements
...
- New shemu flag - SHEMU_FLAG_SIDT, set when sheu encounters a SIDT in ring0.
- Added the CET Tracked flag to SYSCLAL, SYSENTER and INT n instructions.
- Fixed Do Not Track prefix recognition for CALL and JMP in long-mode.
- Fixed MONITOR and MONITORX implicit operands - the rAX register encodes a virtual address that will be used as the monitored range. That address is subject to a 1 byte load.
- Fixed RMPADJUST and RMPUPDATE implicit operands - the rAX register encodes a virtual address, and the rCX register encodes a virtual address of the RMP updated entry.
2021-08-31 13:37:50 +03:00
Andrei Vlad LUTAS
5a617986b7
Added new shemu flag: SHEMU_FLAG_SUD_ACCESS is raised whenever the code accesses the SharedUserData page.
2021-08-16 12:34:41 +03:00
Andrei Vlad LUTAS
c8735b437a
Fixed NEG emulation - make sure flags are set.
2021-08-10 14:46:39 +03:00
Andrei Vlad LUTAS
f6050661d5
Multiple improvements in bdshemu
...
Fixed an emulation bug for MOVZX and MOVSX instructions (https://github.com/bitdefender/bddisasm/issues/48 )
New shellcode flag - call tot Wow32 reserved.
New shellcode flag - heaven's gate.
New shellcode flag - stack-pivot.
Moved bdshemu tests in a password protected zip file, so it doesn't trigger AV detections.
2021-08-10 11:43:51 +03:00
Andrei Vlad LUTAS
76d92e73c2
Multiple changes
...
- Add support for AVX512-FP16 instructions, as per https://software.intel.com/content/www/us/en/develop/download/intel-avx512-fp16-architecture-specification.html
- Bug fix: zeroing with no masking is not supported, so return an error if we encounter such encodings
- Bug fix: ignore VEX/EVEX.W field outside 64 bit mode for some instructions
- Several other minor fixes and improvements
2021-07-08 12:40:39 +03:00
Andrei Vlad LUTAS
c3a6ea1c25
Updated SEAMCALL specs according to Intel® Trust Domain CPU Architectural Extensions 343754-002US May 2021.
2021-05-31 13:34:52 +03:00
Andrei Vlad LUTAS
d053de409f
Although not stated in the SDM, VMCALL, VMLAUNCH, VMRESUME and VMXOFF refuse any prefix (66, F3, F2).
2021-05-31 10:42:26 +03:00
Andrei Vlad LUTAS
10dc00681d
Updated version for pybddisasm build.
2021-05-17 09:13:27 +03:00
Anichitei Ionel-Cristinel
82acf4c3a7
python: Increment expected version
2021-03-31 12:02:19 +03:00
Ionel-Cristinel ANICHITEI
237e6ffb3e
pybddisasm: Don't implement nd_vsnprintf_s and nd_memset
2021-03-30 22:04:02 +03:00
Andrei Vlad LUTAS
fccf11915d
Added support for Intel FRED and LKGS instructions.
2021-03-15 14:05:44 +02:00
Andrei Vlad LUTAS
15e5e2db63
Fixed several RFLAGS setting issues with airthmetic and shift instructions.
2021-02-23 18:11:40 +02:00
Andrei Vlad LUTAS
1eb1c9d0d2
Fixed https://github.com/bitdefender/bddisasm/issues/38 .
2021-01-15 19:09:53 +02:00
Nicolae BODEA
a0b3eee37f
Fix pybddisasm build.
2021-01-11 11:23:41 +02:00
Ionel-Cristinel ANICHITEI
057d326433
Specify -maes when building bdshemu
2020-12-04 11:45:10 +02:00
Andrei Vlad LUTAS
e0c6f9e374
Specify westmere arch on pybddisasm build.
2020-12-04 11:05:49 +02:00
Andrei Vlad LUTAS
f8a3011a49
Added support for AESDEC, AESDECLAST and AESIMC emulation, using compiler intrinsics - they will be used only if the SHEMU_OPT_SUPPORT_AES is set (so the integrator can properly check for AES-NI support in hardware).
...
Fixed shemu option on Linux - make sure proper RIP is provided.
2020-12-04 10:52:56 +02:00
Tamas K Lengyel
54992bb376
Add copy-pastable python example
2020-11-17 10:28:13 -05:00
Andrei Vlad LUTAS
e89f56289d
As per Intel SDM version 73 released in November 2020, make sure we don't decode 32-bit EVEX instructions that have EVEX.V' cleared, and 64-bit EVEX instructions that don't use EVEX.V' field, but have it cleared.
2020-11-17 10:36:26 +02:00
Andrei Vlad LUTAS
58197cc518
Removed support for PCOMMIT and CL1INVMB (not implemented by any x86/x64 CPUs), and marked MOV to/from test registers as being invalid in long mode.
...
Fixed https://github.com/bitdefender/bddisasm/issues/24
Fixed https://github.com/bitdefender/bddisasm/issues/25
Fixed https://github.com/bitdefender/bddisasm/issues/26
2020-11-09 09:18:46 +02:00
Andrei Vlad LUTAS
bcf9a89d69
Fixed https://github.com/bitdefender/bddisasm/issues/22 and https://github.com/bitdefender/bddisasm/issues/23 .
2020-11-08 11:02:46 +02:00
Andrei Vlad LUTAS
e26971b4f0
Added missing Default 64 flag for the ENTER instruction.
...
On AMD, operand size is never forced to 64 bit - instead, it only defaults to 64 bit, which means that 0x66 can be used to encode 16 bit version of the instructions.
2020-11-06 14:19:22 +02:00
Andrei Vlad LUTAS
9652450125
Added support for UINTR, HRESET and AVX-VNNI instructions, as per Intel® Architecture Instruction Set Extensions Programming Reference 41 (October 2020).
2020-10-05 13:19:03 +03:00
Andrei Vlad LUTAS
4f8b030ddd
Added support for Intel Key Locker instructions, as per https://software.intel.com/content/www/us/en/develop/download/intel-key-locker-specification.html .
2020-09-16 11:56:05 +03:00
Andrei Vlad LUTAS
fc62fc0b36
Updated INSTRUX size in setup.py (pybddisasm).
2020-09-10 11:12:51 +03:00
Andrei Vlad LUTAS
33078e4670
Added support for TDX instructions, per https://software.intel.com/content/dam/develop/external/us/en/documents/intel-tdx-cpu-architectural-specification.pdf .
2020-09-10 11:06:20 +03:00
Andrei Vlad LUTAS
ea28907359
Fix potential division error in bdshemu, when the destination operand is not large enough to hold the result.
2020-08-27 16:25:39 +03:00
Andrei KISARI
f7f57da652
Changed the minimum required version to '3.5'.
2020-08-13 11:17:39 +03:00
Andrei KISARI
ad5fd2d94e
Fixed pull-request comments.
2020-08-13 11:13:55 +03:00
Andrei KISARI
4adf441efa
Added support for byte-like objects as input value in pybddisasm.
2020-08-13 10:55:19 +03:00
Andrei Vlad LUTAS
79ee40b113
Fixed pybddisasm build.
2020-08-11 09:37:10 +03:00
Andrei KISARI
3d8401be4c
Added a check for the latest version of the library which is compatible with pybddisasm.
2020-08-05 14:01:32 +03:00
Andrei KISARI
c6a741b711
Added the paths to bddisasm library : default install path (Linux) and local build path (Linux/Windows)
2020-08-04 15:30:12 +03:00
Andrei KISARI
175b059b27
Changed the version of the pybddisasm package.
2020-08-04 14:14:34 +03:00
Andrei KISARI
ee235fa5de
Modified the python-disassembler-wraper to be able to be installed using pip.
2020-08-04 13:57:03 +03:00