Hermes/Dyforge is a program written in c++ allows you to inject a dll that can analyze all processes in a program, can be used for mod and reverse engeneering
| 1 | /* Capstone Disassembly Engine */ |
| 2 | /* By Nguyen Anh Quynh <aquynh@gmail.com>, 2014 */ |
| 3 | /* Rot127 <unisono@quyllur.org>, 2022-2023 */ |
| 4 | |
| 5 | #ifndef CS_OPERAND_H |
| 6 | #define CS_OPERAND_H |
| 7 | |
| 8 | /// Common instruction operand types - to be consistent across all architectures. |
| 9 | typedef enum cs_op_type { |
| 10 | CS_OP_INVALID = 0, ///< uninitialized/invalid operand. |
| 11 | CS_OP_REG = 1, ///< Register operand. |
| 12 | CS_OP_IMM = 2, ///< Immediate operand. |
| 13 | CS_OP_FP = 3, ///< Floating-Point operand. |
| 14 | CS_OP_PRED = 4, ///< Predicate operand. |
| 15 | CS_OP_RESERVED_5 = 5, |
| 16 | CS_OP_RESERVED_6 = 6, |
| 17 | CS_OP_RESERVED_7 = 7, |
| 18 | CS_OP_RESERVED_8 = 8, |
| 19 | CS_OP_RESERVED_9 = 9, |
| 20 | CS_OP_RESERVED_10 = 10, |
| 21 | CS_OP_RESERVED_11 = 11, |
| 22 | CS_OP_RESERVED_12 = 12, |
| 23 | CS_OP_RESERVED_13 = 13, |
| 24 | CS_OP_RESERVED_14 = 14, |
| 25 | CS_OP_RESERVED_15 = 15, |
| 26 | CS_OP_SPECIAL = 0x10, ///< Special operands from archs |
| 27 | CS_OP_BOUND = 0x40, ///< Operand is associated with a previous operand. Used by AArch64 for SME operands. |
| 28 | CS_OP_MEM = 0x80, ///< Memory operand. Can be ORed with another operand type. |
| 29 | CS_OP_MEM_REG = CS_OP_MEM | CS_OP_REG, ///< Memory referencing register operand. |
| 30 | CS_OP_MEM_IMM = CS_OP_MEM | CS_OP_IMM, ///< Memory referencing immediate operand. |
| 31 | |
| 32 | } cs_op_type; |
| 33 | |
| 34 | /// Common instruction operand access types - to be consistent across all architectures. |
| 35 | /// It is possible to combine access types, for example: CS_AC_READ | CS_AC_WRITE |
| 36 | typedef enum cs_ac_type { |
| 37 | CS_AC_INVALID = 0, ///< Uninitialized/invalid access type. |
| 38 | CS_AC_READ = 1 << 0, ///< Operand read from memory or register. |
| 39 | CS_AC_WRITE = 1 << 1, ///< Operand write to memory or register. |
| 40 | CS_AC_READ_WRITE = |
| 41 | CS_AC_READ | |
| 42 | CS_AC_WRITE, ///< Operand reads and writes from/to memory or register. |
| 43 | } cs_ac_type; |
| 44 | |
| 45 | #endif // CS_OPERAND_H |
| 46 |