mirror of
https://github.com/HIllya51/LunaHook.git
synced 2024-12-27 05:34:14 +08:00
d0e2bb27c2
Update hookcode.cpp
94 lines
2.4 KiB
C
94 lines
2.4 KiB
C
#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,
|
||
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
|
||
};
|
||
|
||
|
||
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
|
||
}; |