2024-02-08 21:48:24 +08:00

93 lines
2.4 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#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
};
enum HookParamType : uint64_t
{
//默认为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
};
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
};