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
flobernd
57ccc70415
Optimized detection of bad register values
2018-01-11 22:30:23 +01:00
flobernd
44bbc7cea2
Improved `ZydisPerfTest`
2018-01-11 02:44:26 +01:00
flobernd
9c71771875
Added missing `LOCK` prefix check for `3DNOW` encoded instructions
2018-01-11 02:39:43 +01:00
flobernd
7fb7eea11f
Bugfixes and table changes
...
- Fixed `SSE4A` ISA-set and ISA-ext
- Added missing `VEX`-encoded `GFNI` instructions
- Added check for invalid `GATHER`/`SCATTER` registers
2018-01-11 02:17:17 +01:00
flobernd
407a527ae7
Improved `ZydisPerfTest`
2018-01-10 23:11:57 +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
fb519fe933
Internal refactorings and performance optimizations
2018-01-10 17:02:11 +01:00
flobernd
585fa7035a
Minor refactorings
2017-12-31 17:27:59 +01:00
flobernd
38c99667c4
Minor table changes
...
- Fixed `LWPINS` and `LWPVAL` instructions
- Added `PCONFIG` instruction
2017-12-20 23:36:59 +01:00
flobernd
f8369ac13c
Minor table fixes
...
- Changed `XSAVE`/`XSAVEOPT` memory operand from W to RW
- Changed amount of bytes popped from stack by the `IRET` instruction
2017-12-20 09:56:51 +01:00
flobernd
e0ec33b5b3
Updated readme
2017-12-20 09:56:51 +01:00
Florian Bernd
ef1d9af54f
Update README.md
...
Updated badges
2017-12-13 11:55:30 +01:00
Mattiwatti
81e6da39c9
Update MSVC project files
2017-12-11 00:14:37 +01:00
flobernd
e4f9054c97
Changed size of `AVX2`-gather memory operands to match `AVX512`
...
The operand-size is now the size of a single element instead of the total size (like it already is for the `AVX512` gather/scatter instructions)
2017-12-10 10:44:59 +01:00
Joel Höner
82f72cf5a1
Fix register strings
2017-12-04 00:37:32 +01:00
Joel Höner
31c369d3f1
Merge branch 'feature/zydis-string' into develop
...
# Conflicts:
# include/Zydis/Formatter.h
# src/Formatter.c
2017-12-03 22:47:01 +01:00
flobernd
dff821402b
Refactored `ZydisFormatter`
...
- Added `ZYDIS_FORMATTER_HOOK_PRE_OPERAND`, `ZYDIS_FORMATTER_HOOK_POST_OPERAND` and `ZYDIS_FORMATTER_HOOK_PRINT_REGISTER`
- Renamed `ZYDIS_FORMATTER_HOOK_PRINT_DISPLACEMENT` to `ZYDIS_FORMATTER_HOOK_PRINT_DISP`
- Renamed `ZYDIS_FORMATTER_HOOK_PRINT_IMMEDIATE` to `ZYDIS_FORMATTER_HOOK_PRINT_IMM`
- Renamed `ZYDIS_FORMATTER_HOOK_PRINT_OPERANDSIZE` to `ZYDIS_FORMATTER_HOOK_PRINT_MEMSIZE`
- Removed `ZYDIS_FORMATTER_HOOK_PRINT_SEGMENT`
- Renamed some enums and types
- Revised documentation
- Fixed examples and tools
2017-12-03 22:38:20 +01:00
flobernd
e145402d2e
Added `ZydisUPointer` and `ZydisIPointer` types
2017-12-03 22:38:20 +01:00
flobernd
451d7fb1a8
Fixed and refactored some enums
...
- Fixed `ZydisRegister` enum and string-table
- Renamed `ZYDIS_XXX_MAX_BITS` in `ZYDIS_XXX_MIN_BITS`
2017-12-03 22:38:20 +01:00
flobernd
043b1f5a5a
Minor improvements to the instruction-formatter
...
- Added zero-termination for the output string of `ZydisFormatterFormatInstruction` / `ZydisFormatterFormatInstructionEx` in error cases
- Renamed some internal functions
2017-12-03 22:38:20 +01:00
flobernd
1d6c296c5f
Renamed `ZydisStringAppendStaticEx` to `ZydisStringAppendExStatic`
2017-12-03 22:38:20 +01:00
flobernd
e943baa683
Removed `InternalTypes.h` from `CMakeLists.txt`
2017-12-03 22:38:20 +01:00
flobernd
39facdf5fe
Reworked `ZydisString`
2017-12-03 22:38:20 +01:00