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
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
e314c71db3
Added some undocumented `PREFETCH` instructions
2017-11-16 18:47:42 +01:00
flobernd
626d0bc238
Minor bugfixes
2017-11-14 07:33:15 +01:00
flobernd
adbfb9cd66
Added formatter properties to control padding of hexadecimal values
...
- Renamed `ZydisFormatterSetAttribute` to `ZydisFormatterSetProperty`
- Renamed some formatter enums
- Added `ZYDIS_FORMATTER_PROP_ADDR_PADDING`
- Added `ZYDIS_FORMATTER_PROP_DISP_PADDING`
- Added `ZYDIS_FORMATTER_PROP_IMM_PADDING`
2017-11-06 21:35:13 +01:00
flobernd
cbf06b1bf3
Minor interface changes
...
- Reverted last change
- Removed `ZydisFormatterInitEx`
- Added `ZydisFormatterSetAttribute`
2017-11-03 02:24:02 +01:00
flobernd
57f7ff8bcd
Implemented decoder-modes to support ISA-extensions that conflict with existing instructions
...
- Added decoder-modes
- `ZYDIS_DECODER_MODE_MINIMAL`
- `ZYDIS_DECODER_MODE_AMD_BRANCHES`
- `ZYDIS_DECODER_MODE_MPX`
- `ZYDIS_DECODER_MODE_CET`
- `ZYDIS_DECODER_MODE_LZCNT`
- `ZYDIS_DECODER_MODE_TZCNT`
- Removed `ZydisDecoderInitEx` and the possibility to pass a decoder-granularity (use `ZYDIS_DECODER_MODE_MINIMAL` instead)
2017-11-01 23:39:10 +01:00
flobernd
38df6e0d1e
Improved support for MPX instructions
2017-10-26 20:10:51 +02:00
Joel Höner
c77c9f2561
Move encoder to `feature/encoder` branch
...
- Won’t be ready until v2.1
2017-10-17 17:30:55 +02:00
flobernd
38975c8d3d
Minor refactorings
2017-09-23 19:53:48 +02:00
Joel Höner
425387e892
Added attribute info to `ZydisInfo` tool
2017-09-22 19:09:14 +02:00
flobernd
9222f80b97
Fixed formatting of signed 8-bit immediate operands (again)
...
- Renamed `operandSize` to `operandWidth`
- The `operandWidth` field is now set to 8-bit, if the instruction performs a byte-operation
2017-09-21 22:16:37 +02:00
flobernd
66972e43b4
Minor refactorings
2017-09-20 15:46:51 +02:00
flobernd
01b8267d47
Minor refactorings
...
- Adjusted datatype of some enums
- Renamed some things
- `ZydisDecodedInstruction.flags` -> `ZydisDecodedInstruction.accessedFlags`
- `ZydisDecodedInstruction.meta.roundingMode` -> `ZydisDecodedInstruction.meta.rounding.mode`
- `ZydisDecodedInstruction.meta.swizzleMode` -> `ZydisDecodedInstruction.meta.swizzle.mode`
- `ZydisDecodedInstruction.meta.conversionMode` -> `ZydisDecodedInstruction.meta.conversion.mode`
- `ZydisGetCPUFlagsByAction` -> `ZydisGetAccessedFlagsByAction`
2017-09-10 21:43:52 +02:00
flobernd
5914abc0be
Tables fixes and more meta-info
...
- Added exception-class meta-info
- Added CMake option for shared-libraries
- Fixed some instruction-definitions
- Updated VersionInfo.rc
2017-09-06 17:05:05 +02:00
flobernd
fafa93d40b
Internal refactorings and new meta-info
...
- Imported meta-info from Intel XED
- Added instruction-category meta-info to the `ZydisDecodedInstruction` struct
- Added isa-set meta-info to the `ZydisDecodedInstruction` struct
- Added isa-extension meta-info to the `ZydisDecodedInstruction` struct
2017-09-05 17:35:23 +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
flobernd
39369269e8
Fixed formatting bug in ZydisInfo tool
2017-07-24 22:03:41 +02:00
Joel Höner
df6b0cb628
Moved ZydisFuzzIn and ZydisPerfTest to examples
2017-07-24 21:59:54 +02:00
flobernd
d7a49370fe
Minor bugfixes
2017-07-19 16:56:12 +02:00
flobernd
fa4e683b01
Minor bugfixes
2017-07-18 20:02:32 +02:00
flobernd
2be83199d5
Further improvements to the `ZydisInfo` tool
2017-07-15 03:36:11 +02:00
flobernd
18eaba7cdd
Improved `ZydisInfo` tool
2017-07-14 22:55:32 +02:00
flobernd
5bdc173649
Added a tool that prints instruction details
2017-07-12 19:54:42 +02:00
Joel Höner
610d08960b
Merge branch 'develop' of https://github.com/zyantific/zyan-disassembler-engine into develop
...
# Conflicts:
# CMakeLists.txt
2017-07-06 08:17:38 +02:00
Joel Höner
26a971f624
Added timing code for macOS (PerfTest)
2017-07-06 08:04:35 +02:00
flobernd
f8f928a4a8
Added number of decoded instructions to the performance-test tool output
2017-07-05 16:28:16 +02:00
flobernd
447e89820a
Fixed performance-test tool
2017-07-04 16:13:37 +02:00
flobernd
b9cf56af4d
Refactorings
2017-07-04 16:10:21 +02:00
flobernd
bbf8b1193b
Added performance test
2017-07-03 21:10:04 +02:00
flobernd
87c9155207
Refactorings
2017-07-03 17:36:03 +02:00
flobernd
d12059e043
Fixed examples and tools
2017-07-03 03:58:25 +02:00
Joel Höner
b442fa55b4
Fixed tools
2017-06-25 23:28:15 +02:00
Joel Höner
40d6c39dbe
Renamed disassembler mode constants
...
ZYDIS_DISASSEMBLER_MODE_* -> ZYDIS_OPERATING_MODE_*
2017-04-12 21:12:18 +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
c9606c389d
Removed obsolete public decoder struct
2017-04-11 02:19:53 +02:00
Joel Höner
0376376b83
Temp. disabled encoder, updated CMake defaults
2017-04-08 19:36:43 +02:00
Joel Höner
cb98db80ea
Minor encoder cleanup
2017-01-22 17:38:14 +01:00
Joel Höner
87e80346f4
Fixed tools
2017-01-21 18:15:37 +01:00
Joel Höner
0a50bb9daa
Implemented encoding for XOP, VEX and EVEX
2017-01-20 21:18:13 +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
Joel Höner
67231ccdff
Increased read buffer size in tools
2017-01-12 10:29:42 +01:00
Joel Höner
4d0caac923
Fixed build for tools
2017-01-11 12:18:26 +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
be56ef937d
Minor bugfixes and refactorings
2016-11-21 14:55:17 +01:00
flobernd
a636fa353e
Fixed fuzzer tool
2016-09-13 05:35:25 +02:00
Joel Höner
5eee4a6b18
made output buffer in fuzzer input tool dynamic
2016-09-01 19:14:08 +02:00