Commit Graph

22 Commits

Author SHA1 Message Date
fG! 9f0eae62c1 Some FreeBSD fixes for examples and including Zydis in shared/static libraries 2018-07-12 00:43:27 +02:00
Joel Höner a343d90628
Fixed build on CentOS / RHEL
or, more generally speaking, any toolkit that doesn't enable C99 support by default

Closes #40
2018-05-21 22:11:25 +02:00
flobernd 7d2a3c05ad
Removed all trailing whitespaces 2018-02-28 18:15:18 +01:00
flobernd 203dee3bfb
Bugfixes and table changes
- Fixed decoding of `XOP` instructions
- Fixed handling of illegal `LOCK` prefixes for `XOP/VEX/EVEX/MVEX` instructions
- Significantly improved detection of bad register values
- Added SSE4a instructions (`EXTRQ`, `INSERTQ`, `MOVNTSD` and `MOVNTSS`)
- Added `VPOPCNTD`/`VPOPCNTQ` instructions with 128- and 256-bit vector-length
- Fixed exception-class of some `GFNI` instructions
- Fixed `RDRAND` and `RDSEED` instructions
- Fixed `SYSRET` instruction
2018-01-10 23:04:57 +01:00
flobernd 02030c3b92
Various changes and refactorings
- Moved types and functions from `FormatHelper.h/c` to `String.h/c`
- Added `ZydisMnemonicGetStringEx` function that returns the mnemonic-string as `ZydisString` struct
- Added `ZYDIS_UNUSED_PARAMETER` macro
- Fixed omitting of operands in custom formatter-hooks
- Fixed `FormatterHooks` example
- Refactored some code
2017-12-02 06:36:12 +01:00
Joel Höner a2cc8615ba Various minor no-libc fixes 2017-11-27 00:06:09 +01:00
Joel Höner 486add62ed Added static assert + verify int type sizes 2017-11-26 05:33:37 +01:00
Joel Höner 56f47f4863 Added support for compiling on ARM target 2017-11-26 04:38:32 +01:00
Joel Höner cf24ee010a Introduced custom integer types 2017-11-25 01:47:02 +01:00
flobernd 2e979ec737 Improved support for ICC 2017-09-15 01:45:01 +02:00
Joel Höner 891942533d Fixed GCC release build 2017-09-15 00:40:14 +02:00
Joel Höner 87394ef4da Added basic support for Windows kernel drivers
- Manual typedefs for fixed width int types
- Custom `vsnprintf` function
- Disable ZYDIS_ASSERT and ZYDIS_UNREACHABLE
2017-07-28 22:25:20 +02:00
Joel Höner 4140db6c1f Encoder progress, ZYDIS_UNREACHABLE for MSVC 2017-07-28 00:37:52 +02:00
Joel Höner 65091811d2 Added Doxyfile 2017-07-25 01:04:25 +02:00
flobernd df2dbd9109 Refactorings
- Renamed Types.h to CommonTypes.h
- Splitted DecoderTypes.h into SharedTypes.h and DecoderTypes.h
- Splitted InstructionTable.h into SharedData.h and DecoderData.h
- Implemented `ZydisGetEncodableInstructions` in EncoderData.h
- Some internal changes to the data-tables
2017-07-06 00:34:36 +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
Joel Höner de666d7a4a Improved handling of unreachable code 2017-05-05 19:26:03 +02: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
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 72907c6845 Added support for instructions with 5 operands
* optimized table structure to support instructions with 5 operands (vpermil2ps, vpermil2pd)
* updated InstructionEditor
2016-09-13 05:26:55 +02:00
flobernd 52dd9fac89 Fixed CMake file 2016-06-20 01:33:29 +02:00
flobernd 7c9a6db6af Initial version 2.0 release 2016-05-25 21:25:48 +02:00