95 lines
2.4 KiB
C
Raw Normal View History

2024-02-07 20:59:24 +08:00
#pragma once
// texthook/const.h
// 8/23/2013 jichi
// Branch: ITH/common.h, rev 128
enum { STRING = 12, MESSAGE_SIZE = 500, PIPE_BUFFER_SIZE = 50000, SHIFT_JIS = 932, MAX_MODULE_SIZE = 120, PATTERN_SIZE = 30, HOOK_NAME_SIZE = 60, FIXED_SPLIT_VALUE = 0x10001 ,
HOOKCODE_LEN=500};
enum WildcardByte { XX = 0x11 };
enum HostCommandType {
HOST_COMMAND_NEW_HOOK,
HOST_COMMAND_REMOVE_HOOK,
HOST_COMMAND_FIND_HOOK,
HOST_COMMAND_MODIFY_HOOK,
HOST_COMMAND_HIJACK_PROCESS,
HOST_COMMAND_DETACH
};
enum HostNotificationType {
HOST_NOTIFICATION_TEXT,
HOST_NOTIFICATION_NEWHOOK,
HOST_NOTIFICATION_FOUND_HOOK,
HOST_NOTIFICATION_RMVHOOK,
HOST_NOTIFICATION_INSERTING_HOOK,
HOST_SETTEXTTHREADTYPE
};
2024-02-08 21:48:24 +08:00
enum HookParamType : uint64_t
2024-02-07 20:59:24 +08:00
{
//默认为CODEC_ANSI_LE&USING_CHAR
//若使用了text_fun|hook_before会改为默认USING_STRING这时若其实是USING_CHAR需标明USING_STRING
CODEC_ANSI_LE = 0,
CODEC_ANSI_BE = 0x4,
CODEC_UTF8 = 0x100,
CODEC_UTF16 = 0x2,
CODEC_UTF32=0x1000000,
USING_CHAR =0x2000000,//text_fun!=nullptr && (CODE_ANSI_BE||CODE_UTF16)
USING_STRING = 0x1,
DATA_INDIRECT = 0x8,
USING_SPLIT = 0x10, // use ctx2 or not
SPLIT_INDIRECT = 0x20,
MODULE_OFFSET = 0x40, // address is relative to module
FUNCTION_OFFSET = 0x80, // address is relative to function
NO_CONTEXT = 0x200,
HOOK_EMPTY = 0x400,
FIXING_SPLIT = 0x800,
DIRECT_READ = 0x1000, // /R read code instead of classic /H hook code
FULL_STRING = 0x2000,
HEX_DUMP = 0x4000,
KNOWN_UNSTABLE = 0x20000,
EMBED_ABLE=0x40000,
EMBED_DYNA_SJIS=0x80000,
EMBED_BEFORE_SIMPLE=0x200000,
EMBED_AFTER_NEW=0x400000,
EMBED_AFTER_OVERWRITE=0x800000,
EMBED_CODEC_UTF16=0x4000000,
BREAK_POINT=0x8000000
2024-02-07 20:59:24 +08:00
};
enum HookFontType : unsigned
{
F_CreateFontA=0x1,
F_CreateFontW=0x2,
F_CreateFontIndirectA=0x4,
F_CreateFontIndirectW=0x8,
F_GetGlyphOutlineA=0x10,
F_GetGlyphOutlineW=0x20,
F_GetTextExtentPoint32A=0x40,
F_GetTextExtentPoint32W=0x80,
F_GetTextExtentExPointA=0x100,
F_GetTextExtentExPointW=0x200,
//F_GetCharABCWidthsA=0x
//F_GetCharABCWidthsW=0x
F_TextOutA=0x400,
F_TextOutW=0x800,
F_ExtTextOutA=0x1000,
F_ExtTextOutW=0x2000,
F_DrawTextA=0x4000,
F_DrawTextW=0x8000,
F_DrawTextExA=0x10000,
F_DrawTextExW=0x20000,
F_CharNextA=0x40000,
//F_CharNextW=0x
//F_CharNextExA=0x
//F_CharNextExW=0x
F_CharPrevA=0x80000,
//F_CharPrevW=0x
F_MultiByteToWideChar=0x100000,
F_WideCharToMultiByte=0x200000
};