flobernd
ad35e81eee
Added semantic element-information for operands
2017-06-16 23:19:57 +02:00
flobernd
44792f2338
Added semantic decoding of implicit memory operands
2017-06-16 16:27:37 +02:00
flobernd
1db4db9ec2
Added semantic decoding of implicit register operands
2017-06-16 03:25:39 +02:00
flobernd
6caa68b674
Reimplemented decoding of 3DNOW instructions and improved EVEX decoding
2017-06-13 22:04:29 +02:00
flobernd
702f6b8d53
Reimplemented a basic version of semantic operand-decoding
2017-06-13 20:17:20 +02:00
flobernd
8740b1e50f
Major changes to the instruction decoder
...
- Decoupled semantic operand decoding (optional) from physical instruction decoding
- Several optimizations of the internal structures
- Further preparations for MVEX-support
2017-06-12 19:16:01 +02:00
flobernd
e5e5899f72
Preparations for MVEX-support and decoupling of operand-decoding
2017-05-08 18:18:08 +02:00
Joel Höner
de666d7a4a
Improved handling of unreachable code
2017-05-05 19:26:03 +02:00
Joel Höner
40d6c39dbe
Renamed disassembler mode constants
...
ZYDIS_DISASSEMBLER_MODE_* -> ZYDIS_OPERATING_MODE_*
2017-04-12 21:12:18 +02:00
flobernd
71a6d786d7
Minor bugfixes and cosmetical changes
2017-04-12 21:00:46 +02:00
Joel Höner
ebf71d632f
Moved `internal` sub-struct from info to context
...
Also, fixed examples and tools.
2017-04-11 03:18:08 +02:00
Joel Höner
71a551ef1a
Merge branch 'develop' of https://github.com/zyantific/zyan-disassembler-engine into develop
2017-04-11 02:20:02 +02:00
Joel Höner
c9606c389d
Removed obsolete public decoder struct
2017-04-11 02:19:53 +02:00
flobernd
839729bfb2
Merge branch 'develop' of github.com:zyantific/zyan-disassembler-engine into develop
2017-04-09 22:57:30 +02:00
flobernd
b4f2d3bc62
CMake bugfix and cosmetical changes to the README file
2017-04-09 22:54:53 +02:00
Joel Höner
0376376b83
Temp. disabled encoder, updated CMake defaults
2017-04-08 19:36:43 +02:00
flobernd
8157b9fa42
Temporary change to expose the semantic operand-type
2017-01-23 01:17:15 +01:00
Joel Höner
cb98db80ea
Minor encoder cleanup
2017-01-22 17:38:14 +01:00
flobernd
98d34d0c62
Merge branch 'develop' of github.com:zyantific/zyan-disassembler-engine into develop
2017-01-20 00:03:28 +01:00
flobernd
dc70ee7eb2
Merge branch 'develop' of github.com:zyantific/zyan-disassembler-engine into develop
2017-01-20 00:02:21 +01:00
flobernd
4b54158aa2
Minor bugfixes
2017-01-20 00:01:56 +01:00
Joel Höner
c0f53a3a69
More encoder progress, minor refactoring
...
- Added encoding support for more X86 features (IMMs, SIB, ..)
- Added ZYDIS_ARRAY_SIZE macro
- Moved ZYDIS_MAX_INSTRUCTION_LENGTH (Decoder.h -> InstructionInfo.h)
- Renamed ZydisInstructionEncoder -> ZydisEncoderContext
- Various bug-fixes
2017-01-19 17:37:05 +01:00
Joel Höner
14848083ae
More encoder progress
2017-01-17 20:53:34 +01:00
flobernd
5ead1d9345
Minor refactorings
...
- The instruction pointer is now directly passed to the ZydisDecoderDecodeInstruction function
- Removed the user-data pointer in the ZydisOperandInfo struct
2017-01-12 20:14:12 +01:00
Joel Höner
689708fbd3
Refactored docstrings to use uppercase abbreviations
2017-01-12 19:37:57 +01:00
Joel Höner
a9514fbfea
Minor documentation and style fixes
2017-01-12 18:54:16 +01:00
Joel Höner
0793090388
Implemented basic prefix encoding
2017-01-12 18:53:28 +01:00
Joel Höner
3d2365b6ed
Added encoder stub, made decoder input const
2017-01-12 15:12:09 +01:00
flobernd
3b56c867fc
Updated mask-policy definitions for EVEX instructions
2017-01-11 22:11:30 +01:00
flobernd
5af25eee4b
Fixed a bug in ZYDIS_CHECK that caused functions to run more than once on certain conditions
2017-01-11 17:29:26 +01:00
flobernd
c0528d5cb0
Exposed ZYDIS_MAX_INSTRUCTION_LENGTH constant
2017-01-11 11:24:10 +01:00
flobernd
4165c3b9b2
Removed Input-struct. The input buffer is now directly passed to the ZydisDecodeInstruction function.
2017-01-11 11:20:24 +01:00
Joel Höner
b291c8a760
Use size_t instead of uint64_t for memory input
2017-01-07 00:29:16 +01:00
Joel Höner
2e11b44ddf
Minor CMake and C++ compatibility fixes
2017-01-06 02:06:08 +01:00
flobernd
5b63557f3c
Fixed decoding of instructions with EVEX high-16 register specifiers (R', X, V')
2016-12-05 21:06:29 +01:00
flobernd
d4dd176438
Refactorings and bugfixes
...
- Added support for the BOUND prefix
- Added support for more detailed operand-actions (read, write, readwrite, cond. read, cond. write, read + cond. write, write + cond. read)
- Added operand-visibility info (explicit, implicit, hidden)
- Fixed some bugs in the prefix-decoding routines
- Removed stdbool.h dependency and introduced custom boolean-type for better portability
2016-12-05 02:24:01 +01:00
flobernd
bb913f1272
Fixed some instruction-definitions and re-generated tables
2016-11-29 23:48:10 +01:00
flobernd
bcfb84e59b
Minor refactorings
2016-11-29 11:49:38 +01:00
Joel Höner
e655e8a1b8
Fixed broken enum typedef
2016-11-29 04:09:41 +01:00
Joel Höner
f4959072dc
Renamed ZydisFormatFlags -> ZydisFormatterFlags
2016-11-28 19:13:01 +01:00
Joel Höner
4e78d04788
Fixed lib build with clang, fixed tools
2016-11-28 18:56:39 +01:00
flobernd
477a908bb0
Added more formatter-hooks
...
- ZYDIS_FORMATTER_HOOK_PRINT_DISPLACEMENT
- ZYDIS_FORMATTER_HOOK_PRINT_IMMEDIATE
2016-11-28 11:14:47 +01:00
flobernd
9a0b1da975
Added missing registers and CPUID feature-flags
2016-11-27 23:24:43 +01:00
flobernd
e481c3e401
Minor refactorings and changes to the instruction-formatter
...
- The formatter now makes use of the format-macros in inttypes.h for better portability
- Added formatter-hook ZYDIS_FORMATTER_HOOK_PRINT_SEGMENT
2016-11-26 18:41:58 +01:00
flobernd
83f41f0f55
Removed unneeded files
2016-11-26 13:15:35 +01:00
flobernd
816bb570c7
Complete rewrite of the instruction-formatter
...
- Added hooking functionality to support custom instruction-formatting
- Added FormatterHooks demo that demonstrates the hooking functionality
InstructionEditor:
- Fixed issues with still non-deterministic output on code-generation
2016-11-26 13:08:37 +01:00
flobernd
7f1c0bd8f1
Minor refactorings and bugfixes
2016-11-24 10:57:23 +01:00
flobernd
1159966784
Changed definition-sorting to produce deterministic output (JSON and generated tables)
2016-11-22 21:47:54 +01:00
flobernd
7f7cbd8dcd
Internal changes and optimizations of the generated tables and the InstructionEditor
2016-11-22 18:12:05 +01:00
flobernd
be56ef937d
Minor bugfixes and refactorings
2016-11-21 14:55:17 +01:00