From d43ee03f121c5715472ed37a2636831dadd70c0d Mon Sep 17 00:00:00 2001 From: Admin <2762713521@qq.com> Date: Fri, 21 Jun 2024 01:59:45 +0800 Subject: [PATCH] TestBindMacros --- gengo/bind/sdkMerge/sdk_test.go | 12 +-- gengo/bind/sdkMerge/tmp/vars.go | 167 -------------------------------- 2 files changed, 6 insertions(+), 173 deletions(-) diff --git a/gengo/bind/sdkMerge/sdk_test.go b/gengo/bind/sdkMerge/sdk_test.go index cf48e9718..b0612b192 100644 --- a/gengo/bind/sdkMerge/sdk_test.go +++ b/gengo/bind/sdkMerge/sdk_test.go @@ -31,12 +31,12 @@ func ContainsLetter(s string) bool { return false } -func MacrosInHeader() (lines []string) { - lines = make([]string, 0) +func MacrosInHeader() (m *maps.SafeMap[string, bool]) { + m = new(maps.SafeMap[string, bool]) for _, s := range stream.NewBuffer("macros.log").ToLines() { for _, s2 := range stream.NewBuffer("combined_headers.h").ToLines() { - if strings.Contains(s2, s) { - lines = append(lines, s) + if strings.HasPrefix(s, s2) { + m.Set(s, true) } } } @@ -45,8 +45,8 @@ func MacrosInHeader() (lines []string) { func TestBindMacros(t *testing.T) { mylog.Todo("handle macros func like CTL_CODE(DeviceType,Function,Method,Access) ( ((DeviceType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method)) ") - mustPrefixs := MacrosInHeader() + mylog.Trace("number of macros: %d", mustPrefixs.Len()) vars := stream.NewBuffer("") vars.WriteStringLn("package sdk") @@ -71,7 +71,7 @@ func TestBindMacros(t *testing.T) { lines := stream.NewBuffer("macros.log").ToLines() for _, line := range lines { line = strings.TrimPrefix(line, "#define ") - for _, skip := range mustPrefixs { + for _, skip := range mustPrefixs.Keys() { if strings.HasPrefix(line, skip) { line = strings.TrimSpace(line) line = strings.TrimSuffix(line, " ") diff --git a/gengo/bind/sdkMerge/tmp/vars.go b/gengo/bind/sdkMerge/tmp/vars.go index aed476d2f..0919fd1b0 100644 --- a/gengo/bind/sdkMerge/tmp/vars.go +++ b/gengo/bind/sdkMerge/tmp/vars.go @@ -1,168 +1 @@ package sdk - -var ( - MaxSerialPacketSize = 10 * NORMAL_PAGE_SIZE - PAGE_SIZE = 4096 - DEBUGGEE_BP_APPLY_TO_ALL_CORES = 0xffffffff - DEBUGGEE_BP_APPLY_TO_ALL_PROCESSES = 0xffffffff - DEBUGGEE_BP_APPLY_TO_ALL_THREADS = 0xffffffff - DEBUGGEE_SHOW_ALL_REGISTERS = 0xffffffff - DEBUGGER_DEBUGGEE_IS_RUNNING_NO_CORE = 0xffffffff - DEBUGGER_ERROR_ACTION_BUFFER_SIZE_IS_ZERO = 0xc0000002 - DEBUGGER_ERROR_BREAKPOINT_ALREADY_DISABLED = 0xc000001b - DEBUGGER_ERROR_BREAKPOINT_ALREADY_ENABLED = 0xc000001c - DEBUGGER_ERROR_BREAKPOINT_ALREADY_EXISTS_ON_THE_ADDRESS = 0xc0000019 - DEBUGGER_ERROR_BREAKPOINT_ID_NOT_FOUND = 0xc000001a - DEBUGGER_ERROR_COULD_NOT_BUILD_THE_EPT_HOOK = 0xc0000027 - DEBUGGER_ERROR_COULD_NOT_FIND_ALLOCATION_TYPE = 0xc0000028 - DEBUGGER_ERROR_COULD_NOT_FIND_PREACTIVATION_TYPE = 0xc000004d - DEBUGGER_ERROR_DEBUGGER_ALREADY_UHIDE = 0xc000000a - DEBUGGER_ERROR_DETAILS_OR_SWITCH_PROCESS_INVALID_PARAMETER = 0xc0000020 - DEBUGGER_ERROR_DETAILS_OR_SWITCH_THREAD_INVALID_PARAMETER = 0xc0000021 - DEBUGGER_ERROR_EDIT_MEMORY_STATUS_INVALID_ADDRESS_BASED_ON_CURRENT_PROCESS = 0xc000000c - DEBUGGER_ERROR_EDIT_MEMORY_STATUS_INVALID_ADDRESS_BASED_ON_OTHER_PROCESS = 0xc000000d - DEBUGGER_ERROR_EDIT_MEMORY_STATUS_INVALID_PARAMETER = 0xc000000b - DEBUGGER_ERROR_EPT_COULD_NOT_SPLIT_THE_LARGE_PAGE_TO_4KB_PAGES = 0xc0000024 - DEBUGGER_ERROR_EPT_FAILED_TO_GET_PML1_ENTRY_OF_TARGET_ADDRESS = 0xc0000025 - DEBUGGER_ERROR_EPT_MULTIPLE_HOOKS_IN_A_SINGLE_PAGE = 0xc0000026 - DEBUGGER_ERROR_EVENT_IS_NOT_APPLIED = 0xc000001f - DEBUGGER_ERROR_EVENT_TYPE_IS_INVALID = 0xc0000003 - DEBUGGER_ERROR_EXCEPTION_INDEX_EXCEED_FIRST_32_ENTRIES = 0xc0000007 - DEBUGGER_ERROR_FUNCTIONS_FOR_INITIALIZING_PEB_ADDRESSES_ARE_NOT_INITIALIZED = 0xc000002d - DEBUGGER_ERROR_INSTANT_EVENT_ACTION_BIG_PREALLOCATED_BUFFER_NOT_FOUND = 0xc0000046 - DEBUGGER_ERROR_INSTANT_EVENT_ACTION_REGULAR_PREALLOCATED_BUFFER_NOT_FOUND = 0xc0000045 - DEBUGGER_ERROR_INSTANT_EVENT_BIG_PREALLOCATED_BUFFER_NOT_FOUND = 0xc0000043 - DEBUGGER_ERROR_INSTANT_EVENT_BIG_REQUESTED_SAFE_BUFFER_NOT_FOUND = 0xc000004a - DEBUGGER_ERROR_INSTANT_EVENT_PREALLOCATED_BUFFER_IS_NOT_ENOUGH_FOR_ACTION_BUFFER = 0xc0000047 - DEBUGGER_ERROR_INSTANT_EVENT_PREALLOCATED_BUFFER_IS_NOT_ENOUGH_FOR_EVENT_AND_CONDITIONALS = 0xc0000041 - DEBUGGER_ERROR_INSTANT_EVENT_PREALLOCATED_BUFFER_IS_NOT_ENOUGH_FOR_REQUESTED_SAFE_BUFFER = 0xc000004b - DEBUGGER_ERROR_INSTANT_EVENT_REGULAR_PREALLOCATED_BUFFER_NOT_FOUND = 0xc0000042 - DEBUGGER_ERROR_INSTANT_EVENT_REGULAR_REQUESTED_SAFE_BUFFER_NOT_FOUND = 0xc0000049 - DEBUGGER_ERROR_INSTANT_EVENT_REQUESTED_OPTIONAL_BUFFER_IS_BIGGER_THAN_DEBUGGERS_SEND_RECEIVE_STACK = 0xc0000048 - DEBUGGER_ERROR_INTERRUPT_INDEX_IS_NOT_VALID = 0xc0000008 - DEBUGGER_ERROR_INVALID_ACTION_TYPE = 0xc0000001 - DEBUGGER_ERROR_INVALID_ADDRESS = 0xc0000005 - DEBUGGER_ERROR_INVALID_CORE_ID = 0xc0000006 - DEBUGGER_ERROR_INVALID_PHYSICAL_ADDRESS = 0xc0000052 - DEBUGGER_ERROR_INVALID_PROCESS_ID = 0xc000001e - DEBUGGER_ERROR_INVALID_REGISTER_NUMBER = 0xc0000017 - DEBUGGER_ERROR_INVALID_TEST_QUERY_INDEX = 0xc0000029 - DEBUGGER_ERROR_INVALID_THREAD_DEBUGGING_TOKEN = 0xc0000030 - DEBUGGER_ERROR_MAXIMUM_BREAKPOINT_FOR_A_SINGLE_PAGE_IS_HIT = 0xc0000022 - DEBUGGER_ERROR_MAXIMUM_BREAKPOINT_WITHOUT_CONTINUE = 0xc0000018 - DEBUGGER_ERROR_MEMORY_TYPE_INVALID = 0xc000001d - DEBUGGER_ERROR_MODE_EXECUTION_IS_INVALID = 0xc000003f - DEBUGGER_ERROR_MODIFY_EVENTS_INVALID_TAG = 0xc000000e - DEBUGGER_ERROR_MODIFY_EVENTS_INVALID_TYPE_OF_ACTION = 0xc000000f - DEBUGGER_ERROR_NOT_ALL_CORES_ARE_LOCKED_FOR_APPLYING_INSTANT_EVENT = 0xc0000050 - DEBUGGER_ERROR_PREPARING_DEBUGGEE_INVALID_BAUDRATE = 0xc0000012 - DEBUGGER_ERROR_PREPARING_DEBUGGEE_INVALID_CORE_IN_REMOTE_DEBUGGE = 0xc0000014 - DEBUGGER_ERROR_PREPARING_DEBUGGEE_INVALID_SERIAL_PORT = 0xc0000013 - DEBUGGER_ERROR_PREPARING_DEBUGGEE_TO_RUN_SCRIPT = 0xc0000016 - DEBUGGER_ERROR_PREPARING_DEBUGGEE_UNABLE_TO_SWITCH_TO_NEW_PROCESS = 0xc0000015 - DEBUGGER_ERROR_PRE_ALLOCATED_BUFFER_IS_EMPTY = 0xc0000023 - DEBUGGER_ERROR_PROCESS_ID_CANNOT_BE_SPECIFIED_WHILE_APPLYING_EVENT_FROM_VMX_ROOT_MODE = 0xc0000040 - DEBUGGER_ERROR_READING_MEMORY_INVALID_PARAMETER = 0xc000003c - DEBUGGER_ERROR_STEPPINGS_EITHER_THREAD_NOT_FOUND_OR_DISABLED = 0xc0000011 - DEBUGGER_ERROR_STEPPING_INVALID_PARAMETER = 0xc0000010 - DEBUGGER_ERROR_TAG_NOT_EXISTS = 0xc0000000 - DEBUGGER_ERROR_TARGET_SWITCHING_CORE_IS_NOT_LOCKED = 0xc0000051 - DEBUGGER_ERROR_THE_MODE_EXEC_TRAP_IS_NOT_INITIALIZED = 0xc000004e - DEBUGGER_ERROR_THE_TARGET_EVENT_IS_DISABLED_BUT_CANNOT_BE_CLEARED_PRIRITY_BUFFER_IS_FULL = 0xc000004f - DEBUGGER_ERROR_THE_TRAP_FLAG_LIST_IS_FULL = 0xc000003d - DEBUGGER_ERROR_THE_USER_DEBUGGER_NOT_ATTACHED_TO_THE_PROCESS = 0xc0000033 - DEBUGGER_ERROR_UNABLE_TO_ALLOCATE_REQUESTED_SAFE_BUFFER = 0xc000004c - DEBUGGER_ERROR_UNABLE_TO_ATTACH_TO_AN_ALREADY_ATTACHED_PROCESS = 0xc0000032 - DEBUGGER_ERROR_UNABLE_TO_ATTACH_TO_TARGET_USER_MODE_PROCESS = 0xc000002a - DEBUGGER_ERROR_UNABLE_TO_CREATE_ACTION_CANNOT_ALLOCATE_BUFFER = 0xc0000044 - DEBUGGER_ERROR_UNABLE_TO_CREATE_EVENT = 0xc0000004 - DEBUGGER_ERROR_UNABLE_TO_DETACH_AS_THERE_ARE_PAUSED_THREADS = 0xc0000034 - DEBUGGER_ERROR_UNABLE_TO_DETECT_32_BIT_OR_64_BIT_PROCESS = 0xc000002e - DEBUGGER_ERROR_UNABLE_TO_GET_CALLSTACK = 0xc0000038 - DEBUGGER_ERROR_UNABLE_TO_GET_MODULES_OF_THE_PROCESS = 0xc0000037 - DEBUGGER_ERROR_UNABLE_TO_HIDE_OR_UNHIDE_DEBUGGER = 0xc0000009 - DEBUGGER_ERROR_UNABLE_TO_KILL_THE_PROCESS = 0xc000002f - DEBUGGER_ERROR_UNABLE_TO_KILL_THE_PROCESS_DOES_NOT_EXISTS = 0xc000003e - DEBUGGER_ERROR_UNABLE_TO_PAUSE_THE_PROCESS_THREADS = 0xc0000031 - DEBUGGER_ERROR_UNABLE_TO_QUERY_COUNT_OF_PROCESSES_OR_THREADS = 0xc0000039 - DEBUGGER_ERROR_UNABLE_TO_REMOVE_HOOKS = 0xc000002c - DEBUGGER_ERROR_UNABLE_TO_REMOVE_HOOKS_ENTRYPOINT_NOT_REACHED = 0xc000002b - DEBUGGER_ERROR_UNABLE_TO_SWITCH_PROCESS_ID_OR_THREAD_ID_IS_INVALID = 0xc0000035 - DEBUGGER_ERROR_UNABLE_TO_SWITCH_THERE_IS_NO_THREAD_ON_THE_PROCESS = 0xc0000036 - DEBUGGER_ERROR_UNKNOWN_TEST_QUERY_RECEIVED = 0xc000003b - DEBUGGER_ERROR_USING_SHORT_CIRCUITING_EVENT_WITH_POST_EVENT_MODE_IS_FORBIDDEDN = 0xc000003a - DEBUGGER_EVENT_ALL_IO_PORTS = 0xffffffff - DEBUGGER_EVENT_APPLY_TO_ALL_CORES = 0xffffffff - DEBUGGER_EVENT_APPLY_TO_ALL_PROCESSES = 0xffffffff - DEBUGGER_EVENT_EXCEPTIONS_ALL_FIRST_32_ENTRIES = 0xffffffff - DEBUGGER_EVENT_MSR_READ_OR_WRITE_ALL_MSRS = 0xffffffff - DEBUGGER_EVENT_SYSCALL_ALL_SYSRET_OR_SYSCALLS = 0xffffffff - DEBUGGER_MODIFY_EVENTS_APPLY_TO_ALL_TAG = 0xffffffffffffffff - DEBUGGER_OPERATION_WAS_SUCCESSFUL = 0xFFFFFFFF - DEBUGGER_READ_AND_WRITE_ON_MSR_APPLY_ALL_CORES = 0xffffffff - DEBUGGER_REMOTE_TRACKING_DEFAULT_COUNT_OF_STEPPING = 0xffffffff - DEFAULT_INITIAL_DEBUGGEE_TO_DEBUGGER_OFFSET = 0x200 - DEFAULT_INITIAL_DEBUGGER_TO_DEBUGGEE_OFFSET = 0x0 - DEFAULT_PORT = "50000" - DISASSEMBLY_MAXIMUM_DISTANCE_FROM_OBJECT_NAME = 0xffff - DbgPrintLimitation = 512 - DebuggerEventTagStartSeed = 0x1000000 - DebuggerOutputSourceMaximumRemoteSourceForSingleEvent = 0x5 - DebuggerOutputSourceTagStartSeed = 0x1 - DebuggerScriptEngineMemcpyMovingBufferSize = 64 - DebuggerThreadDebuggingTagStartSeed = 0x1000000 - INDICATOR_OF_HYPERDBG_PACKET = 0x4859504552444247 - MAXIMUM_BIG_INSTANT_EVENTS = 0 - MAXIMUM_BREAKPOINTS_WITHOUT_CONTINUE = 100 - MAXIMUM_CALL_INSTR_SIZE = 7 - MAXIMUM_CHARACTER_FOR_OS_NAME = 256 - MAXIMUM_GUID_AND_AGE_SIZE = 60 - MAXIMUM_INSTR_SIZE = 16 - MAXIMUM_NUMBER_OF_INITIAL_PREALLOCATED_EPT_HOOKS = 5 - MAXIMUM_NUMBER_OF_THREAD_INFORMATION_FOR_TRAPS = 200 - MAXIMUM_REGULAR_INSTANT_EVENTS = 20 - MAXIMUM_SUPPORTED_SYMBOLS = 1000 - MAX_FUNCTION_NAME_LENGTH = 32 - MAX_PATH = 260 - MAX_STACK_BUFFER_COUNT = 128 - MAX_TEMP_COUNT = 128 - MAX_VAR_COUNT = 512 - METHOD_BUFFERED = 0 - MaximumPacketsCapacity = 1000 - MaximumPacketsCapacityPriority = 50 - MaximumSearchResults = 0x1000 - NORMAL_PAGE_SIZE = 4096 - NULL64_ZERO = 0 - NULL_ZERO = 0 - OPERATION_LOG_ERROR_MESSAGE = 3 - OPERATION_LOG_INFO_MESSAGE = 1 - OPERATION_LOG_NON_IMMEDIATE_MESSAGE = 4 - OPERATION_LOG_WARNING_MESSAGE = 2 - OPERATION_LOG_WITH_TAG = 5 - POOLTAG = 0x48444247 - SECOND_LOWER_8_BITS = 0x000000000000ff00 - SERIAL_END_OF_BUFFER_CHARS_COUNT = 0x4 - SERIAL_END_OF_BUFFER_CHAR_1 = 0x00 - SERIAL_END_OF_BUFFER_CHAR_2 = 0x80 - SERIAL_END_OF_BUFFER_CHAR_3 = 0xEE - SERIAL_END_OF_BUFFER_CHAR_4 = 0xFF - TCP_END_OF_BUFFER_CHARS_COUNT = 0x4 - TCP_END_OF_BUFFER_CHAR_1 = 0x10 - TCP_END_OF_BUFFER_CHAR_2 = 0x20 - TCP_END_OF_BUFFER_CHAR_3 = 0x33 - TCP_END_OF_BUFFER_CHAR_4 = 0x44 - TOP_LEVEL_DRIVERS_VMCALL_STARTING_NUMBER = 0x00000200 - UPPER_32_BITS = 0xffffffff00000000 - UPPER_48_BITS = 0xffffffffffff0000 - UPPER_48_BITS_AND_LOWER_8_BITS = 0xffffffffffff00ff - UPPER_56_BITS = 0xffffffffffffff00 - VERSION_MAJOR = 1 - VERSION_MINOR = 0 - VERSION_PATCH = 0 - X86_FLAGS_FIXED = 0x00000002 - X86_FLAGS_IOPL_SHIFT = (12) - X86_FLAGS_IOPL_SHIFT_2ND_BIT = (13) - X86_FLAGS_RESERVED = 0xffc0802a - X86_FLAGS_RESERVED_BITS = 0xffc38028 - X86_FLAGS_RESERVED_ONES = 0x2 -)