1
0
mirror of https://github.com/bitdefender/bddisasm.git synced 2024-12-23 06:28:13 +00:00
Commit Graph

285 Commits

Author SHA1 Message Date
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
Andrei KISARI
4dc2fe4a8a Fixed pybddisasm build. 2020-08-04 14:13:16 +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
vlutas
ad128fd72a
Merge pull request #13 from ianichitei/master
Use GitHub actions C/C++ workflow
2020-07-31 20:16:29 +03:00
Anichitei Ionel-Cristinel
a496ab16e5
Rename c-cpp.yml to ci.yml
It currently does more than just the C/C++ build
2020-07-31 18:21:31 +03:00
Anichitei Ionel-Cristinel
d06fe6cf56
Don't build bdshemu_fuzzer
It currently expects AFL to be installed on the build machine. I should change that.
2020-07-31 18:18:59 +03:00
Anichitei Ionel-Cristinel
f734bc600b
Try to build bdshemu_fuzz
We build it with gcc just to ensure that is stays up to date when bddisasm or bdshemu are changed
2020-07-31 18:16:41 +03:00
Anichitei Ionel-Cristinel
053e105fd2
Skip the build in certain situations 2020-07-31 18:12:55 +03:00
Anichitei Ionel-Cristinel
c0e7a43db3
Disable disasmtool build
I can't figure out why it can not find the dependency it needs
2020-07-31 18:08:24 +03:00
Anichitei Ionel-Cristinel
4d077a75eb
Try to fix disasmtool build 2020-07-31 18:05:45 +03:00
Anichitei Ionel-Cristinel
079fbb8802
Rebuild disasmtool Windows 2020-07-31 18:02:30 +03:00
Anichitei Ionel-Cristinel
6e8937a71b
Fix jobnames 2020-07-31 17:59:54 +03:00
Anichitei Ionel-Cristinel
8c92cccdbb
Run the Windows build as well 2020-07-31 17:58:48 +03:00
Anichitei Ionel-Cristinel
1184a314a1
Install setuptools before building pydis 2020-07-31 17:29:10 +03:00
Anichitei Ionel-Cristinel
374dd532e6
Try to build pydis 2020-07-31 17:25:43 +03:00
Anichitei Ionel-Cristinel
15629ff302
Clone rapidjson into a dedicated directory 2020-07-31 17:17:46 +03:00
Anichitei Ionel-Cristinel
21d20ba584
Try to build disasmtool_lix
This should clone Tencent/rapidjson, build it, install it, and then build disasmtool_lix
2020-07-31 17:15:50 +03:00
Anichitei Ionel-Cristinel
af8a0cc52f
.github/workflows: Add CI workflow
This should build bddisasm and bdshemu
2020-07-31 16:50:27 +03:00
Ionel-Cristinel ANICHITEI
c1e796625a bdshemu_fuzz: Fix build 2020-07-30 12:31:39 +03:00
Andrei Vlad LUTAS
ed564dba32 Specifically flag multi-byte NOP operands as not-accessed.
New capability - bddisasm can now be instructed whether to decode some instructions as NOPs are as MPX/CET/CLDEMOTE. This is the case for instructions that are mapped onto the wide NOP space: in that case, an encoding might be NOP if the feature is off, but might be something else (even #UD) if the feature is on.
Added NdDecodeWithContext API - this becomes the base decode API; it received the input information filled in a ND_CONTEXT structure, whih has to be initialized only once, and can be reused across calls. The NdInitContext function must be used to initialize the context, as it ensures backwards compatibility by filling new options with default values.
Improvements to the README file.
2020-07-30 11:07:14 +03:00