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,
|
2024-02-08 21:48:24 +08:00
|
|
|
|
EMBED_CODEC_UTF16=0x4000000
|
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
|
|
|
|
|
};
|