Commit Graph

141 Commits

Author SHA1 Message Date
Joel Höner c11929a5f7 Prefixed CMake options 2017-01-10 06:01:04 +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
Joel Höner cbc9460547 Added tool for testing Zydis against CPU behaviour (Intel PIN) 2017-01-06 02:04:21 +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 879f456b03 Fixed some instruction-definitions 2016-11-29 18:30:39 +01:00
flobernd 2e58e13d81 Fixed some instruction-definitions 2016-11-29 13:50:15 +01:00
flobernd 5480ad0aaf Fixed some instruction-definitions 2016-11-29 13:21:09 +01:00
flobernd 425a0d6cd7 Fixed some operand-definitions 2016-11-29 12:38:01 +01:00
flobernd bcfb84e59b Minor refactorings 2016-11-29 11:49:38 +01:00
flobernd e926c26d6e Merge branch 'develop' of github.com:zyantific/zyan-disassembler-engine into develop 2016-11-29 11:47:32 +01:00
Joel Höner e655e8a1b8 Fixed broken enum typedef 2016-11-29 04:09:41 +01:00
Joel Höner cb333fffef Fixed formatter hook example build on LP64 targets 2016-11-29 01:27:39 +01:00
Joel Höner 75921f9ca6 Altered instruction DB format
- support for multiple flag operations
- various definition fixes based on newly enabled editor heuristics
2016-11-28 23:25:26 +01:00
flobernd fbbbcbadb8 Merge branch 'develop' of github.com:zyantific/zyan-disassembler-engine into develop 2016-11-28 19:58:01 +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 bfcbe3e8c1 Minor bugfixes and refactorings 2016-11-28 15:03: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 805a407395 Merge branch 'develop' of github.com:zyantific/zyan-disassembler-engine into develop 2016-11-28 10:48:10 +01:00
Joel Höner 05d36bd39b fixed many inaccurate flag definitions 2016-11-28 02:44:17 +01:00
flobernd 25f5dfeff1 Added missing x86-flags 2016-11-27 23:54:55 +01:00
flobernd 9a0b1da975 Added missing registers and CPUID feature-flags 2016-11-27 23:24:43 +01:00
Joel Höner 90538a8040 ignore .DS_Store 2016-11-27 22:36:38 +01:00
Joel Höner 9ce1ba1b3b regs and flags for Intel VT-x instructions 2016-11-27 22:35:38 +01:00
flobernd 8dafd68211 Merge branch 'develop' of github.com:zyantific/zyan-disassembler-engine into develop 2016-11-27 20:15:19 +01:00
Joel Höner e4f89a05ee regs and flags for VSCALEFPD - XTEST 2016-11-27 19:40:22 +01:00
Joel Höner 08d7a198f3 regs and flags for VFNMADD132PD - VRSQRT28SS 2016-11-27 00:14:27 +01:00
Joel Höner 6240bb8f7d regs and flags for SYSCALL - VFMSUB231SS 2016-11-26 20:43:33 +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
Joel Höner 9a39623411 regs and flags for RCL - SWAPGS 2016-11-26 17:38:33 +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
Joel Höner 03b4d69b08 regs and flags PTWRITE - PXOR 2016-11-26 01:16:08 +01:00
Joel Höner e2a9329781 regs and flags for PABS - PTEST 2016-11-25 20:45:17 +01:00
Joel Höner d3d4c05246 fixed definitions for OUTS, INS 2016-11-25 18:21:09 +01:00
Joel Höner 39c1f3591e regs and flags for MOV - OUT 2016-11-25 18:13:04 +01:00
Joel Höner 4cbc832e5c fixed definitions for MOVS, LODS, STOS, CMPS, SCAS
plus added a few definitions forgotten in my last commit
2016-11-25 17:13:46 +01:00
flobernd 7f1c0bd8f1 Minor refactorings and bugfixes 2016-11-24 10:57:23 +01:00
flobernd 659ead2280 Fixed second operand missing for IVLPGA 2016-11-24 10:53:00 +01:00
Joel Höner 03751240c2 regs and flags for KORTESTB - MOVAPD 2016-11-24 05:41:22 +01:00
Joel Höner 44385df1d5 regs and flags for JCC & JMP 2016-11-24 01:31:01 +01:00
Joel Höner 87b9a281cf added flags and implicit regs for instructions DPPD-IRET 2016-11-24 00:31:49 +01:00
flobernd 32f8a798d2 Minor refactorings 2016-11-22 22:33:32 +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
flobernd c4dce1adb9 Added support for test-register operands (TR0..TR7)
- New instructions: "mov TR, GPR32" and "mov GPR32, TR"
2016-11-14 03:39:17 +01:00