1
0
mirror of https://github.com/bitdefender/bddisasm.git synced 2024-12-22 14:08:08 +00:00
Commit Graph

218 Commits

Author SHA1 Message Date
BITDEFENDER\vlutas
d3fd900903 Fixed OF on SHL and SHR with one bit shifts. 2022-08-01 14:13:27 +03:00
BITDEFENDER\vlutas
bf81c647e3 Make sure all flags are set for CMPXCHG (this was left intentionally incomplete).
Make sure we clear upper bits of the 256/512 bit SSE register.
2022-07-19 11:03:17 +03:00
BITDEFENDER\vlutas
6dda2c122c Make sure upper 32 bit of a CMOV destination register is cleared to 0 even if the condition is not satisfied 2022-07-16 12:21:46 +03:00
BITDEFENDER\vlutas
1805a9edec Fixed flag setting for ADC, SBB, SAR and IMUL instructions. 2022-07-14 13:42:37 +03:00
vlutas
e930d49713
Merge pull request #54 from ianichitei/master
ci: Install Windows SDK 18362 when building on Windows
2022-02-17 15:47:09 +02:00
Anichitei Ionel-Cristinel
f900388260
Update rust.yml 2022-02-17 11:37:15 +02:00
Anichitei Ionel-Cristinel
59255c4ea6
Update ci.yml 2022-02-17 11:33:26 +02:00
Anichitei Ionel-Cristinel
90820faba4
ci: Setup Windows SDK 18362 2022-02-17 11:12:30 +02:00
Anichitei Ionel-Cristinel
f0804645f3
Update ci.yml 2022-02-17 10:59:04 +02:00
Anichitei Ionel-Cristinel
4525860ec8
Fix a typo in the install instructions 2022-01-25 17:31:03 +02:00
Ionel-Cristinel ANICHITEI
73b7c4ea96 rsbddisasm: Fix no-std category 2022-01-05 14:40:26 +02:00
Ionel-Cristinel ANICHITEI
21c584b436 rsbddisasm: Change version to 0.2.0 2022-01-05 14:31:30 +02:00
BITDEFENDER\vlutas
70db095765 Updates Rust binding to the latest version.
Fixed build in disasmtool_lix.
2022-01-05 14:17:13 +02:00
BITDEFENDER\vlutas
fe6a937f51 Switched to internally defined types.
WRUSSD and WRUSSQ cannot be executed when CPL != 0.
2022-01-05 14:03:13 +02:00
Anichitei Ionel-Cristinel
08103713b2
Merge pull request #53 from ekilmer/fix-bddisasm-makefile
Add missing sources to Makefile for bddisasm
2022-01-04 17:43:15 +02:00
Eric Kilmer
68c7c4a066
Add missing sources to Makefile for bddisasm 2022-01-04 09:52:34 -05:00
BITDEFENDER\vlutas
63e3ee22a9 Fixed High8 handling in NdGetFullAccessMap. 2022-01-03 12:25:35 +02:00
BITDEFENDER\vlutas
c9d4dbca0f Added missing modifications. 2021-12-03 12:53:22 +02:00
BITDEFENDER\vlutas
2f50ce9b4e Improved REG_ID macros - make sure we include block addressing and High8 designator in the reg ID. Alsom, make sure the register size fits in, since the new tile register can be 1K in size, which previously overflowed... 2021-12-03 12:44:57 +02:00
BITDEFENDER\vlutas
4ff620cb76 Added bdhelpers to CMake. 2021-11-03 09:34:04 +02:00
Anichitei Ionel-Cristinel
dac2092c17
Rust bindings: Remove ND_CAT_FRED 2021-11-02 11:39:41 +02:00
BITDEFENDER\vlutas
7572adaeba Fixed INSTRUX size in setup.py. 2021-11-02 11:34:17 +02:00
BITDEFENDER\vlutas
7749e06b9d Removed ND_CAT_FRED. 2021-11-02 11:30:11 +02:00
BITDEFENDER\vlutas
656916d92d Added missing paranthesis. 2021-11-02 11:26:52 +02:00
BITDEFENDER\vlutas
433e723e07 Implemented a reverse oprand lookup table. It holds pointers to relevant operands inside INSTRUX, for quick lookup.
Moved helper functions in bdhelpers.c.
Added a dedicated BranchInfo field inside INSTRUX, containing the most relevant branch information.
2021-11-02 11:22:22 +02:00
Ionel-Cristinel ANICHITEI
def76f8633 rsbddisasm: Fix keywords 2021-10-20 12:24:11 +03:00
Ionel-Cristinel ANICHITEI
1e78d15878 bddisasm-sys: Fix keywords 2021-10-20 12:12:02 +03:00
vlutas
62cdbdc068
Merge pull request #52 from ianichitei/master
Add Rust bindings
2021-10-20 11:59:02 +03:00
Ionel-Cristinel ANICHITEI
7d50c7edd5 Update README 2021-10-20 10:06:25 +03:00
Ionel-Cristinel ANICHITEI
584150cb44 Move rsbddisasm to the bindings directory 2021-10-20 10:03:16 +03:00
Ionel-Cristinel ANICHITEI
af3d23e3ff Move pybddisasm to the bindings directory 2021-10-20 09:32:50 +03:00
Anichitei Ionel-Cristinel
146ebc55c5
ci: Attempt to fix the Windows build 2021-10-19 18:20:35 +03:00
Anichitei Ionel-Cristinel
5ea879a9a0
ci: Fix cargo fmt step 2021-10-19 18:15:51 +03:00
Anichitei Ionel-Cristinel
b57bf183b1
Add Rust workflow 2021-10-19 18:06:35 +03:00
Ionel-Cristinel ANICHITEI
51dbf5fb0a Initial Rust bindings implementation 2021-10-19 17:54:48 +03:00
BITDEFENDER\vlutas
4a485853b6 Fixed pybddisasm version. 2021-10-19 17:37:43 +03:00
BITDEFENDER\vlutas
412f065965 Moved the formatting function in a dedicated source file.
Added support for SIDT and RDTSC in bdshemu.
2021-10-19 17:33:15 +03:00
Andrei Vlad LUTAS
38592edf31 Removed old test files. 2021-08-31 13:49:29 +03:00
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
Anichitei Ionel-Cristinel
5b8b67c596
Add vcpkg install instructions 2021-06-04 10:14:06 +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
072f6e059b Build improvements
Exclude string constants from build if BDDISASM_NO_FORMAT is defined.
Use extern "C" when declaring the public bddisasm/bdshemu functions.
Include wmmintrin.h for AES intrinisics when building using LLVM/clang.
2021-05-17 09:52:04 +03:00
Andrei Vlad LUTAS
10dc00681d Updated version for pybddisasm build. 2021-05-17 09:13:27 +03:00
Andrei Vlad LUTAS
f7bf814bbc Flag the rIP operand of conditional branches as being conditionally read/write instead of plain read/write.
Bypass self-writes option in bdshemu - if set, bdshemu will not proceed to commit modifications made by the shellcode to itself.
2021-05-17 09:04:34 +03:00
Anichitei Ionel-Cristinel
92b3725cf0
cmake: Bump minimum cmake version to 3.16 2021-03-31 17:36:04 +03:00