Ionel-Cristinel ANICHITEI
b942b37680
Don't supply inc/bdshemu as an include path for cppcheck
2020-11-17 16:09:36 +02:00
Ionel-Cristinel ANICHITEI
c1c3770cc6
Move bdhsemu.h to inc/
2020-11-17 16:05:40 +02:00
Ionel-Cristinel ANICHITEI
81664ff09f
Use CMAKE_CURRENT_LIST_DIR instead of CMAKE_SOURCE_DIR when reading version.h
2020-11-17 14:16:35 +02:00
Ionel-Cristinel ANICHITEI
15fe86d7d3
Fix library order
2020-11-17 13:20:49 +02:00
Ionel-Cristinel ANICHITEI
190d3e59f3
Extract version information from version.h
...
This is done so we have a single place that holds versioning information. While it would be easier to generate the DISASM_VERSION_* definitions based on the PROJECT_VERSION_* values, doing this for Visual Studio builds that do not use CMake is not trivial
2020-11-17 12:44:10 +02:00
Ionel-Cristinel ANICHITEI
f5d91d7cb5
Use Release as the default build type
2020-11-17 11:41:19 +02:00
Ionel-Cristinel ANICHITEI
2eb472cdab
Ignore disasmtool_lix/_build
2020-11-17 11:40:25 +02:00
Anichitei Ionel-Cristinel
baad8a4bd0
ci: Use CMake when building on Linux
2020-11-17 11:33:55 +02:00
Ionel-Cristinel ANICHITEI
2ebfd04da0
Update README
2020-11-17 11:31:23 +02:00
Ionel-Cristinel ANICHITEI
3ac7fec729
Lower the minimum required CMake version
2020-11-17 11:31:14 +02:00
Ionel-Cristinel ANICHITEI
fbafa8b8f5
Set the output directory to bin/x64/
...
This is consistent with the current Makefiles
2020-11-17 11:19:31 +02:00
Ionel-Cristinel ANICHITEI
0af56019c2
Initial CMake support
2020-11-17 11:04:30 +02:00
Anichitei Ionel-Cristinel
49d7eab4da
ci: Update microsoft/setup-msbuild to v1.0.2
2020-11-17 10:41:59 +02: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
67da1892d4
Fetch the instruction bytes inside the Instrux when first entering NdDecode, and then use that buffer for further decoding.
2020-11-12 10:57:16 +02:00
Andrei Vlad LUTAS
460e544652
Fixed build.
2020-11-09 09:52:49 +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
2b2dbe2aea
D64 flag for ENTER instruction.
2020-11-07 12:12:28 +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
7a0fa449bc
Disassemble 4X90 as NOP as long as Rex.B is 0. Disassemble as XCHG only if Rex.B bit is set (promoting the use of R8 register).
2020-10-09 14:55:39 +03: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
vlutas
514b4c571a
Merge pull request #21 from ianichitei/master
...
Add static code checks for new commits and PRs
2020-09-22 18:51:49 +03:00
Anichitei Ionel-Cristinel
73bdb23284
workflows/ci.yml: Suppress unneeded code checks
2020-09-22 18:26:33 +03:00
Anichitei Ionel-Cristinel
ad95383878
workflows/ci.yml: Overwrite cppcheck error code
...
By default cppcheck returns 0 even if it encounters problems. Overwrite this with 1.
2020-09-22 18:22:28 +03:00
Anichitei Ionel-Cristinel
45c9efd024
workflows/ci.yml: Fix Code check job name
2020-09-22 18:06:45 +03:00
Anichitei Ionel-Cristinel
ffad2e8c48
Run cppcheck on new commits and PRs
2020-09-22 18:04:27 +03:00
Anichitei Ionel-Cristinel
5667dad127
Merge pull request #1 from bitdefender/master
...
Pull latest changed from bitdefender/bddisasm
2020-09-22 17:55:44 +03:00
Andrei Vlad LUTAS
24ae7782d6
Fixed some static code check warnings.
2020-09-21 12:16:45 +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 Vlad LUTAS
d61a6fa5dd
* INC/DEC do not modify the CF.
...
* Fixed FXSAVE64, PUSHAD and POPAD emulation - when explicit mnemonics were added for them, emulation support was not added, thus causing emulation to stop when encountering one of these.
2020-08-19 19:14:22 +03:00
vlutas
65d6f52740
Merge pull request #20 from akisari/master
...
Added support for byte-like objects as input value in pybddisasm.
2020-08-13 13:38:07 +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
Anichitei Ionel-Cristinel
3d109f22d3
Merge pull request #19 from bitdefender/stackstr_fps
...
Improved stack string detection heuristic: only consider registers wh…
2020-08-11 12:11:37 +03:00
Andrei Vlad LUTAS
79ee40b113
Fixed pybddisasm build.
2020-08-11 09:37:10 +03:00
Andrei Vlad LUTAS
1d43b7b1ba
Improved stack string detection heuristic: only consider registers which have been modified during emulation; registers which were provided as "input" can be ignored, as they most likely contain addresses or other data relevant to the emulated code. We are only interested in string dynamically built during our emulation.
2020-08-11 09:26:48 +03:00
Andrei Kisari
f399cdc246
Merge pull request #18 from bitdefender/clarifying_comments
...
Clarifying comments to the decode API arguments.
2020-08-06 12:39:25 +03:00
Andrei Vlad LUTAS
356ed63916
Clarifying comments to the decode API arguments.
2020-08-06 12:31:08 +03:00
vlutas
8f08850e56
Merge pull request #17 from akisari/master
...
Updated the 'argparse' header.
2020-08-06 10:44:26 +03:00
Andrei KISARI
a78814c19c
Updated the 'argparse' header.
2020-08-06 10:14:12 +03:00
Anichitei Ionel-Cristinel
7f782b0f22
Merge pull request #16 from akisari/master
...
Modified the python-disassembler-wraper.
2020-08-05 15:51:02 +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
90c020a114
Updated the README file.
2020-08-04 15:45:16 +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