Commit Graph

544 Commits

Author SHA1 Message Date
flobernd 51686517c4
Backported 5080b7676efc80c54e3165e6c52c569ec0c8922f
fixes #44
2018-07-09 14:57:14 +02:00
flobernd 7f836e7e61
Backported some bugfixes from `future` branch
- Fixed incorrect assert condition (5eb4aab322f021025afbff3c282d900853555db8)
- Fixed gather register check for `VGATHERPF0{D|Q}{PS|PD}` instruction (c020b84cb4027eaced55b4bd61219d8a00f0c332)
- Fixed check for invalid BOUND registers (7de458fa242e9e38233e09262fdc10217c9a0293)
- Fixed printing of hex-suffix for `0` values (e85ef9244d9fe24bc639fb5cb2826f5819bc01f8)
2018-05-22 16:16:09 +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
Joel Höner 1aa5e648f1
Backported "Fixed a wrong assert condition" from future branch
Commit on future: e6dbba0bd314680dda64ef34e56cd12046ae8a2d
2018-05-21 16:00:06 +02:00
flobernd 14eeda7cfc
Fixed Discord link 2018-05-05 15:20:36 +02:00
flobernd 759284b6bb
Minor doxygen improvements 2018-03-22 19:09:35 +01:00
flobernd d49127c3d6
Fixed `ENCLS`, `ENCLU` and `ENCLV` instructions 2018-03-14 00:36:26 +01:00
flobernd 16c60185a6
Fixed check for invalid gather registers in non 64-bit mode 2018-03-13 13:24:20 +01:00
flobernd 16e6d0f02b
Minor code optimizations 2018-03-13 00:23:24 +01:00
flobernd 4bea392853
Renamed `SAVESSP` to `SAVEPREVSSP` 2018-03-11 19:07:33 +01:00
flobernd 1ea01917c2
Minor bugfixes
- Fixed decoding of `IS4` encoded operands in non 64-bit mode
- Fixed printing of `XACQUIRE`/`XRELEASE` prefixes (formatter)
2018-03-07 23:13:09 +01:00
flobernd 7ddc6bdd85
Minor bugfixes
- Changed type of `MOFFS` memory operands to `ZYDIS_MEMOP_TYPE_MEM` instead of `ZYDIS_MEMOP_TYPE_INVALID`
- `SCAS`, `INS` and `STOS` does not allow the default `ES` segment to be overridden with a segment override prefix
2018-03-07 16:30:00 +01:00
flobernd 74c3211dd0
Added missing `extern "C"` block in `String.h` 2018-03-07 14:56:45 +01:00
flobernd bad25117d2
Formatter: Fixed padding of immediate values 2018-03-07 14:56:04 +01:00
flobernd 3263a65b56
Updated version to 2.0.1.0 2018-03-07 14:55:25 +01:00
flobernd 2852492484
Merge branch 'develop' 2018-03-01 17:06:40 +01:00
flobernd 778401a51c
CMake: Fixed `ZYDIS_FEATURE_DECODER` and `ZYDIS_FEATURE_FORMATTER` options 2018-02-28 21:16:32 +01:00
Joel Höner 771d2017fd
Clean-ups in `CMakeLists.txt`
- Strip trailing whitespace
- Indent using spaces
- Prefix `ZYDIS_WHOLE_PROGRAM_OPTIMIZATION`
2018-02-28 20:06:43 +01:00
Joel Höner ec174a7efd
Various small README tweaks 2018-02-28 20:01:22 +01:00
flobernd 81b45d39dd
Removed non-ASCII characters 2018-02-28 18:57:04 +01:00
flobernd 7d2a3c05ad
Removed all trailing whitespaces 2018-02-28 18:15:18 +01:00
flobernd dd90a66d99
Added `WHOLE_PROGRAM_OPTIMIZATION` option to the CMake file 2018-02-27 23:56:43 +01:00
flobernd 5a90a4d628
Removed `ZYDIS_INLINE` attribute from all exported `ZydisString*` functions 2018-02-26 23:12:57 +01:00
flobernd c596748158
Minor cosmetic changes 2018-02-26 21:57:53 +01:00
flobernd 0e60679470
Minor changes to the internal formatter logic
- `ZYDIS_FORMATTER_HOOK_PRINT_MEMSIZE` is now directly invoked by `ZYDIS_FORMATTER_HOOK_FORMAT_OPERAND_MEM`
2018-02-26 13:13:11 +01:00
flobernd 1483f854f2
Cosmetical fixes 2018-02-24 23:45:31 +01:00
flobernd 6efd1ced36
Added doxygen documentation for generated enum values 2018-02-24 21:04:23 +01:00
flobernd 63f5b2f680
Minor refactorings
- Register enum is now auto generated
- Cosmetical changes
2018-02-24 20:59:35 +01:00
flobernd c6b3c5d242
Changed type of implicit memory operands to `ZYDIS_MEMOP_TYPE_MEM` instead of `ZYDIS_MEMOP_TYPE_INVALID` 2018-02-23 03:44:06 +01:00
flobernd 6a8825ead2
Renamed some string-functions to match the existing naming convention (`ZydisString*`) 2018-02-23 02:23:45 +01:00
flobernd ef22aef632
Exported `ZydisString*` functions 2018-02-23 01:34:06 +01:00
flobernd 098b37d6e7
Fixed some operand definitions
- Changed destination operand action of `PEXT`, `PDEP` and `ANDN` from read/write to write-only
2018-02-22 16:01:39 +01:00
flobernd 2cd7018b5b
Added `MONITORX`, `MWAITX` and `ENCLV` instructions 2018-02-19 18:59:33 +01:00
flobernd a4f0b9731e
Merge branch 'develop' of https://github.com/zyantific/zydis into develop 2018-02-08 01:48:51 +01:00
flobernd 05aba7a445
Minor bugfixes 2018-02-08 01:48:37 +01:00
Joel Höner fca59443d1 Install `ZydisExportConfig.h` 2018-02-06 19:47:55 +01:00
flobernd 289e85282d
Merge branch 'develop' of https://github.com/zyantific/zydis into develop 2018-02-06 19:37:41 +01:00
flobernd bbb864561d
More formatter changes
- Added `ZydisFormatterFormatOperand` and `ZydisFormatterFormatOperandEx` (this won't print AVX-512/KNC decorators)
- User defined callbacks should return `ZYDIS_STATUS_SKIP_OPERAND` to omit an operand (returning `ZYDIS_STATUS_SUCCESS` without writing to the buffer is now deprecated)
2018-02-06 19:35:54 +01:00
Joel Höner 320a90db53 Suppress second `include` in install rule
Resolves #31
2018-02-06 19:10:32 +01:00
flobernd 4e189721b2
Minor changes to the operand formatter hooks
`ZYDIS_FORMATTER_HOOK_PRE_OPERAND` and `ZYDIS_FORMATTER_HOOK_POST_OPERAND` can be used to omit a specific operand, if you return a status-code different to `ZYDIS_STATUS_SUCCESS`.
2018-02-05 23:49:50 +01:00
flobernd ca9898fa42
Omitting an operand by using formatter hooks will now correctly omit the semicolon as well 2018-02-05 23:34:54 +01:00
flobernd 74ef4ac22e
Fixed detection of bad gather registers in non 64-bit mode 2018-01-27 21:57:16 +01:00
flobernd 1f1be9fa21
Fixed non 64-bit mode mask-register error condition 2018-01-27 17:48:20 +01:00
flobernd 36f9172dad
Fixed some instruction definitions 2018-01-27 17:34:44 +01:00
flobernd 8c5e216e11
Fixed a bug in `ZydisRegisterGetClass`
resolves #29
2018-01-25 22:00:29 +01:00
flobernd f090a4a610
Updated CMake file 2018-01-19 23:35:34 +01:00
flobernd 67e04ec52f
Updated license and version-info 2018-01-19 02:38:18 +01:00
flobernd 9a43872b90
Fixed operand size of some conditional jump instructions 2018-01-19 02:36:46 +01:00
flobernd 61f607e1df
Minor optimizations and bugfixes
- Fixed `XCHG R8, RAX` falsely beeing decoded as `NOP`
- Fixed `EVEX/MVEX.R'` not beeing ignored in 16- and 32-bit mode
- Removed some unnecessary conditions from operand-action related code
2018-01-17 00:31:32 +01:00
flobernd 7074e363f0
Fixed formatting of memory operands with explicit segment register 2018-01-14 18:49:56 +01:00