1
0
mirror of https://github.com/bitdefender/bddisasm.git synced 2024-11-18 21:48:08 +00:00
Commit Graph

194 Commits

Author SHA1 Message Date
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
Anichitei Ionel-Cristinel
82acf4c3a7
python: Increment expected version 2021-03-31 12:02:19 +03:00
Anichitei Ionel-Cristinel
a0e5d8f905
Increment revision 2021-03-31 11:55:25 +03:00
Anichitei Ionel-Cristinel
935654d5f6
Merge pull request #40 from ianichitei/master
Improved installation
2021-03-31 11:44:38 +03:00
Ionel-Cristinel ANICHITEI
237e6ffb3e pybddisasm: Don't implement nd_vsnprintf_s and nd_memset 2021-03-30 22:04:02 +03:00
Ionel-Cristinel ANICHITEI
e7803bdf72 Implement nd_vsnprintf_s and nd_memset if possible 2021-03-30 21:58:03 +03:00
Ionel-Cristinel ANICHITEI
9a30b907c7 README fixes 2021-03-30 21:11:47 +03:00
Ionel-Cristinel ANICHITEI
c20e45a8e4 Update README 2021-03-30 21:04:21 +03:00
Ionel-Cristinel ANICHITEI
cc6cf1e2b6 Don't install disasmtool if BDD_INCLUDE_TOOL is OFF 2021-03-30 17:25:54 +03:00
Ionel-Cristinel ANICHITEI
42497c3ee6 Allow users to disable disasmtool and isagenerator targets 2021-03-30 17:07:47 +03:00
Anichitei Ionel-Cristinel
dcfd0ea478
Update ci.yml 2021-03-30 14:23:39 +03:00
Anichitei Ionel-Cristinel
0c925a46bf
Update ci.yml 2021-03-30 14:21:05 +03:00
Anichitei Ionel-Cristinel
069daec529
Update ci.yml 2021-03-30 14:10:54 +03:00
Anichitei Ionel-Cristinel
2b21e09384
Update ci.yml 2021-03-30 14:03:33 +03:00
Anichitei Ionel-Cristinel
5edbe7a5fe
Update ci.yml 2021-03-30 13:55:47 +03:00
Anichitei Ionel-Cristinel
9af02e98d4
ci: Use cl.exe with CMake on Windows 2021-03-30 13:53:47 +03:00
Anichitei Ionel-Cristinel
c8a30d5fcb
Update ci.yml
We should really start using a build matrix.
2021-03-30 13:51:46 +03:00
Ionel-Cristinel ANICHITEI
f9a36db25e cmake: Remove debug logs 2021-03-30 13:40:55 +03:00
Anichitei Ionel-Cristinel
0f60c96f17
ci: Install Ninja on CMake Windows builds 2021-03-30 13:39:44 +03:00
Anichitei Ionel-Cristinel
a20d4e4755
Update ci.yml 2021-03-30 13:36:00 +03:00
Ionel-Cristinel ANICHITEI
e2e972c84f Remove bddisasmConfig.cmake.in
No longer needed
2021-03-30 12:48:17 +03:00
Ionel-Cristinel ANICHITEI
dbbc8b82af cmake: Space between if/else/elseif and condition
It just looks better IMO
2021-03-30 12:36:35 +03:00
Ionel-Cristinel ANICHITEI
9ee41d6dd1 cmake: Add isagenerator target 2021-03-30 12:33:07 +03:00
Ionel-Cristinel ANICHITEI
283c00b4c7 cmake: Format the cmake scripts 2021-03-30 12:20:47 +03:00
Ionel-Cristinel ANICHITEI
3495a7cc84 cmake: Various improvements, especially to the way the bddisasm package is consumed
This should make integrating the project easier. CMake also works on Windows now.
2021-03-30 12:20:31 +03:00