#ifndef __RIP_MOV_INST_H #define __RIP_MOV_INST_H #include "Windas.h" #include "XedWrap.h" #include "NativeCode.h" #define DWORD_MOV_INST_LENGTH 10 #define DWORD_MOV_INST_RIP_OFFSET 2 #define DWORD_MOV_INST_MOV_OFFSET 6 #define WORD_MOV_INST_LENGTH 9 #define WORD_MOV_INST_RIP_OFFSET 3 #define WORD_MOV_INST_MOV_OFFSET 7 #define BYTE_MOV_INST_LENGTH 7 #define BYTE_MOV_INST_RIP_OFFSET 2 #define BYTE_MOV_INST_MOV_OFFSET 6 BOOL ObfEmitRipRelativeMovD(PNATIVE_CODE_BLOCK Block, INT32 RipDelta, PUCHAR Data); BOOL ObfEmitRipRelativeMovW(PNATIVE_CODE_BLOCK Block, INT32 RipDelta, PUCHAR Data); BOOL ObfEmitRipRelativeMovB(PNATIVE_CODE_BLOCK Block, INT32 RipDelta, PUCHAR Data); PNATIVE_CODE_BLOCK ObfEmitPreMovForInst(PNATIVE_CODE_LINK Link, INT32 DeltaToInst = 0); PNATIVE_CODE_BLOCK ObfEmitPostMovForInst(PNATIVE_CODE_LINK Link, INT32 DeltaToInst = 0); #endif