From 4692f86dfde16ffc2d019bf561c116ccccf63c5d Mon Sep 17 00:00:00 2001 From: "Mr. eXoDia" Date: Thu, 13 Mar 2014 11:43:03 +0100 Subject: [PATCH] - better solution configuration (build everything + dependencies) - AStyle all over the place - removed local TitanEngine.lib files (now uses the latest compiled one) - added icon to TitanScriptGui - removed local TitanEngine.h files (now uses ..\SDK\CPP\TitanEngine.h) - english xD - x64 configurations for TitanUnitTest & TitanScriptGui --- TitanEngine.sln | 18 +- TitanEngine/Global.Engine.GUI.cpp | 5 +- TitanEngine/stdafx.cpp | 4 - TitanScriptGui/MAINICON.ico | Bin 0 -> 15342 bytes TitanScriptGui/TitanEngine.h | 934 ------------------ TitanScriptGui/TitanEngine.lib | Bin 101964 -> 0 bytes TitanScriptGui/TitanScript.h | 52 +- TitanScriptGui/TitanScriptGui.cpp | 264 ++--- TitanScriptGui/TitanScriptGui.h | 6 +- TitanScriptGui/TitanScriptGui.rc | Bin 5910 -> 7214 bytes TitanScriptGui/TitanScriptGui.vcxproj | 272 +++-- TitanScriptGui/TitanScriptGui.vcxproj.filters | 115 ++- TitanScriptGui/resource.h | Bin 1908 -> 1998 bytes TitanScriptGui/stdafx.cpp | 9 +- TitanScriptGui/stdafx.h | 25 +- TitanScriptGui/targetver.h | 6 +- TitanUnitTest/TitanEngine.h | 934 ------------------ TitanUnitTest/TitanEngine.lib | Bin 101964 -> 0 bytes TitanUnitTest/TitanScript.h | 52 +- TitanUnitTest/TitanUnitTest.cpp | 82 +- TitanUnitTest/TitanUnitTest.vcxproj | 268 +++-- TitanUnitTest/TitanUnitTest.vcxproj.filters | 16 +- TitanUnitTest/stdafx.cpp | 9 +- TitanUnitTest/stdafx.h | 21 +- TitanUnitTest/targetver.h | 11 +- 25 files changed, 699 insertions(+), 2404 deletions(-) create mode 100644 TitanScriptGui/MAINICON.ico delete mode 100644 TitanScriptGui/TitanEngine.h delete mode 100644 TitanScriptGui/TitanEngine.lib delete mode 100644 TitanUnitTest/TitanEngine.h delete mode 100644 TitanUnitTest/TitanEngine.lib diff --git a/TitanEngine.sln b/TitanEngine.sln index 75e344e..69436f8 100644 --- a/TitanEngine.sln +++ b/TitanEngine.sln @@ -4,8 +4,14 @@ Microsoft Visual Studio Solution File, Format Version 11.00 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TitanEngine", "TitanEngine\TitanEngine.vcxproj", "{9C7B8246-FDDA-48C7-9634-044969701E40}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TitanUnitTest", "TitanUnitTest\TitanUnitTest.vcxproj", "{5B5AB3CD-4D32-43B0-8840-E05C9483381D}" + ProjectSection(ProjectDependencies) = postProject + {9C7B8246-FDDA-48C7-9634-044969701E40} = {9C7B8246-FDDA-48C7-9634-044969701E40} + EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TitanScriptGui", "TitanScriptGui\TitanScriptGui.vcxproj", "{49C88677-C374-4AE2-B431-8F3B424BF245}" + ProjectSection(ProjectDependencies) = postProject + {9C7B8246-FDDA-48C7-9634-044969701E40} = {9C7B8246-FDDA-48C7-9634-044969701E40} + EndProjectSection EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -25,16 +31,20 @@ Global {9C7B8246-FDDA-48C7-9634-044969701E40}.Release|x64.Build.0 = Release|x64 {5B5AB3CD-4D32-43B0-8840-E05C9483381D}.Debug|Win32.ActiveCfg = Debug|Win32 {5B5AB3CD-4D32-43B0-8840-E05C9483381D}.Debug|Win32.Build.0 = Debug|Win32 - {5B5AB3CD-4D32-43B0-8840-E05C9483381D}.Debug|x64.ActiveCfg = Debug|Win32 + {5B5AB3CD-4D32-43B0-8840-E05C9483381D}.Debug|x64.ActiveCfg = Debug|x64 + {5B5AB3CD-4D32-43B0-8840-E05C9483381D}.Debug|x64.Build.0 = Debug|x64 {5B5AB3CD-4D32-43B0-8840-E05C9483381D}.Release|Win32.ActiveCfg = Release|Win32 {5B5AB3CD-4D32-43B0-8840-E05C9483381D}.Release|Win32.Build.0 = Release|Win32 - {5B5AB3CD-4D32-43B0-8840-E05C9483381D}.Release|x64.ActiveCfg = Release|Win32 + {5B5AB3CD-4D32-43B0-8840-E05C9483381D}.Release|x64.ActiveCfg = Release|x64 + {5B5AB3CD-4D32-43B0-8840-E05C9483381D}.Release|x64.Build.0 = Release|x64 {49C88677-C374-4AE2-B431-8F3B424BF245}.Debug|Win32.ActiveCfg = Debug|Win32 {49C88677-C374-4AE2-B431-8F3B424BF245}.Debug|Win32.Build.0 = Debug|Win32 - {49C88677-C374-4AE2-B431-8F3B424BF245}.Debug|x64.ActiveCfg = Debug|Win32 + {49C88677-C374-4AE2-B431-8F3B424BF245}.Debug|x64.ActiveCfg = Debug|x64 + {49C88677-C374-4AE2-B431-8F3B424BF245}.Debug|x64.Build.0 = Debug|x64 {49C88677-C374-4AE2-B431-8F3B424BF245}.Release|Win32.ActiveCfg = Release|Win32 {49C88677-C374-4AE2-B431-8F3B424BF245}.Release|Win32.Build.0 = Release|Win32 - {49C88677-C374-4AE2-B431-8F3B424BF245}.Release|x64.ActiveCfg = Release|Win32 + {49C88677-C374-4AE2-B431-8F3B424BF245}.Release|x64.ActiveCfg = Release|x64 + {49C88677-C374-4AE2-B431-8F3B424BF245}.Release|x64.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/TitanEngine/Global.Engine.GUI.cpp b/TitanEngine/Global.Engine.GUI.cpp index 896a10b..796d594 100644 --- a/TitanEngine/Global.Engine.GUI.cpp +++ b/TitanEngine/Global.Engine.GUI.cpp @@ -55,7 +55,10 @@ long EngineWndProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) if(uMsg == WM_INITDIALOG) { SendMessageA(hwndDlg, WM_SETTEXT, NULL, (LPARAM)&szWindowUnpackerTitle); - SendMessageA(hwndDlg, WM_SETICON, ICON_BIG, (LPARAM)LoadIconA((HINSTANCE)engineHandle, MAKEINTRESOURCEA(IDI_ICON2))); + HICON hIconLarge = (HICON)LoadImage(engineHandle, MAKEINTRESOURCE(IDI_ICON1), IMAGE_ICON, 32, 32, LR_DEFAULTSIZE); + SendMessage(hwndDlg, WM_SETICON, ICON_BIG, (LPARAM)hIconLarge); + HICON hIconSmall = (HICON)LoadImage(engineHandle, MAKEINTRESOURCE(IDI_ICON1), IMAGE_ICON, 16, 16, LR_DEFAULTSIZE); + SendMessage(hwndDlg, WM_SETICON, ICON_SMALL, (LPARAM)hIconSmall); SetDlgItemTextA(hwndDlg, IDD_UNPACKERTITLE, szWindowUnpackerLongTitle); SetDlgItemTextA(hwndDlg, IDC_FILENAME, "filename.exe"); CheckDlgButton(hwndDlg, IDC_REALING, 1); diff --git a/TitanEngine/stdafx.cpp b/TitanEngine/stdafx.cpp index 01b5e14..a27b824 100644 --- a/TitanEngine/stdafx.cpp +++ b/TitanEngine/stdafx.cpp @@ -1,5 +1 @@ -// stdafx.cpp : source file that includes just the standard includes -// UnpackerEngine.pch will be the pre-compiled header -// stdafx.obj will contain the pre-compiled type information - #include "stdafx.h" diff --git a/TitanScriptGui/MAINICON.ico b/TitanScriptGui/MAINICON.ico new file mode 100644 index 0000000000000000000000000000000000000000..3da8e95c2e1a2f313820f4fe6cb21baeaacf1820 GIT binary patch literal 15342 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 D+6OFw literal 0 HcmV?d00001 diff --git a/TitanScriptGui/TitanEngine.h b/TitanScriptGui/TitanEngine.h deleted file mode 100644 index 03b8667..0000000 --- a/TitanScriptGui/TitanEngine.h +++ /dev/null @@ -1,934 +0,0 @@ -#ifndef TITANENGINE -#define TITANENGINE - -#define TITCALL __cdecl - -#if _MSC_VER > 1000 -#pragma once -#endif - -#include - -#pragma pack(push, 1) - -// Global.Constant.Structure.Declaration: -// Engine.External: -const BYTE UE_ACCESS_READ = 0; -const BYTE UE_ACCESS_WRITE = 1; -const BYTE UE_ACCESS_ALL = 2; - -const BYTE UE_HIDE_PEBONLY = 0; -const BYTE UE_HIDE_BASIC = 1; - -const BYTE UE_PLUGIN_CALL_REASON_PREDEBUG = 1; -const BYTE UE_PLUGIN_CALL_REASON_EXCEPTION = 2; -const BYTE UE_PLUGIN_CALL_REASON_POSTDEBUG = 3; -const BYTE UE_PLUGIN_CALL_REASON_UNHANDLEDEXCEPTION = 4; - -const BYTE TEE_HOOK_NRM_JUMP = 1; -const BYTE TEE_HOOK_NRM_CALL = 3; -const BYTE TEE_HOOK_IAT = 5; - -const BYTE UE_ENGINE_ALOW_MODULE_LOADING = 1; -const BYTE UE_ENGINE_AUTOFIX_FORWARDERS = 2; -const BYTE UE_ENGINE_PASS_ALL_EXCEPTIONS = 3; -const BYTE UE_ENGINE_NO_CONSOLE_WINDOW = 4; -const BYTE UE_ENGINE_BACKUP_FOR_CRITICAL_FUNCTIONS = 5; -const BYTE UE_ENGINE_CALL_PLUGIN_CALLBACK = 6; -const BYTE UE_ENGINE_RESET_CUSTOM_HANDLER = 7; -const BYTE UE_ENGINE_CALL_PLUGIN_DEBUG_CALLBACK = 8; - -const BYTE UE_OPTION_REMOVEALL = 1; -const BYTE UE_OPTION_DISABLEALL = 2; -const BYTE UE_OPTION_REMOVEALLDISABLED = 3; -const BYTE UE_OPTION_REMOVEALLENABLED = 4; - -const BYTE UE_STATIC_DECRYPTOR_XOR = 1; -const BYTE UE_STATIC_DECRYPTOR_SUB = 2; -const BYTE UE_STATIC_DECRYPTOR_ADD = 3; - -const BYTE UE_STATIC_DECRYPTOR_FOREWARD = 1; -const BYTE UE_STATIC_DECRYPTOR_BACKWARD = 2; - -const BYTE UE_STATIC_KEY_SIZE_1 = 1; -const BYTE UE_STATIC_KEY_SIZE_2 = 2; -const BYTE UE_STATIC_KEY_SIZE_4 = 4; -const BYTE UE_STATIC_KEY_SIZE_8 = 8; - -const BYTE UE_STATIC_APLIB = 1; -const BYTE UE_STATIC_APLIB_DEPACK = 2; -const BYTE UE_STATIC_LZMA = 3; - -const BYTE UE_STATIC_HASH_MD5 = 1; -const BYTE UE_STATIC_HASH_SHA1 = 2; -const BYTE UE_STATIC_HASH_CRC32 = 3; - -const DWORD UE_RESOURCE_LANGUAGE_ANY = -1; - -const BYTE UE_PE_OFFSET = 0; -const BYTE UE_IMAGEBASE = 1; -const BYTE UE_OEP = 2; -const BYTE UE_SIZEOFIMAGE = 3; -const BYTE UE_SIZEOFHEADERS = 4; -const BYTE UE_SIZEOFOPTIONALHEADER = 5; -const BYTE UE_SECTIONALIGNMENT = 6; -const BYTE UE_IMPORTTABLEADDRESS = 7; -const BYTE UE_IMPORTTABLESIZE = 8; -const BYTE UE_RESOURCETABLEADDRESS = 9; -const BYTE UE_RESOURCETABLESIZE = 10; -const BYTE UE_EXPORTTABLEADDRESS = 11; -const BYTE UE_EXPORTTABLESIZE = 12; -const BYTE UE_TLSTABLEADDRESS = 13; -const BYTE UE_TLSTABLESIZE = 14; -const BYTE UE_RELOCATIONTABLEADDRESS = 15; -const BYTE UE_RELOCATIONTABLESIZE = 16; -const BYTE UE_TIMEDATESTAMP = 17; -const BYTE UE_SECTIONNUMBER = 18; -const BYTE UE_CHECKSUM = 19; -const BYTE UE_SUBSYSTEM = 20; -const BYTE UE_CHARACTERISTICS = 21; -const BYTE UE_NUMBEROFRVAANDSIZES = 22; -const BYTE UE_BASEOFCODE = 23; -const BYTE UE_BASEOFDATA = 24; -//leaving some enum space here for future additions -const BYTE UE_SECTIONNAME = 40; -const BYTE UE_SECTIONVIRTUALOFFSET = 41; -const BYTE UE_SECTIONVIRTUALSIZE = 42; -const BYTE UE_SECTIONRAWOFFSET = 43; -const BYTE UE_SECTIONRAWSIZE = 44; -const BYTE UE_SECTIONFLAGS = 45; - -const long UE_VANOTFOUND = -2; - -const BYTE UE_CH_BREAKPOINT = 1; -const BYTE UE_CH_SINGLESTEP = 2; -const BYTE UE_CH_ACCESSVIOLATION = 3; -const BYTE UE_CH_ILLEGALINSTRUCTION = 4; -const BYTE UE_CH_NONCONTINUABLEEXCEPTION = 5; -const BYTE UE_CH_ARRAYBOUNDSEXCEPTION = 6; -const BYTE UE_CH_FLOATDENORMALOPERAND = 7; -const BYTE UE_CH_FLOATDEVIDEBYZERO = 8; -const BYTE UE_CH_INTEGERDEVIDEBYZERO = 9; -const BYTE UE_CH_INTEGEROVERFLOW = 10; -const BYTE UE_CH_PRIVILEGEDINSTRUCTION = 11; -const BYTE UE_CH_PAGEGUARD = 12; -const BYTE UE_CH_EVERYTHINGELSE = 13; -const BYTE UE_CH_CREATETHREAD = 14; -const BYTE UE_CH_EXITTHREAD = 15; -const BYTE UE_CH_CREATEPROCESS = 16; -const BYTE UE_CH_EXITPROCESS = 17; -const BYTE UE_CH_LOADDLL = 18; -const BYTE UE_CH_UNLOADDLL = 19; -const BYTE UE_CH_OUTPUTDEBUGSTRING = 20; -const BYTE UE_CH_AFTEREXCEPTIONPROCESSING = 21; -const BYTE UE_CH_ALLEVENTS = 22; -const BYTE UE_CH_SYSTEMBREAKPOINT = 23; -const BYTE UE_CH_UNHANDLEDEXCEPTION = 24; -const BYTE UE_CH_RIPEVENT = 25; - -const BYTE UE_OPTION_HANDLER_RETURN_HANDLECOUNT = 1; -const BYTE UE_OPTION_HANDLER_RETURN_ACCESS = 2; -const BYTE UE_OPTION_HANDLER_RETURN_FLAGS = 3; -const BYTE UE_OPTION_HANDLER_RETURN_TYPENAME = 4; - -const BYTE UE_BREAKPOINT_INT3 = 1; -const BYTE UE_BREAKPOINT_LONG_INT3 = 2; -const BYTE UE_BREAKPOINT_UD2 = 3; - -const BYTE UE_BPXREMOVED = 0; -const BYTE UE_BPXACTIVE = 1; -const BYTE UE_BPXINACTIVE = 2; - -const BYTE UE_BREAKPOINT = 0; -const BYTE UE_SINGLESHOOT = 1; -const BYTE UE_HARDWARE = 2; -const BYTE UE_MEMORY = 3; -const BYTE UE_MEMORY_READ = 4; -const BYTE UE_MEMORY_WRITE = 5; -const BYTE UE_MEMORY_EXECUTE = 6; -const DWORD UE_BREAKPOINT_TYPE_INT3 = 0x10000000; -const DWORD UE_BREAKPOINT_TYPE_LONG_INT3 = 0x20000000; -const DWORD UE_BREAKPOINT_TYPE_UD2 = 0x30000000; - -const BYTE UE_HARDWARE_EXECUTE = 4; -const BYTE UE_HARDWARE_WRITE = 5; -const BYTE UE_HARDWARE_READWRITE = 6; - -const BYTE UE_HARDWARE_SIZE_1 = 7; -const BYTE UE_HARDWARE_SIZE_2 = 8; -const BYTE UE_HARDWARE_SIZE_4 = 9; -const BYTE UE_HARDWARE_SIZE_8 = 10; - -const BYTE UE_ON_LIB_LOAD = 1; -const BYTE UE_ON_LIB_UNLOAD = 2; -const BYTE UE_ON_LIB_ALL = 3; - -const BYTE UE_APISTART = 0; -const BYTE UE_APIEND = 1; - -const BYTE UE_PLATFORM_x86 = 1; -const BYTE UE_PLATFORM_x64 = 2; -const BYTE UE_PLATFORM_ALL = 3; - -const BYTE UE_FUNCTION_STDCALL = 1; -const BYTE UE_FUNCTION_CCALL = 2; -const BYTE UE_FUNCTION_FASTCALL = 3; -const BYTE UE_FUNCTION_STDCALL_RET = 4; -const BYTE UE_FUNCTION_CCALL_RET = 5; -const BYTE UE_FUNCTION_FASTCALL_RET = 6; -const BYTE UE_FUNCTION_STDCALL_CALL = 7; -const BYTE UE_FUNCTION_CCALL_CALL = 8; -const BYTE UE_FUNCTION_FASTCALL_CALL = 9; -const BYTE UE_PARAMETER_BYTE = 0; -const BYTE UE_PARAMETER_WORD = 1; -const BYTE UE_PARAMETER_DWORD = 2; -const BYTE UE_PARAMETER_QWORD = 3; -const BYTE UE_PARAMETER_PTR_BYTE = 4; -const BYTE UE_PARAMETER_PTR_WORD = 5; -const BYTE UE_PARAMETER_PTR_DWORD = 6; -const BYTE UE_PARAMETER_PTR_QWORD = 7; -const BYTE UE_PARAMETER_STRING = 8; -const BYTE UE_PARAMETER_UNICODE = 9; - -const BYTE UE_EAX = 1; -const BYTE UE_EBX = 2; -const BYTE UE_ECX = 3; -const BYTE UE_EDX = 4; -const BYTE UE_EDI = 5; -const BYTE UE_ESI = 6; -const BYTE UE_EBP = 7; -const BYTE UE_ESP = 8; -const BYTE UE_EIP = 9; -const BYTE UE_EFLAGS = 10; -const BYTE UE_DR0 = 11; -const BYTE UE_DR1 = 12; -const BYTE UE_DR2 = 13; -const BYTE UE_DR3 = 14; -const BYTE UE_DR6 = 15; -const BYTE UE_DR7 = 16; -const BYTE UE_RAX = 17; -const BYTE UE_RBX = 18; -const BYTE UE_RCX = 19; -const BYTE UE_RDX = 20; -const BYTE UE_RDI = 21; -const BYTE UE_RSI = 22; -const BYTE UE_RBP = 23; -const BYTE UE_RSP = 24; -const BYTE UE_RIP = 25; -const BYTE UE_RFLAGS = 26; -const BYTE UE_R8 = 27; -const BYTE UE_R9 = 28; -const BYTE UE_R10 = 29; -const BYTE UE_R11 = 30; -const BYTE UE_R12 = 31; -const BYTE UE_R13 = 32; -const BYTE UE_R14 = 33; -const BYTE UE_R15 = 34; -const BYTE UE_CIP = 35; -const BYTE UE_CSP = 36; -#ifdef _WIN64 -const BYTE UE_CFLAGS = UE_RFLAGS; -#else -const BYTE UE_CFLAGS = UE_EFLAGS; -#endif -const BYTE UE_SEG_GS = 37; -const BYTE UE_SEG_FS = 38; -const BYTE UE_SEG_ES = 39; -const BYTE UE_SEG_DS = 40; -const BYTE UE_SEG_CS = 41; -const BYTE UE_SEG_SS = 42; - -typedef struct -{ - DWORD PE32Offset; - DWORD ImageBase; - DWORD OriginalEntryPoint; - DWORD BaseOfCode; - DWORD BaseOfData; - DWORD NtSizeOfImage; - DWORD NtSizeOfHeaders; - WORD SizeOfOptionalHeaders; - DWORD FileAlignment; - DWORD SectionAligment; - DWORD ImportTableAddress; - DWORD ImportTableSize; - DWORD ResourceTableAddress; - DWORD ResourceTableSize; - DWORD ExportTableAddress; - DWORD ExportTableSize; - DWORD TLSTableAddress; - DWORD TLSTableSize; - DWORD RelocationTableAddress; - DWORD RelocationTableSize; - DWORD TimeDateStamp; - WORD SectionNumber; - DWORD CheckSum; - WORD SubSystem; - WORD Characteristics; - DWORD NumberOfRvaAndSizes; -} PE32Struct, *PPE32Struct; - -typedef struct -{ - DWORD PE64Offset; - DWORD64 ImageBase; - DWORD OriginalEntryPoint; - DWORD BaseOfCode; - DWORD BaseOfData; - DWORD NtSizeOfImage; - DWORD NtSizeOfHeaders; - WORD SizeOfOptionalHeaders; - DWORD FileAlignment; - DWORD SectionAligment; - DWORD ImportTableAddress; - DWORD ImportTableSize; - DWORD ResourceTableAddress; - DWORD ResourceTableSize; - DWORD ExportTableAddress; - DWORD ExportTableSize; - DWORD TLSTableAddress; - DWORD TLSTableSize; - DWORD RelocationTableAddress; - DWORD RelocationTableSize; - DWORD TimeDateStamp; - WORD SectionNumber; - DWORD CheckSum; - WORD SubSystem; - WORD Characteristics; - DWORD NumberOfRvaAndSizes; -} PE64Struct, *PPE64Struct; - -#if defined(_WIN64) -typedef PE64Struct PEStruct; -#else -typedef PE32Struct PEStruct; -#endif - -typedef struct -{ - bool NewDll; - int NumberOfImports; - ULONG_PTR ImageBase; - ULONG_PTR BaseImportThunk; - ULONG_PTR ImportThunk; - char* APIName; - char* DLLName; -} ImportEnumData, *PImportEnumData; - -typedef struct -{ - HANDLE hThread; - DWORD dwThreadId; - void* ThreadStartAddress; - void* ThreadLocalBase; -} THREAD_ITEM_DATA, *PTHREAD_ITEM_DATA; - -typedef struct -{ - HANDLE hFile; - void* BaseOfDll; - HANDLE hFileMapping; - void* hFileMappingView; - char szLibraryPath[MAX_PATH]; - char szLibraryName[MAX_PATH]; -} LIBRARY_ITEM_DATA, *PLIBRARY_ITEM_DATA; - -typedef struct -{ - HANDLE hFile; - void* BaseOfDll; - HANDLE hFileMapping; - void* hFileMappingView; - wchar_t szLibraryPath[MAX_PATH]; - wchar_t szLibraryName[MAX_PATH]; -} LIBRARY_ITEM_DATAW, *PLIBRARY_ITEM_DATAW; - -typedef struct -{ - HANDLE hProcess; - DWORD dwProcessId; - HANDLE hThread; - DWORD dwThreadId; - HANDLE hFile; - void* BaseOfImage; - void* ThreadStartAddress; - void* ThreadLocalBase; -} PROCESS_ITEM_DATA, *PPROCESS_ITEM_DATA; - -typedef struct -{ - ULONG ProcessId; - HANDLE hHandle; -} HandlerArray, *PHandlerArray; - -typedef struct -{ - char PluginName[64]; - DWORD PluginMajorVersion; - DWORD PluginMinorVersion; - HMODULE PluginBaseAddress; - void* TitanDebuggingCallBack; - void* TitanRegisterPlugin; - void* TitanReleasePlugin; - void* TitanResetPlugin; - bool PluginDisabled; -} PluginInformation, *PPluginInformation; - -const size_t TEE_MAXIMUM_HOOK_SIZE = 14; -const size_t TEE_MAXIMUM_HOOK_RELOCS = 7; -#if defined(_WIN64) -const size_t TEE_MAXIMUM_HOOK_INSERT_SIZE = 14; -#else -const size_t TEE_MAXIMUM_HOOK_INSERT_SIZE = 5; -#endif - -typedef struct HOOK_ENTRY -{ - bool IATHook; - BYTE HookType; - DWORD HookSize; - void* HookAddress; - void* RedirectionAddress; - BYTE HookBytes[TEE_MAXIMUM_HOOK_SIZE]; - BYTE OriginalBytes[TEE_MAXIMUM_HOOK_SIZE]; - void* IATHookModuleBase; - DWORD IATHookNameHash; - bool HookIsEnabled; - bool HookIsRemote; - void* PatchedEntry; - DWORD RelocationInfo[TEE_MAXIMUM_HOOK_RELOCS]; - int RelocationCount; -} HOOK_ENTRY, *PHOOK_ENTRY; - -const BYTE UE_DEPTH_SURFACE = 0; -const BYTE UE_DEPTH_DEEP = 1; - -const BYTE UE_UNPACKER_CONDITION_SEARCH_FROM_EP = 1; - -const BYTE UE_UNPACKER_CONDITION_LOADLIBRARY = 1; -const BYTE UE_UNPACKER_CONDITION_GETPROCADDRESS = 2; -const BYTE UE_UNPACKER_CONDITION_ENTRYPOINTBREAK = 3; -const BYTE UE_UNPACKER_CONDITION_RELOCSNAPSHOT1 = 4; -const BYTE UE_UNPACKER_CONDITION_RELOCSNAPSHOT2 = 5; - -const BYTE UE_FIELD_OK = 0; -const BYTE UE_FIELD_BROKEN_NON_FIXABLE = 1; -const BYTE UE_FIELD_BROKEN_NON_CRITICAL = 2; -const BYTE UE_FIELD_BROKEN_FIXABLE_FOR_STATIC_USE = 3; -const BYTE UE_FIELD_BROKEN_BUT_CAN_BE_EMULATED = 4; -const BYTE UE_FIELD_FIXABLE_NON_CRITICAL = 5; -const BYTE UE_FIELD_FIXABLE_CRITICAL = 6; -const BYTE UE_FIELD_NOT_PRESET = 7; -const BYTE UE_FIELD_NOT_PRESET_WARNING = 8; - -const BYTE UE_RESULT_FILE_OK = 10; -const BYTE UE_RESULT_FILE_INVALID_BUT_FIXABLE = 11; -const BYTE UE_RESULT_FILE_INVALID_AND_NON_FIXABLE = 12; -const BYTE UE_RESULT_FILE_INVALID_FORMAT = 13; - -typedef struct -{ - BYTE OveralEvaluation; - bool EvaluationTerminatedByException; - bool FileIs64Bit; - bool FileIsDLL; - bool FileIsConsole; - bool MissingDependencies; - bool MissingDeclaredAPIs; - BYTE SignatureMZ; - BYTE SignaturePE; - BYTE EntryPoint; - BYTE ImageBase; - BYTE SizeOfImage; - BYTE FileAlignment; - BYTE SectionAlignment; - BYTE ExportTable; - BYTE RelocationTable; - BYTE ImportTable; - BYTE ImportTableSection; - BYTE ImportTableData; - BYTE IATTable; - BYTE TLSTable; - BYTE LoadConfigTable; - BYTE BoundImportTable; - BYTE COMHeaderTable; - BYTE ResourceTable; - BYTE ResourceData; - BYTE SectionTable; -} FILE_STATUS_INFO, *PFILE_STATUS_INFO; - -typedef struct -{ - BYTE OveralEvaluation; - bool FixingTerminatedByException; - bool FileFixPerformed; - bool StrippedRelocation; - bool DontFixRelocations; - DWORD OriginalRelocationTableAddress; - DWORD OriginalRelocationTableSize; - bool StrippedExports; - bool DontFixExports; - DWORD OriginalExportTableAddress; - DWORD OriginalExportTableSize; - bool StrippedResources; - bool DontFixResources; - DWORD OriginalResourceTableAddress; - DWORD OriginalResourceTableSize; - bool StrippedTLS; - bool DontFixTLS; - DWORD OriginalTLSTableAddress; - DWORD OriginalTLSTableSize; - bool StrippedLoadConfig; - bool DontFixLoadConfig; - DWORD OriginalLoadConfigTableAddress; - DWORD OriginalLoadConfigTableSize; - bool StrippedBoundImports; - bool DontFixBoundImports; - DWORD OriginalBoundImportTableAddress; - DWORD OriginalBoundImportTableSize; - bool StrippedIAT; - bool DontFixIAT; - DWORD OriginalImportAddressTableAddress; - DWORD OriginalImportAddressTableSize; - bool StrippedCOM; - bool DontFixCOM; - DWORD OriginalCOMTableAddress; - DWORD OriginalCOMTableSize; -} FILE_FIX_INFO, *PFILE_FIX_INFO; - -#ifdef __cplusplus -extern "C" { -#endif /*__cplusplus*/ - -// Global.Function.Declaration: -// TitanEngine.Dumper.functions: -__declspec(dllimport) bool TITCALL DumpProcess(HANDLE hProcess, LPVOID ImageBase, char* szDumpFileName, ULONG_PTR EntryPoint); -__declspec(dllimport) bool TITCALL DumpProcessW(HANDLE hProcess, LPVOID ImageBase, wchar_t* szDumpFileName, ULONG_PTR EntryPoint); -__declspec(dllimport) bool TITCALL DumpProcessEx(DWORD ProcessId, LPVOID ImageBase, char* szDumpFileName, ULONG_PTR EntryPoint); -__declspec(dllimport) bool TITCALL DumpProcessExW(DWORD ProcessId, LPVOID ImageBase, wchar_t* szDumpFileName, ULONG_PTR EntryPoint); -__declspec(dllimport) bool TITCALL DumpMemory(HANDLE hProcess, LPVOID MemoryStart, ULONG_PTR MemorySize, char* szDumpFileName); -__declspec(dllimport) bool TITCALL DumpMemoryW(HANDLE hProcess, LPVOID MemoryStart, ULONG_PTR MemorySize, wchar_t* szDumpFileName); -__declspec(dllimport) bool TITCALL DumpMemoryEx(DWORD ProcessId, LPVOID MemoryStart, ULONG_PTR MemorySize, char* szDumpFileName); -__declspec(dllimport) bool TITCALL DumpMemoryExW(DWORD ProcessId, LPVOID MemoryStart, ULONG_PTR MemorySize, wchar_t* szDumpFileName); -__declspec(dllimport) bool TITCALL DumpRegions(HANDLE hProcess, char* szDumpFolder, bool DumpAboveImageBaseOnly); -__declspec(dllimport) bool TITCALL DumpRegionsW(HANDLE hProcess, wchar_t* szDumpFolder, bool DumpAboveImageBaseOnly); -__declspec(dllimport) bool TITCALL DumpRegionsEx(DWORD ProcessId, char* szDumpFolder, bool DumpAboveImageBaseOnly); -__declspec(dllimport) bool TITCALL DumpRegionsExW(DWORD ProcessId, wchar_t* szDumpFolder, bool DumpAboveImageBaseOnly); -__declspec(dllimport) bool TITCALL DumpModule(HANDLE hProcess, LPVOID ModuleBase, char* szDumpFileName); -__declspec(dllimport) bool TITCALL DumpModuleW(HANDLE hProcess, LPVOID ModuleBase, wchar_t* szDumpFileName); -__declspec(dllimport) bool TITCALL DumpModuleEx(DWORD ProcessId, LPVOID ModuleBase, char* szDumpFileName); -__declspec(dllimport) bool TITCALL DumpModuleExW(DWORD ProcessId, LPVOID ModuleBase, wchar_t* szDumpFileName); -__declspec(dllimport) bool TITCALL PastePEHeader(HANDLE hProcess, LPVOID ImageBase, char* szDebuggedFileName); -__declspec(dllimport) bool TITCALL PastePEHeaderW(HANDLE hProcess, LPVOID ImageBase, wchar_t* szDebuggedFileName); -__declspec(dllimport) bool TITCALL ExtractSection(char* szFileName, char* szDumpFileName, DWORD SectionNumber); -__declspec(dllimport) bool TITCALL ExtractSectionW(wchar_t* szFileName, wchar_t* szDumpFileName, DWORD SectionNumber); -__declspec(dllimport) bool TITCALL ResortFileSections(char* szFileName); -__declspec(dllimport) bool TITCALL ResortFileSectionsW(wchar_t* szFileName); -__declspec(dllimport) bool TITCALL FindOverlay(char* szFileName, LPDWORD OverlayStart, LPDWORD OverlaySize); -__declspec(dllimport) bool TITCALL FindOverlayW(wchar_t* szFileName, LPDWORD OverlayStart, LPDWORD OverlaySize); -__declspec(dllimport) bool TITCALL ExtractOverlay(char* szFileName, char* szExtractedFileName); -__declspec(dllimport) bool TITCALL ExtractOverlayW(wchar_t* szFileName, wchar_t* szExtractedFileName); -__declspec(dllimport) bool TITCALL AddOverlay(char* szFileName, char* szOverlayFileName); -__declspec(dllimport) bool TITCALL AddOverlayW(wchar_t* szFileName, wchar_t* szOverlayFileName); -__declspec(dllimport) bool TITCALL CopyOverlay(char* szInFileName, char* szOutFileName); -__declspec(dllimport) bool TITCALL CopyOverlayW(wchar_t* szInFileName, wchar_t* szOutFileName); -__declspec(dllimport) bool TITCALL RemoveOverlay(char* szFileName); -__declspec(dllimport) bool TITCALL RemoveOverlayW(wchar_t* szFileName); -__declspec(dllimport) bool TITCALL MakeAllSectionsRWE(char* szFileName); -__declspec(dllimport) bool TITCALL MakeAllSectionsRWEW(wchar_t* szFileName); -__declspec(dllimport) long TITCALL AddNewSectionEx(char* szFileName, char* szSectionName, DWORD SectionSize, DWORD SectionAttributes, LPVOID SectionContent, DWORD ContentSize); -__declspec(dllimport) long TITCALL AddNewSectionExW(wchar_t* szFileName, char* szSectionName, DWORD SectionSize, DWORD SectionAttributes, LPVOID SectionContent, DWORD ContentSize); -__declspec(dllimport) long TITCALL AddNewSection(char* szFileName, char* szSectionName, DWORD SectionSize); -__declspec(dllimport) long TITCALL AddNewSectionW(wchar_t* szFileName, char* szSectionName, DWORD SectionSize); -__declspec(dllimport) bool TITCALL ResizeLastSection(char* szFileName, DWORD NumberOfExpandBytes, bool AlignResizeData); -__declspec(dllimport) bool TITCALL ResizeLastSectionW(wchar_t* szFileName, DWORD NumberOfExpandBytes, bool AlignResizeData); -__declspec(dllimport) void TITCALL SetSharedOverlay(char* szFileName); -__declspec(dllimport) void TITCALL SetSharedOverlayW(wchar_t* szFileName); -__declspec(dllimport) char* TITCALL GetSharedOverlay(); -__declspec(dllimport) wchar_t* TITCALL GetSharedOverlayW(); -__declspec(dllimport) bool TITCALL DeleteLastSection(char* szFileName); -__declspec(dllimport) bool TITCALL DeleteLastSectionW(wchar_t* szFileName); -__declspec(dllimport) bool TITCALL DeleteLastSectionEx(char* szFileName, DWORD NumberOfSections); -__declspec(dllimport) bool TITCALL DeleteLastSectionExW(wchar_t* szFileName, DWORD NumberOfSections); -__declspec(dllimport) long long TITCALL GetPE32DataFromMappedFile(ULONG_PTR FileMapVA, DWORD WhichSection, DWORD WhichData); -__declspec(dllimport) long long TITCALL GetPE32Data(char* szFileName, DWORD WhichSection, DWORD WhichData); -__declspec(dllimport) long long TITCALL GetPE32DataW(wchar_t* szFileName, DWORD WhichSection, DWORD WhichData); -__declspec(dllimport) bool TITCALL GetPE32DataFromMappedFileEx(ULONG_PTR FileMapVA, LPVOID DataStorage); -__declspec(dllimport) bool TITCALL GetPE32DataEx(char* szFileName, LPVOID DataStorage); -__declspec(dllimport) bool TITCALL GetPE32DataExW(wchar_t* szFileName, LPVOID DataStorage); -__declspec(dllimport) bool TITCALL SetPE32DataForMappedFile(ULONG_PTR FileMapVA, DWORD WhichSection, DWORD WhichData, ULONG_PTR NewDataValue); -__declspec(dllimport) bool TITCALL SetPE32Data(char* szFileName, DWORD WhichSection, DWORD WhichData, ULONG_PTR NewDataValue); -__declspec(dllimport) bool TITCALL SetPE32DataW(wchar_t* szFileName, DWORD WhichSection, DWORD WhichData, ULONG_PTR NewDataValue); -__declspec(dllimport) bool TITCALL SetPE32DataForMappedFileEx(ULONG_PTR FileMapVA, LPVOID DataStorage); -__declspec(dllimport) bool TITCALL SetPE32DataEx(char* szFileName, LPVOID DataStorage); -__declspec(dllimport) bool TITCALL SetPE32DataExW(wchar_t* szFileName, LPVOID DataStorage); -__declspec(dllimport) long TITCALL GetPE32SectionNumberFromVA(ULONG_PTR FileMapVA, ULONG_PTR AddressToConvert); -__declspec(dllimport) long long TITCALL ConvertVAtoFileOffset(ULONG_PTR FileMapVA, ULONG_PTR AddressToConvert, bool ReturnType); -__declspec(dllimport) long long TITCALL ConvertVAtoFileOffsetEx(ULONG_PTR FileMapVA, DWORD FileSize, ULONG_PTR ImageBase, ULONG_PTR AddressToConvert, bool AddressIsRVA, bool ReturnType); -__declspec(dllimport) long long TITCALL ConvertFileOffsetToVA(ULONG_PTR FileMapVA, ULONG_PTR AddressToConvert, bool ReturnType); -__declspec(dllimport) long long TITCALL ConvertFileOffsetToVAEx(ULONG_PTR FileMapVA, DWORD FileSize, ULONG_PTR ImageBase, ULONG_PTR AddressToConvert, bool ReturnType); -__declspec(dllimport) bool TITCALL MemoryReadSafe(HANDLE hProcess, LPVOID lpBaseAddress, LPVOID lpBuffer, SIZE_T nSize, SIZE_T * lpNumberOfBytesRead); -__declspec(dllimport) bool TITCALL MemoryWriteSafe(HANDLE hProcess, LPVOID lpBaseAddress, LPCVOID lpBuffer, SIZE_T nSize, SIZE_T * lpNumberOfBytesWritten); -// TitanEngine.Realigner.functions: -__declspec(dllimport) bool TITCALL FixHeaderCheckSum(char* szFileName); -__declspec(dllimport) bool TITCALL FixHeaderCheckSumW(wchar_t* szFileName); -__declspec(dllimport) long TITCALL RealignPE(ULONG_PTR FileMapVA, DWORD FileSize, DWORD RealingMode); -__declspec(dllimport) long TITCALL RealignPEEx(char* szFileName, DWORD RealingFileSize, DWORD ForcedFileAlignment); -__declspec(dllimport) long TITCALL RealignPEExW(wchar_t* szFileName, DWORD RealingFileSize, DWORD ForcedFileAlignment); -__declspec(dllimport) bool TITCALL WipeSection(char* szFileName, int WipeSectionNumber, bool RemovePhysically); -__declspec(dllimport) bool TITCALL WipeSectionW(wchar_t* szFileName, int WipeSectionNumber, bool RemovePhysically); -__declspec(dllimport) bool TITCALL IsPE32FileValidEx(char* szFileName, DWORD CheckDepth, LPVOID FileStatusInfo); -__declspec(dllimport) bool TITCALL IsPE32FileValidExW(wchar_t* szFileName, DWORD CheckDepth, LPVOID FileStatusInfo); -__declspec(dllimport) bool TITCALL FixBrokenPE32FileEx(char* szFileName, LPVOID FileStatusInfo, LPVOID FileFixInfo); -__declspec(dllimport) bool TITCALL FixBrokenPE32FileExW(wchar_t* szFileName, LPVOID FileStatusInfo, LPVOID FileFixInfo); -__declspec(dllimport) bool TITCALL IsFileDLL(char* szFileName, ULONG_PTR FileMapVA); -__declspec(dllimport) bool TITCALL IsFileDLLW(wchar_t* szFileName, ULONG_PTR FileMapVA); -// TitanEngine.Hider.functions: -__declspec(dllimport) void* TITCALL GetPEBLocation(HANDLE hProcess); -__declspec(dllimport) void* TITCALL GetPEBLocation64(HANDLE hProcess); -__declspec(dllimport) void* TITCALL GetTEBLocation(HANDLE hThread); -__declspec(dllimport) void* TITCALL GetTEBLocation64(HANDLE hThread); -__declspec(dllimport) bool TITCALL HideDebugger(HANDLE hProcess, DWORD PatchAPILevel); -__declspec(dllimport) bool TITCALL UnHideDebugger(HANDLE hProcess, DWORD PatchAPILevel); -// TitanEngine.Relocater.functions: -__declspec(dllimport) void TITCALL RelocaterCleanup(); -__declspec(dllimport) void TITCALL RelocaterInit(DWORD MemorySize, ULONG_PTR OldImageBase, ULONG_PTR NewImageBase); -__declspec(dllimport) void TITCALL RelocaterAddNewRelocation(HANDLE hProcess, ULONG_PTR RelocateAddress, DWORD RelocateState); -__declspec(dllimport) long TITCALL RelocaterEstimatedSize(); -__declspec(dllimport) bool TITCALL RelocaterExportRelocation(ULONG_PTR StorePlace, DWORD StorePlaceRVA, ULONG_PTR FileMapVA); -__declspec(dllimport) bool TITCALL RelocaterExportRelocationEx(char* szFileName, char* szSectionName); -__declspec(dllimport) bool TITCALL RelocaterExportRelocationExW(wchar_t* szFileName, char* szSectionName); -__declspec(dllimport) bool TITCALL RelocaterGrabRelocationTable(HANDLE hProcess, ULONG_PTR MemoryStart, DWORD MemorySize); -__declspec(dllimport) bool TITCALL RelocaterGrabRelocationTableEx(HANDLE hProcess, ULONG_PTR MemoryStart, ULONG_PTR MemorySize, DWORD NtSizeOfImage); -__declspec(dllimport) bool TITCALL RelocaterMakeSnapshot(HANDLE hProcess, char* szSaveFileName, LPVOID MemoryStart, ULONG_PTR MemorySize); -__declspec(dllimport) bool TITCALL RelocaterMakeSnapshotW(HANDLE hProcess, wchar_t* szSaveFileName, LPVOID MemoryStart, ULONG_PTR MemorySize); -__declspec(dllimport) bool TITCALL RelocaterCompareTwoSnapshots(HANDLE hProcess, ULONG_PTR LoadedImageBase, ULONG_PTR NtSizeOfImage, char* szDumpFile1, char* szDumpFile2, ULONG_PTR MemStart); -__declspec(dllimport) bool TITCALL RelocaterCompareTwoSnapshotsW(HANDLE hProcess, ULONG_PTR LoadedImageBase, ULONG_PTR NtSizeOfImage, wchar_t* szDumpFile1, wchar_t* szDumpFile2, ULONG_PTR MemStart); -__declspec(dllimport) bool TITCALL RelocaterChangeFileBase(char* szFileName, ULONG_PTR NewImageBase); -__declspec(dllimport) bool TITCALL RelocaterChangeFileBaseW(wchar_t* szFileName, ULONG_PTR NewImageBase); -__declspec(dllimport) bool TITCALL RelocaterRelocateMemoryBlock(ULONG_PTR FileMapVA, ULONG_PTR MemoryLocation, void* RelocateMemory, DWORD RelocateMemorySize, ULONG_PTR CurrentLoadedBase, ULONG_PTR RelocateBase); -__declspec(dllimport) bool TITCALL RelocaterWipeRelocationTable(char* szFileName); -__declspec(dllimport) bool TITCALL RelocaterWipeRelocationTableW(wchar_t* szFileName); -// TitanEngine.Resourcer.functions: -__declspec(dllimport) long long TITCALL ResourcerLoadFileForResourceUse(char* szFileName); -__declspec(dllimport) long long TITCALL ResourcerLoadFileForResourceUseW(wchar_t* szFileName); -__declspec(dllimport) bool TITCALL ResourcerFreeLoadedFile(LPVOID LoadedFileBase); -__declspec(dllimport) bool TITCALL ResourcerExtractResourceFromFileEx(ULONG_PTR FileMapVA, char* szResourceType, char* szResourceName, char* szExtractedFileName); -__declspec(dllimport) bool TITCALL ResourcerExtractResourceFromFile(char* szFileName, char* szResourceType, char* szResourceName, char* szExtractedFileName); -__declspec(dllimport) bool TITCALL ResourcerExtractResourceFromFileW(wchar_t* szFileName, char* szResourceType, char* szResourceName, char* szExtractedFileName); -__declspec(dllimport) bool TITCALL ResourcerFindResource(char* szFileName, char* szResourceType, DWORD ResourceType, char* szResourceName, DWORD ResourceName, DWORD ResourceLanguage, PULONG_PTR pResourceData, LPDWORD pResourceSize); -__declspec(dllimport) bool TITCALL ResourcerFindResourceW(wchar_t* szFileName, wchar_t* szResourceType, DWORD ResourceType, wchar_t* szResourceName, DWORD ResourceName, DWORD ResourceLanguage, PULONG_PTR pResourceData, LPDWORD pResourceSize); -__declspec(dllimport) bool TITCALL ResourcerFindResourceEx(ULONG_PTR FileMapVA, DWORD FileSize, wchar_t* szResourceType, DWORD ResourceType, wchar_t* szResourceName, DWORD ResourceName, DWORD ResourceLanguage, PULONG_PTR pResourceData, LPDWORD pResourceSize); -__declspec(dllimport) void TITCALL ResourcerEnumerateResource(char* szFileName, void* CallBack); -__declspec(dllimport) void TITCALL ResourcerEnumerateResourceW(wchar_t* szFileName, void* CallBack); -__declspec(dllimport) void TITCALL ResourcerEnumerateResourceEx(ULONG_PTR FileMapVA, DWORD FileSize, void* CallBack); -// TitanEngine.Threader.functions: -__declspec(dllimport) bool TITCALL ThreaderImportRunningThreadData(DWORD ProcessId); -__declspec(dllimport) void* TITCALL ThreaderGetThreadInfo(HANDLE hThread, DWORD ThreadId); -__declspec(dllimport) void TITCALL ThreaderEnumThreadInfo(void* EnumCallBack); -__declspec(dllimport) bool TITCALL ThreaderPauseThread(HANDLE hThread); -__declspec(dllimport) bool TITCALL ThreaderResumeThread(HANDLE hThread); -__declspec(dllimport) bool TITCALL ThreaderTerminateThread(HANDLE hThread, DWORD ThreadExitCode); -__declspec(dllimport) bool TITCALL ThreaderPauseAllThreads(bool LeaveMainRunning); -__declspec(dllimport) bool TITCALL ThreaderResumeAllThreads(bool LeaveMainPaused); -__declspec(dllimport) bool TITCALL ThreaderPauseProcess(); -__declspec(dllimport) bool TITCALL ThreaderResumeProcess(); -__declspec(dllimport) long long TITCALL ThreaderCreateRemoteThread(ULONG_PTR ThreadStartAddress, bool AutoCloseTheHandle, LPVOID ThreadPassParameter, LPDWORD ThreadId); -__declspec(dllimport) bool TITCALL ThreaderInjectAndExecuteCode(LPVOID InjectCode, DWORD StartDelta, DWORD InjectSize); -__declspec(dllimport) long long TITCALL ThreaderCreateRemoteThreadEx(HANDLE hProcess, ULONG_PTR ThreadStartAddress, bool AutoCloseTheHandle, LPVOID ThreadPassParameter, LPDWORD ThreadId); -__declspec(dllimport) bool TITCALL ThreaderInjectAndExecuteCodeEx(HANDLE hProcess, LPVOID InjectCode, DWORD StartDelta, DWORD InjectSize); -__declspec(dllimport) void TITCALL ThreaderSetCallBackForNextExitThreadEvent(LPVOID exitThreadCallBack); -__declspec(dllimport) bool TITCALL ThreaderIsThreadStillRunning(HANDLE hThread); -__declspec(dllimport) bool TITCALL ThreaderIsThreadActive(HANDLE hThread); -__declspec(dllimport) bool TITCALL ThreaderIsAnyThreadActive(); -__declspec(dllimport) bool TITCALL ThreaderExecuteOnlyInjectedThreads(); -__declspec(dllimport) long long TITCALL ThreaderGetOpenHandleForThread(DWORD ThreadId); -__declspec(dllimport) bool TITCALL ThreaderIsExceptionInMainThread(); -// TitanEngine.Debugger.functions: -__declspec(dllimport) void* TITCALL StaticDisassembleEx(ULONG_PTR DisassmStart, LPVOID DisassmAddress); -__declspec(dllimport) void* TITCALL StaticDisassemble(LPVOID DisassmAddress); -__declspec(dllimport) void* TITCALL DisassembleEx(HANDLE hProcess, LPVOID DisassmAddress, bool ReturnInstructionType); -__declspec(dllimport) void* TITCALL Disassemble(LPVOID DisassmAddress); -__declspec(dllimport) long TITCALL StaticLengthDisassemble(LPVOID DisassmAddress); -__declspec(dllimport) long TITCALL LengthDisassembleEx(HANDLE hProcess, LPVOID DisassmAddress); -__declspec(dllimport) long TITCALL LengthDisassemble(LPVOID DisassmAddress); -__declspec(dllimport) void* TITCALL InitDebug(char* szFileName, char* szCommandLine, char* szCurrentFolder); -__declspec(dllimport) void* TITCALL InitDebugW(wchar_t* szFileName, wchar_t* szCommandLine, wchar_t* szCurrentFolder); -__declspec(dllimport) void* TITCALL InitDebugEx(char* szFileName, char* szCommandLine, char* szCurrentFolder, LPVOID EntryCallBack); -__declspec(dllimport) void* TITCALL InitDebugExW(wchar_t* szFileName, wchar_t* szCommandLine, wchar_t* szCurrentFolder, LPVOID EntryCallBack); -__declspec(dllimport) void* TITCALL InitDLLDebug(char* szFileName, bool ReserveModuleBase, char* szCommandLine, char* szCurrentFolder, LPVOID EntryCallBack); -__declspec(dllimport) void* TITCALL InitDLLDebugW(wchar_t* szFileName, bool ReserveModuleBase, wchar_t* szCommandLine, wchar_t* szCurrentFolder, LPVOID EntryCallBack); -__declspec(dllimport) bool TITCALL StopDebug(); -__declspec(dllimport) void TITCALL SetBPXOptions(long DefaultBreakPointType); -__declspec(dllimport) bool TITCALL IsBPXEnabled(ULONG_PTR bpxAddress); -__declspec(dllimport) bool TITCALL EnableBPX(ULONG_PTR bpxAddress); -__declspec(dllimport) bool TITCALL DisableBPX(ULONG_PTR bpxAddress); -__declspec(dllimport) bool TITCALL SetBPX(ULONG_PTR bpxAddress, DWORD bpxType, LPVOID bpxCallBack); -__declspec(dllimport) bool TITCALL DeleteBPX(ULONG_PTR bpxAddress); -__declspec(dllimport) bool TITCALL SafeDeleteBPX(ULONG_PTR bpxAddress); -__declspec(dllimport) bool TITCALL SetAPIBreakPoint(const char* szDLLName, const char* szAPIName, DWORD bpxType, DWORD bpxPlace, LPVOID bpxCallBack); -__declspec(dllimport) bool TITCALL DeleteAPIBreakPoint(const char* szDLLName, const char* szAPIName, DWORD bpxPlace); -__declspec(dllimport) bool TITCALL SafeDeleteAPIBreakPoint(const char* szDLLName, const char* szAPIName, DWORD bpxPlace); -__declspec(dllimport) bool TITCALL SetMemoryBPX(ULONG_PTR MemoryStart, SIZE_T SizeOfMemory, LPVOID bpxCallBack); -__declspec(dllimport) bool TITCALL SetMemoryBPXEx(ULONG_PTR MemoryStart, SIZE_T SizeOfMemory, DWORD BreakPointType, bool RestoreOnHit, LPVOID bpxCallBack); -__declspec(dllimport) bool TITCALL RemoveMemoryBPX(ULONG_PTR MemoryStart, SIZE_T SizeOfMemory); -__declspec(dllimport) bool TITCALL GetContextFPUDataEx(HANDLE hActiveThread, void* FPUSaveArea); -__declspec(dllimport) long long TITCALL GetContextDataEx(HANDLE hActiveThread, DWORD IndexOfRegister); -__declspec(dllimport) long long TITCALL GetContextData(DWORD IndexOfRegister); -__declspec(dllimport) bool TITCALL SetContextFPUDataEx(HANDLE hActiveThread, void* FPUSaveArea); -__declspec(dllimport) bool TITCALL SetContextDataEx(HANDLE hActiveThread, DWORD IndexOfRegister, ULONG_PTR NewRegisterValue); -__declspec(dllimport) bool TITCALL SetContextData(DWORD IndexOfRegister, ULONG_PTR NewRegisterValue); -__declspec(dllimport) void TITCALL ClearExceptionNumber(); -__declspec(dllimport) long TITCALL CurrentExceptionNumber(); -__declspec(dllimport) bool TITCALL MatchPatternEx(HANDLE hProcess, void* MemoryToCheck, int SizeOfMemoryToCheck, void* PatternToMatch, int SizeOfPatternToMatch, PBYTE WildCard); -__declspec(dllimport) bool TITCALL MatchPattern(void* MemoryToCheck, int SizeOfMemoryToCheck, void* PatternToMatch, int SizeOfPatternToMatch, PBYTE WildCard); -__declspec(dllimport) long long TITCALL FindEx(HANDLE hProcess, LPVOID MemoryStart, DWORD MemorySize, LPVOID SearchPattern, DWORD PatternSize, LPBYTE WildCard); -__declspec(dllimport) long long TITCALL Find(LPVOID MemoryStart, DWORD MemorySize, LPVOID SearchPattern, DWORD PatternSize, LPBYTE WildCard); -__declspec(dllimport) bool TITCALL FillEx(HANDLE hProcess, LPVOID MemoryStart, DWORD MemorySize, PBYTE FillByte); -__declspec(dllimport) bool TITCALL Fill(LPVOID MemoryStart, DWORD MemorySize, PBYTE FillByte); -__declspec(dllimport) bool TITCALL PatchEx(HANDLE hProcess, LPVOID MemoryStart, DWORD MemorySize, LPVOID ReplacePattern, DWORD ReplaceSize, bool AppendNOP, bool PrependNOP); -__declspec(dllimport) bool TITCALL Patch(LPVOID MemoryStart, DWORD MemorySize, LPVOID ReplacePattern, DWORD ReplaceSize, bool AppendNOP, bool PrependNOP); -__declspec(dllimport) bool TITCALL ReplaceEx(HANDLE hProcess, LPVOID MemoryStart, DWORD MemorySize, LPVOID SearchPattern, DWORD PatternSize, DWORD NumberOfRepetitions, LPVOID ReplacePattern, DWORD ReplaceSize, PBYTE WildCard); -__declspec(dllimport) bool TITCALL Replace(LPVOID MemoryStart, DWORD MemorySize, LPVOID SearchPattern, DWORD PatternSize, DWORD NumberOfRepetitions, LPVOID ReplacePattern, DWORD ReplaceSize, PBYTE WildCard); -__declspec(dllimport) void* TITCALL GetDebugData(); -__declspec(dllimport) void* TITCALL GetTerminationData(); -__declspec(dllimport) long TITCALL GetExitCode(); -__declspec(dllimport) long long TITCALL GetDebuggedDLLBaseAddress(); -__declspec(dllimport) long long TITCALL GetDebuggedFileBaseAddress(); -__declspec(dllimport) bool TITCALL GetRemoteString(HANDLE hProcess, LPVOID StringAddress, LPVOID StringStorage, int MaximumStringSize); -__declspec(dllimport) long long TITCALL GetFunctionParameter(HANDLE hProcess, DWORD FunctionType, DWORD ParameterNumber, DWORD ParameterType); -__declspec(dllimport) long long TITCALL GetJumpDestinationEx(HANDLE hProcess, ULONG_PTR InstructionAddress, bool JustJumps); -__declspec(dllimport) long long TITCALL GetJumpDestination(HANDLE hProcess, ULONG_PTR InstructionAddress); -__declspec(dllimport) bool TITCALL IsJumpGoingToExecuteEx(HANDLE hProcess, HANDLE hThread, ULONG_PTR InstructionAddress, ULONG_PTR RegFlags); -__declspec(dllimport) bool TITCALL IsJumpGoingToExecute(); -__declspec(dllimport) void TITCALL SetCustomHandler(DWORD ExceptionId, LPVOID CallBack); -__declspec(dllimport) void TITCALL ForceClose(); -__declspec(dllimport) void TITCALL StepInto(LPVOID traceCallBack); -__declspec(dllimport) void TITCALL StepOver(LPVOID traceCallBack); -__declspec(dllimport) void TITCALL StepOut(LPVOID StepOut, bool StepFinal); -__declspec(dllimport) void TITCALL SingleStep(DWORD StepCount, LPVOID StepCallBack); -__declspec(dllimport) bool TITCALL GetUnusedHardwareBreakPointRegister(LPDWORD RegisterIndex); -__declspec(dllimport) bool TITCALL SetHardwareBreakPointEx(HANDLE hActiveThread, ULONG_PTR bpxAddress, DWORD IndexOfRegister, DWORD bpxType, DWORD bpxSize, LPVOID bpxCallBack, LPDWORD IndexOfSelectedRegister); -__declspec(dllimport) bool TITCALL SetHardwareBreakPoint(ULONG_PTR bpxAddress, DWORD IndexOfRegister, DWORD bpxType, DWORD bpxSize, LPVOID bpxCallBack); -__declspec(dllimport) bool TITCALL DeleteHardwareBreakPoint(DWORD IndexOfRegister); -__declspec(dllimport) bool TITCALL RemoveAllBreakPoints(DWORD RemoveOption); -__declspec(dllimport) void* TITCALL GetProcessInformation(); -__declspec(dllimport) void* TITCALL GetStartupInformation(); -__declspec(dllimport) void TITCALL DebugLoop(); -__declspec(dllimport) void TITCALL SetDebugLoopTimeOut(DWORD TimeOut); -__declspec(dllimport) void TITCALL SetNextDbgContinueStatus(DWORD SetDbgCode); -__declspec(dllimport) bool TITCALL AttachDebugger(DWORD ProcessId, bool KillOnExit, LPVOID DebugInfo, LPVOID CallBack); -__declspec(dllimport) bool TITCALL DetachDebugger(DWORD ProcessId); -__declspec(dllimport) bool TITCALL DetachDebuggerEx(DWORD ProcessId); -__declspec(dllimport) void TITCALL DebugLoopEx(DWORD TimeOut); -__declspec(dllimport) void TITCALL AutoDebugEx(char* szFileName, bool ReserveModuleBase, char* szCommandLine, char* szCurrentFolder, DWORD TimeOut, LPVOID EntryCallBack); -__declspec(dllimport) void TITCALL AutoDebugExW(wchar_t* szFileName, bool ReserveModuleBase, wchar_t* szCommandLine, wchar_t* szCurrentFolder, DWORD TimeOut, LPVOID EntryCallBack); -__declspec(dllimport) bool TITCALL IsFileBeingDebugged(); -__declspec(dllimport) void TITCALL SetErrorModel(bool DisplayErrorMessages); -// TitanEngine.FindOEP.functions: -__declspec(dllimport) void TITCALL FindOEPInit(); -__declspec(dllimport) bool TITCALL FindOEPGenerically(char* szFileName, LPVOID TraceInitCallBack, LPVOID CallBack); -__declspec(dllimport) bool TITCALL FindOEPGenericallyW(wchar_t* szFileName, LPVOID TraceInitCallBack, LPVOID CallBack); -// TitanEngine.Importer.functions: -__declspec(dllimport) void TITCALL ImporterAddNewDll(char* szDLLName, ULONG_PTR FirstThunk); -__declspec(dllimport) void TITCALL ImporterAddNewAPI(char* szAPIName, ULONG_PTR ThunkValue); -__declspec(dllimport) void TITCALL ImporterAddNewOrdinalAPI(ULONG_PTR OrdinalNumber, ULONG_PTR ThunkValue); -__declspec(dllimport) long TITCALL ImporterGetAddedDllCount(); -__declspec(dllimport) long TITCALL ImporterGetAddedAPICount(); -__declspec(dllimport) bool TITCALL ImporterExportIAT(ULONG_PTR StorePlace, ULONG_PTR FileMapVA, HANDLE hFileMap); -__declspec(dllimport) long TITCALL ImporterEstimatedSize(); -__declspec(dllimport) bool TITCALL ImporterExportIATEx(char* szDumpFileName, char* szExportFileName, char* szSectionName); -__declspec(dllimport) bool TITCALL ImporterExportIATExW(wchar_t* szDumpFileName, wchar_t* szExportFileName, wchar_t* szSectionName = L".RL!TEv2"); -__declspec(dllimport) long long TITCALL ImporterFindAPIWriteLocation(char* szAPIName); -__declspec(dllimport) long long TITCALL ImporterFindOrdinalAPIWriteLocation(ULONG_PTR OrdinalNumber); -__declspec(dllimport) long long TITCALL ImporterFindAPIByWriteLocation(ULONG_PTR APIWriteLocation); -__declspec(dllimport) long long TITCALL ImporterFindDLLByWriteLocation(ULONG_PTR APIWriteLocation); -__declspec(dllimport) void* TITCALL ImporterGetDLLName(ULONG_PTR APIAddress); -__declspec(dllimport) void* TITCALL ImporterGetDLLNameW(ULONG_PTR APIAddress); -__declspec(dllimport) void* TITCALL ImporterGetAPIName(ULONG_PTR APIAddress); -__declspec(dllimport) long long TITCALL ImporterGetAPIOrdinalNumber(ULONG_PTR APIAddress); -__declspec(dllimport) void* TITCALL ImporterGetAPINameEx(ULONG_PTR APIAddress, ULONG_PTR DLLBasesList); -__declspec(dllimport) long long TITCALL ImporterGetRemoteAPIAddress(HANDLE hProcess, ULONG_PTR APIAddress); -__declspec(dllimport) long long TITCALL ImporterGetRemoteAPIAddressEx(char* szDLLName, char* szAPIName); -__declspec(dllimport) long long TITCALL ImporterGetLocalAPIAddress(HANDLE hProcess, ULONG_PTR APIAddress); -__declspec(dllimport) void* TITCALL ImporterGetDLLNameFromDebugee(HANDLE hProcess, ULONG_PTR APIAddress); -__declspec(dllimport) void* TITCALL ImporterGetDLLNameFromDebugeeW(HANDLE hProcess, ULONG_PTR APIAddress); -__declspec(dllimport) void* TITCALL ImporterGetAPINameFromDebugee(HANDLE hProcess, ULONG_PTR APIAddress); -__declspec(dllimport) long long TITCALL ImporterGetAPIOrdinalNumberFromDebugee(HANDLE hProcess, ULONG_PTR APIAddress); -__declspec(dllimport) long TITCALL ImporterGetDLLIndexEx(ULONG_PTR APIAddress, ULONG_PTR DLLBasesList); -__declspec(dllimport) long TITCALL ImporterGetDLLIndex(HANDLE hProcess, ULONG_PTR APIAddress, ULONG_PTR DLLBasesList); -__declspec(dllimport) long long TITCALL ImporterGetRemoteDLLBase(HANDLE hProcess, HMODULE LocalModuleBase); -__declspec(dllimport) long long TITCALL ImporterGetRemoteDLLBaseEx(HANDLE hProcess, char* szModuleName); -__declspec(dllimport) void* TITCALL ImporterGetRemoteDLLBaseExW(HANDLE hProcess, wchar_t* szModuleName); -__declspec(dllimport) bool TITCALL ImporterIsForwardedAPI(HANDLE hProcess, ULONG_PTR APIAddress); -__declspec(dllimport) void* TITCALL ImporterGetForwardedAPIName(HANDLE hProcess, ULONG_PTR APIAddress); -__declspec(dllimport) void* TITCALL ImporterGetForwardedDLLName(HANDLE hProcess, ULONG_PTR APIAddress); -__declspec(dllimport) long TITCALL ImporterGetForwardedDLLIndex(HANDLE hProcess, ULONG_PTR APIAddress, ULONG_PTR DLLBasesList); -__declspec(dllimport) long long TITCALL ImporterGetForwardedAPIOrdinalNumber(HANDLE hProcess, ULONG_PTR APIAddress); -__declspec(dllimport) long long TITCALL ImporterGetNearestAPIAddress(HANDLE hProcess, ULONG_PTR APIAddress); -__declspec(dllimport) void* TITCALL ImporterGetNearestAPIName(HANDLE hProcess, ULONG_PTR APIAddress); -__declspec(dllimport) bool TITCALL ImporterCopyOriginalIAT(char* szOriginalFile, char* szDumpFile); -__declspec(dllimport) bool TITCALL ImporterCopyOriginalIATW(wchar_t* szOriginalFile, wchar_t* szDumpFile); -__declspec(dllimport) bool TITCALL ImporterLoadImportTable(char* szFileName); -__declspec(dllimport) bool TITCALL ImporterLoadImportTableW(wchar_t* szFileName); -__declspec(dllimport) bool TITCALL ImporterMoveOriginalIAT(char* szOriginalFile, char* szDumpFile, char* szSectionName); -__declspec(dllimport) bool TITCALL ImporterMoveOriginalIATW(wchar_t* szOriginalFile, wchar_t* szDumpFile, char* szSectionName); -__declspec(dllimport) void TITCALL ImporterAutoSearchIAT(DWORD ProcessId, char* szFileName, ULONG_PTR SearchStart, LPVOID pIATStart, LPVOID pIATSize); -__declspec(dllimport) void TITCALL ImporterAutoSearchIATW(DWORD ProcessIds, wchar_t* szFileName, ULONG_PTR SearchStart, LPVOID pIATStart, LPVOID pIATSize); -__declspec(dllimport) void TITCALL ImporterAutoSearchIATEx(DWORD ProcessId, ULONG_PTR ImageBase, ULONG_PTR SearchStart, LPVOID pIATStart, LPVOID pIATSize); -__declspec(dllimport) void TITCALL ImporterEnumAddedData(LPVOID EnumCallBack); -__declspec(dllimport) long TITCALL ImporterAutoFixIATEx(DWORD ProcessId, char* szDumpedFile, char* szSectionName, bool DumpRunningProcess, bool RealignFile, ULONG_PTR EntryPointAddress, ULONG_PTR ImageBase, ULONG_PTR SearchStart, bool TryAutoFix, bool FixEliminations, LPVOID UnknownPointerFixCallback); -__declspec(dllimport) long TITCALL ImporterAutoFixIATExW(DWORD ProcessId, wchar_t* szDumpedFile, char* szSectionName, bool DumpRunningProcess, bool RealignFile, ULONG_PTR EntryPointAddress, ULONG_PTR ImageBase, ULONG_PTR SearchStart, bool TryAutoFix, bool FixEliminations, LPVOID UnknownPointerFixCallback); -__declspec(dllimport) long TITCALL ImporterAutoFixIAT(DWORD ProcessId, char* szDumpedFile, ULONG_PTR SearchStart); -__declspec(dllimport) long TITCALL ImporterAutoFixIATW(DWORD ProcessId, wchar_t* szDumpedFile, ULONG_PTR SearchStart); -__declspec(dllimport) bool TITCALL ImporterDeleteAPI(DWORD_PTR apiAddr); -// Global.Engine.Hook.functions: -__declspec(dllimport) bool TITCALL HooksSafeTransitionEx(LPVOID HookAddressArray, int NumberOfHooks, bool TransitionStart); -__declspec(dllimport) bool TITCALL HooksSafeTransition(LPVOID HookAddress, bool TransitionStart); -__declspec(dllimport) bool TITCALL HooksIsAddressRedirected(LPVOID HookAddress); -__declspec(dllimport) void* TITCALL HooksGetTrampolineAddress(LPVOID HookAddress); -__declspec(dllimport) void* TITCALL HooksGetHookEntryDetails(LPVOID HookAddress); -__declspec(dllimport) bool TITCALL HooksInsertNewRedirection(LPVOID HookAddress, LPVOID RedirectTo, int HookType); -__declspec(dllimport) bool TITCALL HooksInsertNewIATRedirectionEx(ULONG_PTR FileMapVA, ULONG_PTR LoadedModuleBase, char* szHookFunction, LPVOID RedirectTo); -__declspec(dllimport) bool TITCALL HooksInsertNewIATRedirection(char* szModuleName, char* szHookFunction, LPVOID RedirectTo); -__declspec(dllimport) bool TITCALL HooksRemoveRedirection(LPVOID HookAddress, bool RemoveAll); -__declspec(dllimport) bool TITCALL HooksRemoveRedirectionsForModule(HMODULE ModuleBase); -__declspec(dllimport) bool TITCALL HooksRemoveIATRedirection(char* szModuleName, char* szHookFunction, bool RemoveAll); -__declspec(dllimport) bool TITCALL HooksDisableRedirection(LPVOID HookAddress, bool DisableAll); -__declspec(dllimport) bool TITCALL HooksDisableRedirectionsForModule(HMODULE ModuleBase); -__declspec(dllimport) bool TITCALL HooksDisableIATRedirection(char* szModuleName, char* szHookFunction, bool DisableAll); -__declspec(dllimport) bool TITCALL HooksEnableRedirection(LPVOID HookAddress, bool EnableAll); -__declspec(dllimport) bool TITCALL HooksEnableRedirectionsForModule(HMODULE ModuleBase); -__declspec(dllimport) bool TITCALL HooksEnableIATRedirection(char* szModuleName, char* szHookFunction, bool EnableAll); -__declspec(dllimport) void TITCALL HooksScanModuleMemory(HMODULE ModuleBase, LPVOID CallBack); -__declspec(dllimport) void TITCALL HooksScanEntireProcessMemory(LPVOID CallBack); -__declspec(dllimport) void TITCALL HooksScanEntireProcessMemoryEx(); -// TitanEngine.Tracer.functions: -__declspec(dllimport) void TITCALL TracerInit(); -__declspec(dllimport) long long TITCALL TracerLevel1(HANDLE hProcess, ULONG_PTR AddressToTrace); -__declspec(dllimport) long long TITCALL HashTracerLevel1(HANDLE hProcess, ULONG_PTR AddressToTrace, DWORD InputNumberOfInstructions); -__declspec(dllimport) long TITCALL TracerDetectRedirection(HANDLE hProcess, ULONG_PTR AddressToTrace); -__declspec(dllimport) long long TITCALL TracerFixKnownRedirection(HANDLE hProcess, ULONG_PTR AddressToTrace, DWORD RedirectionId); -__declspec(dllimport) long long TITCALL TracerFixRedirectionViaModule(HMODULE hModuleHandle, HANDLE hProcess, ULONG_PTR AddressToTrace, DWORD IdParameter); -__declspec(dllimport) long long TITCALL TracerDetectRedirectionViaModule(HMODULE hModuleHandle, HANDLE hProcess, ULONG_PTR AddressToTrace, PDWORD ReturnedId); -__declspec(dllimport) long TITCALL TracerFixRedirectionViaImpRecPlugin(HANDLE hProcess, char* szPluginName, ULONG_PTR AddressToTrace); -// TitanEngine.Exporter.functions: -__declspec(dllimport) void TITCALL ExporterCleanup(); -__declspec(dllimport) void TITCALL ExporterSetImageBase(ULONG_PTR ImageBase); -__declspec(dllimport) void TITCALL ExporterInit(DWORD MemorySize, ULONG_PTR ImageBase, DWORD ExportOrdinalBase, char* szExportModuleName); -__declspec(dllimport) bool TITCALL ExporterAddNewExport(char* szExportName, DWORD ExportRelativeAddress); -__declspec(dllimport) bool TITCALL ExporterAddNewOrdinalExport(DWORD OrdinalNumber, DWORD ExportRelativeAddress); -__declspec(dllimport) long TITCALL ExporterGetAddedExportCount(); -__declspec(dllimport) long TITCALL ExporterEstimatedSize(); -__declspec(dllimport) bool TITCALL ExporterBuildExportTable(ULONG_PTR StorePlace, ULONG_PTR FileMapVA); -__declspec(dllimport) bool TITCALL ExporterBuildExportTableEx(char* szExportFileName, char* szSectionName); -__declspec(dllimport) bool TITCALL ExporterBuildExportTableExW(wchar_t* szExportFileName, char* szSectionName); -__declspec(dllimport) bool TITCALL ExporterLoadExportTable(char* szFileName); -__declspec(dllimport) bool TITCALL ExporterLoadExportTableW(wchar_t* szFileName); -// TitanEngine.Librarian.functions: -__declspec(dllimport) bool TITCALL LibrarianSetBreakPoint(char* szLibraryName, DWORD bpxType, bool SingleShoot, LPVOID bpxCallBack); -__declspec(dllimport) bool TITCALL LibrarianRemoveBreakPoint(char* szLibraryName, DWORD bpxType); -__declspec(dllimport) void* TITCALL LibrarianGetLibraryInfo(char* szLibraryName); -__declspec(dllimport) void* TITCALL LibrarianGetLibraryInfoW(wchar_t* szLibraryName); -__declspec(dllimport) void* TITCALL LibrarianGetLibraryInfoEx(void* BaseOfDll); -__declspec(dllimport) void* TITCALL LibrarianGetLibraryInfoExW(void* BaseOfDll); -__declspec(dllimport) void TITCALL LibrarianEnumLibraryInfo(void* EnumCallBack); -__declspec(dllimport) void TITCALL LibrarianEnumLibraryInfoW(void* EnumCallBack); -// TitanEngine.Process.functions: -__declspec(dllimport) long TITCALL GetActiveProcessId(char* szImageName); -__declspec(dllimport) long TITCALL GetActiveProcessIdW(wchar_t* szImageName); -__declspec(dllimport) void TITCALL EnumProcessesWithLibrary(char* szLibraryName, void* EnumFunction); -// TitanEngine.TLSFixer.functions: -__declspec(dllimport) bool TITCALL TLSBreakOnCallBack(LPVOID ArrayOfCallBacks, DWORD NumberOfCallBacks, LPVOID bpxCallBack); -__declspec(dllimport) bool TITCALL TLSGrabCallBackData(char* szFileName, LPVOID ArrayOfCallBacks, LPDWORD NumberOfCallBacks); -__declspec(dllimport) bool TITCALL TLSGrabCallBackDataW(wchar_t* szFileName, LPVOID ArrayOfCallBacks, LPDWORD NumberOfCallBacks); -__declspec(dllimport) bool TITCALL TLSBreakOnCallBackEx(char* szFileName, LPVOID bpxCallBack); -__declspec(dllimport) bool TITCALL TLSBreakOnCallBackExW(wchar_t* szFileName, LPVOID bpxCallBack); -__declspec(dllimport) bool TITCALL TLSRemoveCallback(char* szFileName); -__declspec(dllimport) bool TITCALL TLSRemoveCallbackW(wchar_t* szFileName); -__declspec(dllimport) bool TITCALL TLSRemoveTable(char* szFileName); -__declspec(dllimport) bool TITCALL TLSRemoveTableW(wchar_t* szFileName); -__declspec(dllimport) bool TITCALL TLSBackupData(char* szFileName); -__declspec(dllimport) bool TITCALL TLSBackupDataW(wchar_t* szFileName); -__declspec(dllimport) bool TITCALL TLSRestoreData(); -__declspec(dllimport) bool TITCALL TLSBuildNewTable(ULONG_PTR FileMapVA, ULONG_PTR StorePlace, ULONG_PTR StorePlaceRVA, LPVOID ArrayOfCallBacks, DWORD NumberOfCallBacks); -__declspec(dllimport) bool TITCALL TLSBuildNewTableEx(char* szFileName, char* szSectionName, LPVOID ArrayOfCallBacks, DWORD NumberOfCallBacks); -__declspec(dllimport) bool TITCALL TLSBuildNewTableExW(wchar_t* szFileName, char* szSectionName, LPVOID ArrayOfCallBacks, DWORD NumberOfCallBacks); -// TitanEngine.TranslateName.functions: -__declspec(dllimport) void* TITCALL TranslateNativeName(char* szNativeName); -__declspec(dllimport) void* TITCALL TranslateNativeNameW(wchar_t* szNativeName); -// TitanEngine.Handler.functions: -__declspec(dllimport) long TITCALL HandlerGetActiveHandleCount(DWORD ProcessId); -__declspec(dllimport) bool TITCALL HandlerIsHandleOpen(DWORD ProcessId, HANDLE hHandle); -__declspec(dllimport) void* TITCALL HandlerGetHandleName(HANDLE hProcess, DWORD ProcessId, HANDLE hHandle, bool TranslateName); -__declspec(dllimport) void* TITCALL HandlerGetHandleNameW(HANDLE hProcess, DWORD ProcessId, HANDLE hHandle, bool TranslateName); -__declspec(dllimport) long TITCALL HandlerEnumerateOpenHandles(DWORD ProcessId, LPVOID HandleBuffer, DWORD MaxHandleCount); -__declspec(dllimport) long long TITCALL HandlerGetHandleDetails(HANDLE hProcess, DWORD ProcessId, HANDLE hHandle, DWORD InformationReturn); -__declspec(dllimport) bool TITCALL HandlerCloseRemoteHandle(HANDLE hProcess, HANDLE hHandle); -__declspec(dllimport) long TITCALL HandlerEnumerateLockHandles(char* szFileOrFolderName, bool NameIsFolder, bool NameIsTranslated, LPVOID HandleDataBuffer, DWORD MaxHandleCount); -__declspec(dllimport) long TITCALL HandlerEnumerateLockHandlesW(wchar_t* szFileOrFolderName, bool NameIsFolder, bool NameIsTranslated, LPVOID HandleDataBuffer, DWORD MaxHandleCount); -__declspec(dllimport) bool TITCALL HandlerCloseAllLockHandles(char* szFileOrFolderName, bool NameIsFolder, bool NameIsTranslated); -__declspec(dllimport) bool TITCALL HandlerCloseAllLockHandlesW(wchar_t* szFileOrFolderName, bool NameIsFolder, bool NameIsTranslated); -__declspec(dllimport) bool TITCALL HandlerIsFileLocked(char* szFileOrFolderName, bool NameIsFolder, bool NameIsTranslated); -__declspec(dllimport) bool TITCALL HandlerIsFileLockedW(wchar_t* szFileOrFolderName, bool NameIsFolder, bool NameIsTranslated); -// TitanEngine.Handler[Mutex].functions: -__declspec(dllimport) long TITCALL HandlerEnumerateOpenMutexes(HANDLE hProcess, DWORD ProcessId, LPVOID HandleBuffer, DWORD MaxHandleCount); -__declspec(dllimport) long long TITCALL HandlerGetOpenMutexHandle(HANDLE hProcess, DWORD ProcessId, char* szMutexString); -__declspec(dllimport) long long TITCALL HandlerGetOpenMutexHandleW(HANDLE hProcess, DWORD ProcessId, wchar_t* szMutexString); -__declspec(dllimport) long TITCALL HandlerGetProcessIdWhichCreatedMutex(char* szMutexString); -__declspec(dllimport) long TITCALL HandlerGetProcessIdWhichCreatedMutexW(wchar_t* szMutexString); -// TitanEngine.Injector.functions: -__declspec(dllimport) bool TITCALL RemoteLoadLibrary(HANDLE hProcess, char* szLibraryFile, bool WaitForThreadExit); -__declspec(dllimport) bool TITCALL RemoteLoadLibraryW(HANDLE hProcess, wchar_t* szLibraryFile, bool WaitForThreadExit); -__declspec(dllimport) bool TITCALL RemoteFreeLibrary(HANDLE hProcess, HMODULE hModule, char* szLibraryFile, bool WaitForThreadExit); -__declspec(dllimport) bool TITCALL RemoteFreeLibraryW(HANDLE hProcess, HMODULE hModule, wchar_t* szLibraryFile, bool WaitForThreadExit); -__declspec(dllimport) bool TITCALL RemoteExitProcess(HANDLE hProcess, DWORD ExitCode); -// TitanEngine.StaticUnpacker.functions: -__declspec(dllimport) bool TITCALL StaticFileLoad(char* szFileName, DWORD DesiredAccess, bool SimulateLoad, LPHANDLE FileHandle, LPDWORD LoadedSize, LPHANDLE FileMap, PULONG_PTR FileMapVA); -__declspec(dllimport) bool TITCALL StaticFileLoadW(wchar_t* szFileName, DWORD DesiredAccess, bool SimulateLoad, LPHANDLE FileHandle, LPDWORD LoadedSize, LPHANDLE FileMap, PULONG_PTR FileMapVA); -__declspec(dllimport) bool TITCALL StaticFileUnload(char* szFileName, bool CommitChanges, HANDLE FileHandle, DWORD LoadedSize, HANDLE FileMap, ULONG_PTR FileMapVA); -__declspec(dllimport) bool TITCALL StaticFileUnloadW(wchar_t* szFileName, bool CommitChanges, HANDLE FileHandle, DWORD LoadedSize, HANDLE FileMap, ULONG_PTR FileMapVA); -__declspec(dllimport) bool TITCALL StaticFileOpen(char* szFileName, DWORD DesiredAccess, LPHANDLE FileHandle, LPDWORD FileSizeLow, LPDWORD FileSizeHigh); -__declspec(dllimport) bool TITCALL StaticFileOpenW(wchar_t* szFileName, DWORD DesiredAccess, LPHANDLE FileHandle, LPDWORD FileSizeLow, LPDWORD FileSizeHigh); -__declspec(dllimport) bool TITCALL StaticFileGetContent(HANDLE FileHandle, DWORD FilePositionLow, LPDWORD FilePositionHigh, void* Buffer, DWORD Size); -__declspec(dllimport) void TITCALL StaticFileClose(HANDLE FileHandle); -__declspec(dllimport) void TITCALL StaticMemoryDecrypt(LPVOID MemoryStart, DWORD MemorySize, DWORD DecryptionType, DWORD DecryptionKeySize, ULONG_PTR DecryptionKey); -__declspec(dllimport) void TITCALL StaticMemoryDecryptEx(LPVOID MemoryStart, DWORD MemorySize, DWORD DecryptionKeySize, void* DecryptionCallBack); -__declspec(dllimport) void TITCALL StaticMemoryDecryptSpecial(LPVOID MemoryStart, DWORD MemorySize, DWORD DecryptionKeySize, DWORD SpecDecryptionType, void* DecryptionCallBack); -__declspec(dllimport) void TITCALL StaticSectionDecrypt(ULONG_PTR FileMapVA, DWORD SectionNumber, bool SimulateLoad, DWORD DecryptionType, DWORD DecryptionKeySize, ULONG_PTR DecryptionKey); -__declspec(dllimport) bool TITCALL StaticMemoryDecompress(void* Source, DWORD SourceSize, void* Destination, DWORD DestinationSize, int Algorithm); -__declspec(dllimport) bool TITCALL StaticRawMemoryCopy(HANDLE hFile, ULONG_PTR FileMapVA, ULONG_PTR VitualAddressToCopy, DWORD Size, bool AddressIsRVA, char* szDumpFileName); -__declspec(dllimport) bool TITCALL StaticRawMemoryCopyW(HANDLE hFile, ULONG_PTR FileMapVA, ULONG_PTR VitualAddressToCopy, DWORD Size, bool AddressIsRVA, wchar_t* szDumpFileName); -__declspec(dllimport) bool TITCALL StaticRawMemoryCopyEx(HANDLE hFile, DWORD RawAddressToCopy, DWORD Size, char* szDumpFileName); -__declspec(dllimport) bool TITCALL StaticRawMemoryCopyExW(HANDLE hFile, DWORD RawAddressToCopy, DWORD Size, wchar_t* szDumpFileName); -__declspec(dllimport) bool TITCALL StaticRawMemoryCopyEx64(HANDLE hFile, DWORD64 RawAddressToCopy, DWORD64 Size, char* szDumpFileName); -__declspec(dllimport) bool TITCALL StaticRawMemoryCopyEx64W(HANDLE hFile, DWORD64 RawAddressToCopy, DWORD64 Size, wchar_t* szDumpFileName); -__declspec(dllimport) bool TITCALL StaticHashMemory(void* MemoryToHash, DWORD SizeOfMemory, void* HashDigest, bool OutputString, int Algorithm); -__declspec(dllimport) bool TITCALL StaticHashFile(char* szFileName, char* HashDigest, bool OutputString, int Algorithm); -__declspec(dllimport) bool TITCALL StaticHashFileW(wchar_t* szFileName, char* HashDigest, bool OutputString, int Algorithm); -// TitanEngine.Engine.functions: -__declspec(dllimport) void TITCALL SetEngineVariable(DWORD VariableId, bool VariableSet); -__declspec(dllimport) bool TITCALL EngineCreateMissingDependencies(char* szFileName, char* szOutputFolder, bool LogCreatedFiles); -__declspec(dllimport) bool TITCALL EngineCreateMissingDependenciesW(wchar_t* szFileName, wchar_t* szOutputFolder, bool LogCreatedFiles); -__declspec(dllimport) bool TITCALL EngineFakeMissingDependencies(HANDLE hProcess); -__declspec(dllimport) bool TITCALL EngineDeleteCreatedDependencies(); -__declspec(dllimport) bool TITCALL EngineCreateUnpackerWindow(char* WindowUnpackerTitle, char* WindowUnpackerLongTitle, char* WindowUnpackerName, char* WindowUnpackerAuthor, void* StartUnpackingCallBack); -__declspec(dllimport) void TITCALL EngineAddUnpackerWindowLogMessage(char* szLogMessage); -// Global.Engine.Extension.Functions: -__declspec(dllimport) bool TITCALL ExtensionManagerIsPluginLoaded(char* szPluginName); -__declspec(dllimport) bool TITCALL ExtensionManagerIsPluginEnabled(char* szPluginName); -__declspec(dllimport) bool TITCALL ExtensionManagerDisableAllPlugins(); -__declspec(dllimport) bool TITCALL ExtensionManagerDisablePlugin(char* szPluginName); -__declspec(dllimport) bool TITCALL ExtensionManagerEnableAllPlugins(); -__declspec(dllimport) bool TITCALL ExtensionManagerEnablePlugin(char* szPluginName); -__declspec(dllimport) bool TITCALL ExtensionManagerUnloadAllPlugins(); -__declspec(dllimport) bool TITCALL ExtensionManagerUnloadPlugin(char* szPluginName); -__declspec(dllimport) void* TITCALL ExtensionManagerGetPluginInfo(char* szPluginName); - -#ifdef __cplusplus -} -#endif /*__cplusplus*/ - -#pragma pack(pop) - -#endif /*TITANENGINE*/ diff --git a/TitanScriptGui/TitanEngine.lib b/TitanScriptGui/TitanEngine.lib deleted file mode 100644 index 4b6174a5b30ae41aa0e9a1fc065f0534111e40aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 101964 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 diff --git a/TitanScriptGui/TitanScript.h b/TitanScriptGui/TitanScript.h index 4eb75e2..28e5c8c 100644 --- a/TitanScriptGui/TitanScript.h +++ b/TitanScriptGui/TitanScript.h @@ -1,26 +1,26 @@ -#ifndef TITANSCRIPT_H -#define TITANSCRIPT_H - -#if _MSC_VER > 1000 -//#pragma once -#endif - -#include - -enum eLogType {TS_LOG_NORMAL, TS_LOG_ERROR, TS_LOG_COMMAND, TS_LOG_DEBUG}; -typedef void(*fLogCallback)(const char* szString, eLogType Type); - -typedef bool (*tScripterLoadFileA)(const char*); -typedef bool (*tScripterLoadFileW)(const wchar_t*); -typedef bool (*tScripterLoadBuffer)(const char*); -typedef bool (*tScripterResume)(); -typedef bool (*tScripterPause)(); -typedef bool (*tScripterAutoDebugA)(const char*); -typedef bool (*tScripterAutoDebugW)(const wchar_t*); -typedef void (*tScripterSetLogCallback)(fLogCallback Callback); -typedef bool (*tScripterExecuteWithTitanMistA)(const char*, const char*); - -// use like this: tScripterResume foo = GetTSFunctionPointer(Resume); -#define GetTSFunctionPointer(x) ((tScripter ## x)GetProcAddress(GetModuleHandleA("TitanScript"), "Scripter" #x)) - -#endif /*TITANSCRIPT_H*/ +#ifndef TITANSCRIPT_H +#define TITANSCRIPT_H + +#if _MSC_VER > 1000 +//#pragma once +#endif + +#include + +enum eLogType {TS_LOG_NORMAL, TS_LOG_ERROR, TS_LOG_COMMAND, TS_LOG_DEBUG}; +typedef void(*fLogCallback)(const char* szString, eLogType Type); + +typedef bool (*tScripterLoadFileA)(const char*); +typedef bool (*tScripterLoadFileW)(const wchar_t*); +typedef bool (*tScripterLoadBuffer)(const char*); +typedef bool (*tScripterResume)(); +typedef bool (*tScripterPause)(); +typedef bool (*tScripterAutoDebugA)(const char*); +typedef bool (*tScripterAutoDebugW)(const wchar_t*); +typedef void (*tScripterSetLogCallback)(fLogCallback Callback); +typedef bool (*tScripterExecuteWithTitanMistA)(const char*, const char*); + +// use like this: tScripterResume foo = GetTSFunctionPointer(Resume); +#define GetTSFunctionPointer(x) ((tScripter ## x)GetProcAddress(GetModuleHandleA("TitanScript"), "Scripter" #x)) + +#endif /*TITANSCRIPT_H*/ diff --git a/TitanScriptGui/TitanScriptGui.cpp b/TitanScriptGui/TitanScriptGui.cpp index 56de296..d76e4cd 100644 --- a/TitanScriptGui/TitanScriptGui.cpp +++ b/TitanScriptGui/TitanScriptGui.cpp @@ -1,122 +1,142 @@ -#include "stdafx.h" -#include "TitanScriptGui.h" -#include "TitanEngine.h" -#include "TitanScript.h" - -HINSTANCE hInst; -HWND hLogBox; -TCHAR FileNameTarget[MAX_PATH] = {}; -TCHAR FileNameScript[MAX_PATH] = {}; - -INT_PTR CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); -bool GetFileDialog(TCHAR[MAX_PATH]); -void AddLogMessage(const char* szLogMessage, eLogType Type); - -tScripterLoadFileA load_file = NULL; -tScripterExecuteWithTitanMistA exec = NULL; -tScripterSetLogCallback set_log_callback = NULL; - -int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow) -{ - UNREFERENCED_PARAMETER(hPrevInstance); - UNREFERENCED_PARAMETER(lpCmdLine); - - DialogBox(hInstance, MAKEINTRESOURCE(IDD_MAINWINDOW), NULL, &WndProc); - ExitProcess(NULL); -} - -INT_PTR CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) -{ - - switch (message) - { - case WM_INITDIALOG: { - hLogBox = GetDlgItem(hWnd, IDC_LOG); - - //make sure TitanScript is available - if ( !ExtensionManagerIsPluginLoaded( "TitanScript" ) || !ExtensionManagerIsPluginEnabled( "TitanScript" ) ) { - AddLogMessage("TitanScript failed to load", TS_LOG_ERROR); - AddLogMessage("Ensure plugins\\x86\\TitanScript.dll exists !", TS_LOG_ERROR); - - EnableWindow(GetDlgItem(hWnd, IDC_RUN ), FALSE); - } else { - load_file = GetTSFunctionPointer( LoadFileA ); - exec = GetTSFunctionPointer( ExecuteWithTitanMistA ); - set_log_callback = GetTSFunctionPointer( SetLogCallback ); - - set_log_callback(&AddLogMessage); - } - - break; - } - case WM_COMMAND: - switch (LOWORD(wParam)) - { - case IDC_BROWSETARGET: { - if(GetFileDialog(FileNameTarget)) - { - SetDlgItemText(hWnd, IDC_TARGETPATH, FileNameTarget); - } - break; - } - case IDC_BROWSESCRIPT: { - if(GetFileDialog(FileNameScript)) - { - SetDlgItemText(hWnd, IDC_SCRIPTPATH, FileNameScript); - } - break; - } - case IDC_RUN: { - char buf[MAX_PATH] = {0}; - - wcstombs(buf, FileNameScript, sizeof(buf)); - if(!load_file(buf)) { - AddLogMessage("Script failed to load", TS_LOG_ERROR); - break; - } - - wcstombs(buf, FileNameTarget, sizeof(buf)); - if(!exec(buf, "dump.exe")) { - AddLogMessage("Failed to execute", TS_LOG_ERROR); - break; - } - - break; - } - - } - break; - case WM_CLOSE: - EndDialog(hWnd, NULL); - break; - default: - return false; - } - return 0; -} - -bool GetFileDialog(TCHAR Buffer[MAX_PATH]) -{ - OPENFILENAME sOpenFileName = {0}; - const TCHAR szFilterString[] = _T("All Files \0*.*\0\0"); - const TCHAR szDialogTitle[] = _T("TitanScriptGUI"); - - Buffer[0] = 0; - - sOpenFileName.lStructSize = sizeof(sOpenFileName); - sOpenFileName.lpstrFilter = szFilterString; - sOpenFileName.lpstrFile = Buffer; - sOpenFileName.nMaxFile = MAX_PATH; - sOpenFileName.Flags = OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST | OFN_LONGNAMES | OFN_EXPLORER | OFN_HIDEREADONLY; - sOpenFileName.lpstrTitle = szDialogTitle; - - return (TRUE == GetOpenFileName(&sOpenFileName)); -} - -void AddLogMessage(const char* szLogMessage, eLogType Type) -{ - TCHAR buf[100] = {0}; - mbstowcs(buf, szLogMessage, sizeof(buf)); - LRESULT cSelect = SendMessage(hLogBox, LB_INSERTSTRING, (WPARAM)-1, (LPARAM)buf); - SendMessage(hLogBox, LB_SETCURSEL, cSelect, NULL); -} \ No newline at end of file +#include "stdafx.h" +#include "TitanScriptGui.h" +#include "..\SDK\CPP\TitanEngine.h" +#include "TitanScript.h" + +HINSTANCE hInst; +HWND hLogBox; +TCHAR FileNameTarget[MAX_PATH] = {}; +TCHAR FileNameScript[MAX_PATH] = {}; + +INT_PTR CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); +bool GetFileDialog(TCHAR[MAX_PATH]); +void AddLogMessage(const char* szLogMessage, eLogType Type); + +tScripterLoadFileA load_file = NULL; +tScripterExecuteWithTitanMistA exec = NULL; +tScripterSetLogCallback set_log_callback = NULL; + +int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow) +{ + UNREFERENCED_PARAMETER(hPrevInstance); + UNREFERENCED_PARAMETER(lpCmdLine); + + hInst = hInstance; + + DialogBox(hInstance, MAKEINTRESOURCE(IDD_MAINWINDOW), NULL, &WndProc); + ExitProcess(NULL); +} + +INT_PTR CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) +{ + + switch (message) + { + case WM_INITDIALOG: + { + HICON hIconLarge = (HICON)LoadImage(hInst, MAKEINTRESOURCE(IDI_ICON1), IMAGE_ICON, 32, 32, LR_DEFAULTSIZE); + SendMessage(hWnd, WM_SETICON, ICON_BIG, (LPARAM)hIconLarge); + HICON hIconSmall = (HICON)LoadImage(hInst, MAKEINTRESOURCE(IDI_ICON1), IMAGE_ICON, 16, 16, LR_DEFAULTSIZE); + SendMessage(hWnd, WM_SETICON, ICON_SMALL, (LPARAM)hIconSmall); + + hLogBox = GetDlgItem(hWnd, IDC_LOG); + + //make sure TitanScript is available + if ( !ExtensionManagerIsPluginLoaded( "TitanScript" ) || !ExtensionManagerIsPluginEnabled( "TitanScript" ) ) + { + AddLogMessage("TitanScript failed to load", TS_LOG_ERROR); +#ifdef _WIN64 + AddLogMessage("Ensure plugins\\x64\\TitanScript.dll exists !", TS_LOG_ERROR); +#else + AddLogMessage("Ensure plugins\\x86\\TitanScript.dll exists !", TS_LOG_ERROR); +#endif //_WIN64 + + EnableWindow(GetDlgItem(hWnd, IDC_RUN ), FALSE); + } + else + { + load_file = GetTSFunctionPointer( LoadFileA ); + exec = GetTSFunctionPointer( ExecuteWithTitanMistA ); + set_log_callback = GetTSFunctionPointer( SetLogCallback ); + + set_log_callback(&AddLogMessage); + } + + break; + } + case WM_COMMAND: + switch (LOWORD(wParam)) + { + case IDC_BROWSETARGET: + { + if(GetFileDialog(FileNameTarget)) + { + SetDlgItemText(hWnd, IDC_TARGETPATH, FileNameTarget); + } + break; + } + case IDC_BROWSESCRIPT: + { + if(GetFileDialog(FileNameScript)) + { + SetDlgItemText(hWnd, IDC_SCRIPTPATH, FileNameScript); + } + break; + } + case IDC_RUN: + { + char buf[MAX_PATH] = {0}; + + wcstombs(buf, FileNameScript, sizeof(buf)); + if(!load_file(buf)) + { + AddLogMessage("Script failed to load", TS_LOG_ERROR); + break; + } + + wcstombs(buf, FileNameTarget, sizeof(buf)); + if(!exec(buf, "dump.exe")) + { + AddLogMessage("Failed to execute", TS_LOG_ERROR); + break; + } + + break; + } + + } + break; + case WM_CLOSE: + EndDialog(hWnd, NULL); + break; + default: + return false; + } + return 0; +} + +bool GetFileDialog(TCHAR Buffer[MAX_PATH]) +{ + OPENFILENAME sOpenFileName = {0}; + const TCHAR szFilterString[] = _T("All Files \0*.*\0\0"); + const TCHAR szDialogTitle[] = _T("TitanScriptGUI"); + + Buffer[0] = 0; + + sOpenFileName.lStructSize = sizeof(sOpenFileName); + sOpenFileName.lpstrFilter = szFilterString; + sOpenFileName.lpstrFile = Buffer; + sOpenFileName.nMaxFile = MAX_PATH; + sOpenFileName.Flags = OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST | OFN_LONGNAMES | OFN_EXPLORER | OFN_HIDEREADONLY; + sOpenFileName.lpstrTitle = szDialogTitle; + + return (TRUE == GetOpenFileName(&sOpenFileName)); +} + +void AddLogMessage(const char* szLogMessage, eLogType Type) +{ + TCHAR buf[100] = {0}; + mbstowcs(buf, szLogMessage, sizeof(buf)); + LRESULT cSelect = SendMessage(hLogBox, LB_INSERTSTRING, (WPARAM)-1, (LPARAM)buf); + SendMessage(hLogBox, LB_SETCURSEL, cSelect, NULL); +} diff --git a/TitanScriptGui/TitanScriptGui.h b/TitanScriptGui/TitanScriptGui.h index d00d47e..e60f2eb 100644 --- a/TitanScriptGui/TitanScriptGui.h +++ b/TitanScriptGui/TitanScriptGui.h @@ -1,3 +1,3 @@ -#pragma once - -#include "resource.h" +#pragma once + +#include "resource.h" diff --git a/TitanScriptGui/TitanScriptGui.rc b/TitanScriptGui/TitanScriptGui.rc index 055a8268064b1f446f1ed7a171f692b98f8c291e..52caa2537f1926ed9dd839da457d8a210e030e4d 100644 GIT binary patch delta 773 zcmb7C-z!657=GfAWJ9f8koq<$8PjsZC3fPJUtvb6wJ?shk(srq{RdioXlx`Z)P~XAR6@4=2bWjXV^F@jEW-P@rGG zTd%c`4$IOHU44JTUvxBht#7RMh|Pxk$ihVd2huvhjEhqa+-1DRQ(B^eH|DU_#*$97 z4NY*TkOeqI&0|#13Cu7vEtM1+5h)~eZ|l9T`g&^H?UyYgqUw8##MvN)S%I(fy~ ze3FvikO7V~w)MGxYRtwaE9=vm)ucs!$RSj3Zg%OLU_^7YriK_ZdCOqR6bmF;8jozWvIOcj94B$yChe z85fx)xHa~b{A(fyx)t`-V>wtNBn CN{kHv delta 159 zcmZ2yF->p7G8T0ghE#@9h7yKihGd2e1_cHU22_z8hD3%uhLp+q+^v&6SYtLv@z^j= z{wK*c*??DP^EK8>%#*`-HcfUBIKv;#5X=zI5WwIM#GwoUldT0UH!l;^VV%5!Q;KM7 N?sFd8{7ce=2>=fsDdhkF diff --git a/TitanScriptGui/TitanScriptGui.vcxproj b/TitanScriptGui/TitanScriptGui.vcxproj index 71b23c3..998a2ee 100644 --- a/TitanScriptGui/TitanScriptGui.vcxproj +++ b/TitanScriptGui/TitanScriptGui.vcxproj @@ -1,102 +1,172 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {49C88677-C374-4AE2-B431-8F3B424BF245} - Win32Proj - TitanScriptGui - - - - Application - true - Unicode - - - Application - false - true - Unicode - - - - - - - - - - - - - true - $(SolutionDir)\$(IntDir)x32\ - - - false - $(SolutionDir)\$(IntDir)x32\ - - - - Use - Level3 - Disabled - WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) - - - Windows - true - TitanEngine.lib;%(AdditionalDependencies) - - - - - Level3 - Use - MaxSpeed - true - true - WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions) - - - Windows - true - true - true - TitanEngine.lib;%(AdditionalDependencies) - - - - - - - - - - - - - - - - Create - Create - - - - - - - - - + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + {49C88677-C374-4AE2-B431-8F3B424BF245} + Win32Proj + TitanScriptGui + + + + Application + true + Unicode + + + Application + true + Unicode + + + Application + false + true + Unicode + + + Application + false + true + Unicode + + + + + + + + + + + + + + + + + + + true + $(SolutionDir)\$(Configuration)\x32\ + $(Configuration)\x32\ + + + true + $(SolutionDir)\$(Configuration)\x64\ + $(Configuration)\x64\ + + + false + $(SolutionDir)\$(Configuration)\x32\ + $(Configuration)\x32\ + + + false + $(SolutionDir)\$(Configuration)\x64\ + $(Configuration)\x64\ + + + + Use + Level3 + Disabled + WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) + + + Windows + true + $(OutDir)TitanEngine.lib;comdlg32.lib;user32.lib + + + + + Use + Level3 + Disabled + WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) + + + Windows + true + $(OutDir)TitanEngine.lib;comdlg32.lib;user32.lib + + + + + Level3 + Use + MaxSpeed + true + true + WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions) + + + Windows + true + true + true + $(OutDir)TitanEngine.lib;comdlg32.lib;user32.lib + + + + + Level3 + Use + MaxSpeed + true + true + WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions) + + + Windows + true + true + true + $(OutDir)TitanEngine.lib;comdlg32.lib;user32.lib + + + + + + + + + + + + + + + + + Create + Create + Create + Create + + + + + + + + + \ No newline at end of file diff --git a/TitanScriptGui/TitanScriptGui.vcxproj.filters b/TitanScriptGui/TitanScriptGui.vcxproj.filters index 16c706f..039b995 100644 --- a/TitanScriptGui/TitanScriptGui.vcxproj.filters +++ b/TitanScriptGui/TitanScriptGui.vcxproj.filters @@ -1,53 +1,64 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - - - - Headerdateien - - - Headerdateien - - - Headerdateien - - - Headerdateien - - - Headerdateien - - - Headerdateien - - - - - Quelldateien - - - Quelldateien - - - - - Ressourcendateien - - + + + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + {6072cfa4-c101-4f1a-9920-89951ba83a2b} + + + {a0cc27fd-de5f-4551-9fe5-4a45f9ae862c} + + + + + Resource Files\Images + + + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files\SDK + + + Header Files\SDK + + + + + Source Files + + + Source Files + + + + + Resource Files + + \ No newline at end of file diff --git a/TitanScriptGui/resource.h b/TitanScriptGui/resource.h index 35fd2f8fe430f0e95dc9557c5ad236a7b8b73e62..17f8f2841c5cee032d84f36ae268c56347f78ae7 100644 GIT binary patch delta 51 zcmeyucaDF99}}-9Lp*~ggENCagCB$8R;|q` HYyyk`WMmEN delta 29 lcmX@d|AlXZAJgOnW|qxsm|ieX?qd?09Ka^Bc^{hqBLJo23FH6( diff --git a/TitanScriptGui/stdafx.cpp b/TitanScriptGui/stdafx.cpp index 106bd4f..1577c4e 100644 --- a/TitanScriptGui/stdafx.cpp +++ b/TitanScriptGui/stdafx.cpp @@ -1,8 +1 @@ -// stdafx.cpp : Quelldatei, die nur die Standard-Includes einbindet. -// TitanScriptGui.pch ist der vorkompilierte Header. -// stdafx.obj enthält die vorkompilierten Typinformationen. - -#include "stdafx.h" - -// TODO: Auf zusätzliche Header verweisen, die in STDAFX.H -// und nicht in dieser Datei erforderlich sind. +#include "stdafx.h" \ No newline at end of file diff --git a/TitanScriptGui/stdafx.h b/TitanScriptGui/stdafx.h index 7ca0378..a43f4f6 100644 --- a/TitanScriptGui/stdafx.h +++ b/TitanScriptGui/stdafx.h @@ -1,13 +1,12 @@ -#pragma once - -#include "targetver.h" - -#define WIN32_LEAN_AND_MEAN -#include -#include - -#include -#include -#include -#include - +#pragma once + +#include "targetver.h" + +#define WIN32_LEAN_AND_MEAN +#include +#include + +#include +#include +#include +#include diff --git a/TitanScriptGui/targetver.h b/TitanScriptGui/targetver.h index 05ba7d4..2b26ce2 100644 --- a/TitanScriptGui/targetver.h +++ b/TitanScriptGui/targetver.h @@ -1,3 +1,3 @@ -#pragma once - -#include +#pragma once + +#include diff --git a/TitanUnitTest/TitanEngine.h b/TitanUnitTest/TitanEngine.h deleted file mode 100644 index 206f9a4..0000000 --- a/TitanUnitTest/TitanEngine.h +++ /dev/null @@ -1,934 +0,0 @@ -#ifndef TITANENGINE -#define TITANENGINE - -#define TITCALL - -#if _MSC_VER > 1000 -#pragma once -#endif - -#include - -#pragma pack(push, 1) - -// Global.Constant.Structure.Declaration: -// Engine.External: -const BYTE UE_ACCESS_READ = 0; -const BYTE UE_ACCESS_WRITE = 1; -const BYTE UE_ACCESS_ALL = 2; - -const BYTE UE_HIDE_PEBONLY = 0; -const BYTE UE_HIDE_BASIC = 1; - -const BYTE UE_PLUGIN_CALL_REASON_PREDEBUG = 1; -const BYTE UE_PLUGIN_CALL_REASON_EXCEPTION = 2; -const BYTE UE_PLUGIN_CALL_REASON_POSTDEBUG = 3; -const BYTE UE_PLUGIN_CALL_REASON_UNHANDLEDEXCEPTION = 4; - -const BYTE TEE_HOOK_NRM_JUMP = 1; -const BYTE TEE_HOOK_NRM_CALL = 3; -const BYTE TEE_HOOK_IAT = 5; - -const BYTE UE_ENGINE_ALOW_MODULE_LOADING = 1; -const BYTE UE_ENGINE_AUTOFIX_FORWARDERS = 2; -const BYTE UE_ENGINE_PASS_ALL_EXCEPTIONS = 3; -const BYTE UE_ENGINE_NO_CONSOLE_WINDOW = 4; -const BYTE UE_ENGINE_BACKUP_FOR_CRITICAL_FUNCTIONS = 5; -const BYTE UE_ENGINE_CALL_PLUGIN_CALLBACK = 6; -const BYTE UE_ENGINE_RESET_CUSTOM_HANDLER = 7; -const BYTE UE_ENGINE_CALL_PLUGIN_DEBUG_CALLBACK = 8; - -const BYTE UE_OPTION_REMOVEALL = 1; -const BYTE UE_OPTION_DISABLEALL = 2; -const BYTE UE_OPTION_REMOVEALLDISABLED = 3; -const BYTE UE_OPTION_REMOVEALLENABLED = 4; - -const BYTE UE_STATIC_DECRYPTOR_XOR = 1; -const BYTE UE_STATIC_DECRYPTOR_SUB = 2; -const BYTE UE_STATIC_DECRYPTOR_ADD = 3; - -const BYTE UE_STATIC_DECRYPTOR_FOREWARD = 1; -const BYTE UE_STATIC_DECRYPTOR_BACKWARD = 2; - -const BYTE UE_STATIC_KEY_SIZE_1 = 1; -const BYTE UE_STATIC_KEY_SIZE_2 = 2; -const BYTE UE_STATIC_KEY_SIZE_4 = 4; -const BYTE UE_STATIC_KEY_SIZE_8 = 8; - -const BYTE UE_STATIC_APLIB = 1; -const BYTE UE_STATIC_APLIB_DEPACK = 2; -const BYTE UE_STATIC_LZMA = 3; - -const BYTE UE_STATIC_HASH_MD5 = 1; -const BYTE UE_STATIC_HASH_SHA1 = 2; -const BYTE UE_STATIC_HASH_CRC32 = 3; - -const DWORD UE_RESOURCE_LANGUAGE_ANY = -1; - -const BYTE UE_PE_OFFSET = 0; -const BYTE UE_IMAGEBASE = 1; -const BYTE UE_OEP = 2; -const BYTE UE_SIZEOFIMAGE = 3; -const BYTE UE_SIZEOFHEADERS = 4; -const BYTE UE_SIZEOFOPTIONALHEADER = 5; -const BYTE UE_SECTIONALIGNMENT = 6; -const BYTE UE_IMPORTTABLEADDRESS = 7; -const BYTE UE_IMPORTTABLESIZE = 8; -const BYTE UE_RESOURCETABLEADDRESS = 9; -const BYTE UE_RESOURCETABLESIZE = 10; -const BYTE UE_EXPORTTABLEADDRESS = 11; -const BYTE UE_EXPORTTABLESIZE = 12; -const BYTE UE_TLSTABLEADDRESS = 13; -const BYTE UE_TLSTABLESIZE = 14; -const BYTE UE_RELOCATIONTABLEADDRESS = 15; -const BYTE UE_RELOCATIONTABLESIZE = 16; -const BYTE UE_TIMEDATESTAMP = 17; -const BYTE UE_SECTIONNUMBER = 18; -const BYTE UE_CHECKSUM = 19; -const BYTE UE_SUBSYSTEM = 20; -const BYTE UE_CHARACTERISTICS = 21; -const BYTE UE_NUMBEROFRVAANDSIZES = 22; -const BYTE UE_BASEOFCODE = 23; -const BYTE UE_BASEOFDATA = 24; -//leaving some enum space here for future additions -const BYTE UE_SECTIONNAME = 40; -const BYTE UE_SECTIONVIRTUALOFFSET = 41; -const BYTE UE_SECTIONVIRTUALSIZE = 42; -const BYTE UE_SECTIONRAWOFFSET = 43; -const BYTE UE_SECTIONRAWSIZE = 44; -const BYTE UE_SECTIONFLAGS = 45; - -const long UE_VANOTFOUND = -2; - -const BYTE UE_CH_BREAKPOINT = 1; -const BYTE UE_CH_SINGLESTEP = 2; -const BYTE UE_CH_ACCESSVIOLATION = 3; -const BYTE UE_CH_ILLEGALINSTRUCTION = 4; -const BYTE UE_CH_NONCONTINUABLEEXCEPTION = 5; -const BYTE UE_CH_ARRAYBOUNDSEXCEPTION = 6; -const BYTE UE_CH_FLOATDENORMALOPERAND = 7; -const BYTE UE_CH_FLOATDEVIDEBYZERO = 8; -const BYTE UE_CH_INTEGERDEVIDEBYZERO = 9; -const BYTE UE_CH_INTEGEROVERFLOW = 10; -const BYTE UE_CH_PRIVILEGEDINSTRUCTION = 11; -const BYTE UE_CH_PAGEGUARD = 12; -const BYTE UE_CH_EVERYTHINGELSE = 13; -const BYTE UE_CH_CREATETHREAD = 14; -const BYTE UE_CH_EXITTHREAD = 15; -const BYTE UE_CH_CREATEPROCESS = 16; -const BYTE UE_CH_EXITPROCESS = 17; -const BYTE UE_CH_LOADDLL = 18; -const BYTE UE_CH_UNLOADDLL = 19; -const BYTE UE_CH_OUTPUTDEBUGSTRING = 20; -const BYTE UE_CH_AFTEREXCEPTIONPROCESSING = 21; -const BYTE UE_CH_ALLEVENTS = 22; -const BYTE UE_CH_SYSTEMBREAKPOINT = 23; -const BYTE UE_CH_UNHANDLEDEXCEPTION = 24; -const BYTE UE_CH_RIPEVENT = 25; - -const BYTE UE_OPTION_HANDLER_RETURN_HANDLECOUNT = 1; -const BYTE UE_OPTION_HANDLER_RETURN_ACCESS = 2; -const BYTE UE_OPTION_HANDLER_RETURN_FLAGS = 3; -const BYTE UE_OPTION_HANDLER_RETURN_TYPENAME = 4; - -const BYTE UE_BREAKPOINT_INT3 = 1; -const BYTE UE_BREAKPOINT_LONG_INT3 = 2; -const BYTE UE_BREAKPOINT_UD2 = 3; - -const BYTE UE_BPXREMOVED = 0; -const BYTE UE_BPXACTIVE = 1; -const BYTE UE_BPXINACTIVE = 2; - -const BYTE UE_BREAKPOINT = 0; -const BYTE UE_SINGLESHOOT = 1; -const BYTE UE_HARDWARE = 2; -const BYTE UE_MEMORY = 3; -const BYTE UE_MEMORY_READ = 4; -const BYTE UE_MEMORY_WRITE = 5; -const BYTE UE_MEMORY_EXECUTE = 6; -const DWORD UE_BREAKPOINT_TYPE_INT3 = 0x10000000; -const DWORD UE_BREAKPOINT_TYPE_LONG_INT3 = 0x20000000; -const DWORD UE_BREAKPOINT_TYPE_UD2 = 0x30000000; - -const BYTE UE_HARDWARE_EXECUTE = 4; -const BYTE UE_HARDWARE_WRITE = 5; -const BYTE UE_HARDWARE_READWRITE = 6; - -const BYTE UE_HARDWARE_SIZE_1 = 7; -const BYTE UE_HARDWARE_SIZE_2 = 8; -const BYTE UE_HARDWARE_SIZE_4 = 9; -const BYTE UE_HARDWARE_SIZE_8 = 10; - -const BYTE UE_ON_LIB_LOAD = 1; -const BYTE UE_ON_LIB_UNLOAD = 2; -const BYTE UE_ON_LIB_ALL = 3; - -const BYTE UE_APISTART = 0; -const BYTE UE_APIEND = 1; - -const BYTE UE_PLATFORM_x86 = 1; -const BYTE UE_PLATFORM_x64 = 2; -const BYTE UE_PLATFORM_ALL = 3; - -const BYTE UE_FUNCTION_STDCALL = 1; -const BYTE UE_FUNCTION_CCALL = 2; -const BYTE UE_FUNCTION_FASTCALL = 3; -const BYTE UE_FUNCTION_STDCALL_RET = 4; -const BYTE UE_FUNCTION_CCALL_RET = 5; -const BYTE UE_FUNCTION_FASTCALL_RET = 6; -const BYTE UE_FUNCTION_STDCALL_CALL = 7; -const BYTE UE_FUNCTION_CCALL_CALL = 8; -const BYTE UE_FUNCTION_FASTCALL_CALL = 9; -const BYTE UE_PARAMETER_BYTE = 0; -const BYTE UE_PARAMETER_WORD = 1; -const BYTE UE_PARAMETER_DWORD = 2; -const BYTE UE_PARAMETER_QWORD = 3; -const BYTE UE_PARAMETER_PTR_BYTE = 4; -const BYTE UE_PARAMETER_PTR_WORD = 5; -const BYTE UE_PARAMETER_PTR_DWORD = 6; -const BYTE UE_PARAMETER_PTR_QWORD = 7; -const BYTE UE_PARAMETER_STRING = 8; -const BYTE UE_PARAMETER_UNICODE = 9; - -const BYTE UE_EAX = 1; -const BYTE UE_EBX = 2; -const BYTE UE_ECX = 3; -const BYTE UE_EDX = 4; -const BYTE UE_EDI = 5; -const BYTE UE_ESI = 6; -const BYTE UE_EBP = 7; -const BYTE UE_ESP = 8; -const BYTE UE_EIP = 9; -const BYTE UE_EFLAGS = 10; -const BYTE UE_DR0 = 11; -const BYTE UE_DR1 = 12; -const BYTE UE_DR2 = 13; -const BYTE UE_DR3 = 14; -const BYTE UE_DR6 = 15; -const BYTE UE_DR7 = 16; -const BYTE UE_RAX = 17; -const BYTE UE_RBX = 18; -const BYTE UE_RCX = 19; -const BYTE UE_RDX = 20; -const BYTE UE_RDI = 21; -const BYTE UE_RSI = 22; -const BYTE UE_RBP = 23; -const BYTE UE_RSP = 24; -const BYTE UE_RIP = 25; -const BYTE UE_RFLAGS = 26; -const BYTE UE_R8 = 27; -const BYTE UE_R9 = 28; -const BYTE UE_R10 = 29; -const BYTE UE_R11 = 30; -const BYTE UE_R12 = 31; -const BYTE UE_R13 = 32; -const BYTE UE_R14 = 33; -const BYTE UE_R15 = 34; -const BYTE UE_CIP = 35; -const BYTE UE_CSP = 36; -#ifdef _WIN64 -const BYTE UE_CFLAGS = UE_RFLAGS; -#else -const BYTE UE_CFLAGS = UE_EFLAGS; -#endif -const BYTE UE_SEG_GS = 37; -const BYTE UE_SEG_FS = 38; -const BYTE UE_SEG_ES = 39; -const BYTE UE_SEG_DS = 40; -const BYTE UE_SEG_CS = 41; -const BYTE UE_SEG_SS = 42; - -typedef struct -{ - DWORD PE32Offset; - DWORD ImageBase; - DWORD OriginalEntryPoint; - DWORD BaseOfCode; - DWORD BaseOfData; - DWORD NtSizeOfImage; - DWORD NtSizeOfHeaders; - WORD SizeOfOptionalHeaders; - DWORD FileAlignment; - DWORD SectionAligment; - DWORD ImportTableAddress; - DWORD ImportTableSize; - DWORD ResourceTableAddress; - DWORD ResourceTableSize; - DWORD ExportTableAddress; - DWORD ExportTableSize; - DWORD TLSTableAddress; - DWORD TLSTableSize; - DWORD RelocationTableAddress; - DWORD RelocationTableSize; - DWORD TimeDateStamp; - WORD SectionNumber; - DWORD CheckSum; - WORD SubSystem; - WORD Characteristics; - DWORD NumberOfRvaAndSizes; -} PE32Struct, *PPE32Struct; - -typedef struct -{ - DWORD PE64Offset; - DWORD64 ImageBase; - DWORD OriginalEntryPoint; - DWORD BaseOfCode; - DWORD BaseOfData; - DWORD NtSizeOfImage; - DWORD NtSizeOfHeaders; - WORD SizeOfOptionalHeaders; - DWORD FileAlignment; - DWORD SectionAligment; - DWORD ImportTableAddress; - DWORD ImportTableSize; - DWORD ResourceTableAddress; - DWORD ResourceTableSize; - DWORD ExportTableAddress; - DWORD ExportTableSize; - DWORD TLSTableAddress; - DWORD TLSTableSize; - DWORD RelocationTableAddress; - DWORD RelocationTableSize; - DWORD TimeDateStamp; - WORD SectionNumber; - DWORD CheckSum; - WORD SubSystem; - WORD Characteristics; - DWORD NumberOfRvaAndSizes; -} PE64Struct, *PPE64Struct; - -#if defined(_WIN64) -typedef PE64Struct PEStruct; -#else -typedef PE32Struct PEStruct; -#endif - -typedef struct -{ - bool NewDll; - int NumberOfImports; - ULONG_PTR ImageBase; - ULONG_PTR BaseImportThunk; - ULONG_PTR ImportThunk; - char* APIName; - char* DLLName; -} ImportEnumData, *PImportEnumData; - -typedef struct -{ - HANDLE hThread; - DWORD dwThreadId; - void* ThreadStartAddress; - void* ThreadLocalBase; -} THREAD_ITEM_DATA, *PTHREAD_ITEM_DATA; - -typedef struct -{ - HANDLE hFile; - void* BaseOfDll; - HANDLE hFileMapping; - void* hFileMappingView; - char szLibraryPath[MAX_PATH]; - char szLibraryName[MAX_PATH]; -} LIBRARY_ITEM_DATA, *PLIBRARY_ITEM_DATA; - -typedef struct -{ - HANDLE hFile; - void* BaseOfDll; - HANDLE hFileMapping; - void* hFileMappingView; - wchar_t szLibraryPath[MAX_PATH]; - wchar_t szLibraryName[MAX_PATH]; -} LIBRARY_ITEM_DATAW, *PLIBRARY_ITEM_DATAW; - -typedef struct -{ - HANDLE hProcess; - DWORD dwProcessId; - HANDLE hThread; - DWORD dwThreadId; - HANDLE hFile; - void* BaseOfImage; - void* ThreadStartAddress; - void* ThreadLocalBase; -} PROCESS_ITEM_DATA, *PPROCESS_ITEM_DATA; - -typedef struct -{ - ULONG ProcessId; - HANDLE hHandle; -} HandlerArray, *PHandlerArray; - -typedef struct -{ - char PluginName[64]; - DWORD PluginMajorVersion; - DWORD PluginMinorVersion; - HMODULE PluginBaseAddress; - void* TitanDebuggingCallBack; - void* TitanRegisterPlugin; - void* TitanReleasePlugin; - void* TitanResetPlugin; - bool PluginDisabled; -} PluginInformation, *PPluginInformation; - -const size_t TEE_MAXIMUM_HOOK_SIZE = 14; -const size_t TEE_MAXIMUM_HOOK_RELOCS = 7; -#if defined(_WIN64) -const size_t TEE_MAXIMUM_HOOK_INSERT_SIZE = 14; -#else -const size_t TEE_MAXIMUM_HOOK_INSERT_SIZE = 5; -#endif - -typedef struct HOOK_ENTRY -{ - bool IATHook; - BYTE HookType; - DWORD HookSize; - void* HookAddress; - void* RedirectionAddress; - BYTE HookBytes[TEE_MAXIMUM_HOOK_SIZE]; - BYTE OriginalBytes[TEE_MAXIMUM_HOOK_SIZE]; - void* IATHookModuleBase; - DWORD IATHookNameHash; - bool HookIsEnabled; - bool HookIsRemote; - void* PatchedEntry; - DWORD RelocationInfo[TEE_MAXIMUM_HOOK_RELOCS]; - int RelocationCount; -} HOOK_ENTRY, *PHOOK_ENTRY; - -const BYTE UE_DEPTH_SURFACE = 0; -const BYTE UE_DEPTH_DEEP = 1; - -const BYTE UE_UNPACKER_CONDITION_SEARCH_FROM_EP = 1; - -const BYTE UE_UNPACKER_CONDITION_LOADLIBRARY = 1; -const BYTE UE_UNPACKER_CONDITION_GETPROCADDRESS = 2; -const BYTE UE_UNPACKER_CONDITION_ENTRYPOINTBREAK = 3; -const BYTE UE_UNPACKER_CONDITION_RELOCSNAPSHOT1 = 4; -const BYTE UE_UNPACKER_CONDITION_RELOCSNAPSHOT2 = 5; - -const BYTE UE_FIELD_OK = 0; -const BYTE UE_FIELD_BROKEN_NON_FIXABLE = 1; -const BYTE UE_FIELD_BROKEN_NON_CRITICAL = 2; -const BYTE UE_FIELD_BROKEN_FIXABLE_FOR_STATIC_USE = 3; -const BYTE UE_FIELD_BROKEN_BUT_CAN_BE_EMULATED = 4; -const BYTE UE_FIELD_FIXABLE_NON_CRITICAL = 5; -const BYTE UE_FIELD_FIXABLE_CRITICAL = 6; -const BYTE UE_FIELD_NOT_PRESET = 7; -const BYTE UE_FIELD_NOT_PRESET_WARNING = 8; - -const BYTE UE_RESULT_FILE_OK = 10; -const BYTE UE_RESULT_FILE_INVALID_BUT_FIXABLE = 11; -const BYTE UE_RESULT_FILE_INVALID_AND_NON_FIXABLE = 12; -const BYTE UE_RESULT_FILE_INVALID_FORMAT = 13; - -typedef struct -{ - BYTE OveralEvaluation; - bool EvaluationTerminatedByException; - bool FileIs64Bit; - bool FileIsDLL; - bool FileIsConsole; - bool MissingDependencies; - bool MissingDeclaredAPIs; - BYTE SignatureMZ; - BYTE SignaturePE; - BYTE EntryPoint; - BYTE ImageBase; - BYTE SizeOfImage; - BYTE FileAlignment; - BYTE SectionAlignment; - BYTE ExportTable; - BYTE RelocationTable; - BYTE ImportTable; - BYTE ImportTableSection; - BYTE ImportTableData; - BYTE IATTable; - BYTE TLSTable; - BYTE LoadConfigTable; - BYTE BoundImportTable; - BYTE COMHeaderTable; - BYTE ResourceTable; - BYTE ResourceData; - BYTE SectionTable; -} FILE_STATUS_INFO, *PFILE_STATUS_INFO; - -typedef struct -{ - BYTE OveralEvaluation; - bool FixingTerminatedByException; - bool FileFixPerformed; - bool StrippedRelocation; - bool DontFixRelocations; - DWORD OriginalRelocationTableAddress; - DWORD OriginalRelocationTableSize; - bool StrippedExports; - bool DontFixExports; - DWORD OriginalExportTableAddress; - DWORD OriginalExportTableSize; - bool StrippedResources; - bool DontFixResources; - DWORD OriginalResourceTableAddress; - DWORD OriginalResourceTableSize; - bool StrippedTLS; - bool DontFixTLS; - DWORD OriginalTLSTableAddress; - DWORD OriginalTLSTableSize; - bool StrippedLoadConfig; - bool DontFixLoadConfig; - DWORD OriginalLoadConfigTableAddress; - DWORD OriginalLoadConfigTableSize; - bool StrippedBoundImports; - bool DontFixBoundImports; - DWORD OriginalBoundImportTableAddress; - DWORD OriginalBoundImportTableSize; - bool StrippedIAT; - bool DontFixIAT; - DWORD OriginalImportAddressTableAddress; - DWORD OriginalImportAddressTableSize; - bool StrippedCOM; - bool DontFixCOM; - DWORD OriginalCOMTableAddress; - DWORD OriginalCOMTableSize; -} FILE_FIX_INFO, *PFILE_FIX_INFO; - -#ifdef __cplusplus -extern "C" { -#endif /*__cplusplus*/ - -// Global.Function.Declaration: -// TitanEngine.Dumper.functions: -__declspec(dllimport) bool TITCALL DumpProcess(HANDLE hProcess, LPVOID ImageBase, char* szDumpFileName, ULONG_PTR EntryPoint); -__declspec(dllimport) bool TITCALL DumpProcessW(HANDLE hProcess, LPVOID ImageBase, wchar_t* szDumpFileName, ULONG_PTR EntryPoint); -__declspec(dllimport) bool TITCALL DumpProcessEx(DWORD ProcessId, LPVOID ImageBase, char* szDumpFileName, ULONG_PTR EntryPoint); -__declspec(dllimport) bool TITCALL DumpProcessExW(DWORD ProcessId, LPVOID ImageBase, wchar_t* szDumpFileName, ULONG_PTR EntryPoint); -__declspec(dllimport) bool TITCALL DumpMemory(HANDLE hProcess, LPVOID MemoryStart, ULONG_PTR MemorySize, char* szDumpFileName); -__declspec(dllimport) bool TITCALL DumpMemoryW(HANDLE hProcess, LPVOID MemoryStart, ULONG_PTR MemorySize, wchar_t* szDumpFileName); -__declspec(dllimport) bool TITCALL DumpMemoryEx(DWORD ProcessId, LPVOID MemoryStart, ULONG_PTR MemorySize, char* szDumpFileName); -__declspec(dllimport) bool TITCALL DumpMemoryExW(DWORD ProcessId, LPVOID MemoryStart, ULONG_PTR MemorySize, wchar_t* szDumpFileName); -__declspec(dllimport) bool TITCALL DumpRegions(HANDLE hProcess, char* szDumpFolder, bool DumpAboveImageBaseOnly); -__declspec(dllimport) bool TITCALL DumpRegionsW(HANDLE hProcess, wchar_t* szDumpFolder, bool DumpAboveImageBaseOnly); -__declspec(dllimport) bool TITCALL DumpRegionsEx(DWORD ProcessId, char* szDumpFolder, bool DumpAboveImageBaseOnly); -__declspec(dllimport) bool TITCALL DumpRegionsExW(DWORD ProcessId, wchar_t* szDumpFolder, bool DumpAboveImageBaseOnly); -__declspec(dllimport) bool TITCALL DumpModule(HANDLE hProcess, LPVOID ModuleBase, char* szDumpFileName); -__declspec(dllimport) bool TITCALL DumpModuleW(HANDLE hProcess, LPVOID ModuleBase, wchar_t* szDumpFileName); -__declspec(dllimport) bool TITCALL DumpModuleEx(DWORD ProcessId, LPVOID ModuleBase, char* szDumpFileName); -__declspec(dllimport) bool TITCALL DumpModuleExW(DWORD ProcessId, LPVOID ModuleBase, wchar_t* szDumpFileName); -__declspec(dllimport) bool TITCALL PastePEHeader(HANDLE hProcess, LPVOID ImageBase, char* szDebuggedFileName); -__declspec(dllimport) bool TITCALL PastePEHeaderW(HANDLE hProcess, LPVOID ImageBase, wchar_t* szDebuggedFileName); -__declspec(dllimport) bool TITCALL ExtractSection(char* szFileName, char* szDumpFileName, DWORD SectionNumber); -__declspec(dllimport) bool TITCALL ExtractSectionW(wchar_t* szFileName, wchar_t* szDumpFileName, DWORD SectionNumber); -__declspec(dllimport) bool TITCALL ResortFileSections(char* szFileName); -__declspec(dllimport) bool TITCALL ResortFileSectionsW(wchar_t* szFileName); -__declspec(dllimport) bool TITCALL FindOverlay(char* szFileName, LPDWORD OverlayStart, LPDWORD OverlaySize); -__declspec(dllimport) bool TITCALL FindOverlayW(wchar_t* szFileName, LPDWORD OverlayStart, LPDWORD OverlaySize); -__declspec(dllimport) bool TITCALL ExtractOverlay(char* szFileName, char* szExtractedFileName); -__declspec(dllimport) bool TITCALL ExtractOverlayW(wchar_t* szFileName, wchar_t* szExtractedFileName); -__declspec(dllimport) bool TITCALL AddOverlay(char* szFileName, char* szOverlayFileName); -__declspec(dllimport) bool TITCALL AddOverlayW(wchar_t* szFileName, wchar_t* szOverlayFileName); -__declspec(dllimport) bool TITCALL CopyOverlay(char* szInFileName, char* szOutFileName); -__declspec(dllimport) bool TITCALL CopyOverlayW(wchar_t* szInFileName, wchar_t* szOutFileName); -__declspec(dllimport) bool TITCALL RemoveOverlay(char* szFileName); -__declspec(dllimport) bool TITCALL RemoveOverlayW(wchar_t* szFileName); -__declspec(dllimport) bool TITCALL MakeAllSectionsRWE(char* szFileName); -__declspec(dllimport) bool TITCALL MakeAllSectionsRWEW(wchar_t* szFileName); -__declspec(dllimport) long TITCALL AddNewSectionEx(char* szFileName, char* szSectionName, DWORD SectionSize, DWORD SectionAttributes, LPVOID SectionContent, DWORD ContentSize); -__declspec(dllimport) long TITCALL AddNewSectionExW(wchar_t* szFileName, char* szSectionName, DWORD SectionSize, DWORD SectionAttributes, LPVOID SectionContent, DWORD ContentSize); -__declspec(dllimport) long TITCALL AddNewSection(char* szFileName, char* szSectionName, DWORD SectionSize); -__declspec(dllimport) long TITCALL AddNewSectionW(wchar_t* szFileName, char* szSectionName, DWORD SectionSize); -__declspec(dllimport) bool TITCALL ResizeLastSection(char* szFileName, DWORD NumberOfExpandBytes, bool AlignResizeData); -__declspec(dllimport) bool TITCALL ResizeLastSectionW(wchar_t* szFileName, DWORD NumberOfExpandBytes, bool AlignResizeData); -__declspec(dllimport) void TITCALL SetSharedOverlay(char* szFileName); -__declspec(dllimport) void TITCALL SetSharedOverlayW(wchar_t* szFileName); -__declspec(dllimport) char* TITCALL GetSharedOverlay(); -__declspec(dllimport) wchar_t* TITCALL GetSharedOverlayW(); -__declspec(dllimport) bool TITCALL DeleteLastSection(char* szFileName); -__declspec(dllimport) bool TITCALL DeleteLastSectionW(wchar_t* szFileName); -__declspec(dllimport) bool TITCALL DeleteLastSectionEx(char* szFileName, DWORD NumberOfSections); -__declspec(dllimport) bool TITCALL DeleteLastSectionExW(wchar_t* szFileName, DWORD NumberOfSections); -__declspec(dllimport) long long TITCALL GetPE32DataFromMappedFile(ULONG_PTR FileMapVA, DWORD WhichSection, DWORD WhichData); -__declspec(dllimport) long long TITCALL GetPE32Data(char* szFileName, DWORD WhichSection, DWORD WhichData); -__declspec(dllimport) long long TITCALL GetPE32DataW(wchar_t* szFileName, DWORD WhichSection, DWORD WhichData); -__declspec(dllimport) bool TITCALL GetPE32DataFromMappedFileEx(ULONG_PTR FileMapVA, LPVOID DataStorage); -__declspec(dllimport) bool TITCALL GetPE32DataEx(char* szFileName, LPVOID DataStorage); -__declspec(dllimport) bool TITCALL GetPE32DataExW(wchar_t* szFileName, LPVOID DataStorage); -__declspec(dllimport) bool TITCALL SetPE32DataForMappedFile(ULONG_PTR FileMapVA, DWORD WhichSection, DWORD WhichData, ULONG_PTR NewDataValue); -__declspec(dllimport) bool TITCALL SetPE32Data(char* szFileName, DWORD WhichSection, DWORD WhichData, ULONG_PTR NewDataValue); -__declspec(dllimport) bool TITCALL SetPE32DataW(wchar_t* szFileName, DWORD WhichSection, DWORD WhichData, ULONG_PTR NewDataValue); -__declspec(dllimport) bool TITCALL SetPE32DataForMappedFileEx(ULONG_PTR FileMapVA, LPVOID DataStorage); -__declspec(dllimport) bool TITCALL SetPE32DataEx(char* szFileName, LPVOID DataStorage); -__declspec(dllimport) bool TITCALL SetPE32DataExW(wchar_t* szFileName, LPVOID DataStorage); -__declspec(dllimport) long TITCALL GetPE32SectionNumberFromVA(ULONG_PTR FileMapVA, ULONG_PTR AddressToConvert); -__declspec(dllimport) long long TITCALL ConvertVAtoFileOffset(ULONG_PTR FileMapVA, ULONG_PTR AddressToConvert, bool ReturnType); -__declspec(dllimport) long long TITCALL ConvertVAtoFileOffsetEx(ULONG_PTR FileMapVA, DWORD FileSize, ULONG_PTR ImageBase, ULONG_PTR AddressToConvert, bool AddressIsRVA, bool ReturnType); -__declspec(dllimport) long long TITCALL ConvertFileOffsetToVA(ULONG_PTR FileMapVA, ULONG_PTR AddressToConvert, bool ReturnType); -__declspec(dllimport) long long TITCALL ConvertFileOffsetToVAEx(ULONG_PTR FileMapVA, DWORD FileSize, ULONG_PTR ImageBase, ULONG_PTR AddressToConvert, bool ReturnType); -__declspec(dllimport) bool TITCALL MemoryReadSafe(HANDLE hProcess, LPVOID lpBaseAddress, LPVOID lpBuffer, SIZE_T nSize, SIZE_T * lpNumberOfBytesRead); -__declspec(dllimport) bool TITCALL MemoryWriteSafe(HANDLE hProcess, LPVOID lpBaseAddress, LPCVOID lpBuffer, SIZE_T nSize, SIZE_T * lpNumberOfBytesWritten); -// TitanEngine.Realigner.functions: -__declspec(dllimport) bool TITCALL FixHeaderCheckSum(char* szFileName); -__declspec(dllimport) bool TITCALL FixHeaderCheckSumW(wchar_t* szFileName); -__declspec(dllimport) long TITCALL RealignPE(ULONG_PTR FileMapVA, DWORD FileSize, DWORD RealingMode); -__declspec(dllimport) long TITCALL RealignPEEx(char* szFileName, DWORD RealingFileSize, DWORD ForcedFileAlignment); -__declspec(dllimport) long TITCALL RealignPEExW(wchar_t* szFileName, DWORD RealingFileSize, DWORD ForcedFileAlignment); -__declspec(dllimport) bool TITCALL WipeSection(char* szFileName, int WipeSectionNumber, bool RemovePhysically); -__declspec(dllimport) bool TITCALL WipeSectionW(wchar_t* szFileName, int WipeSectionNumber, bool RemovePhysically); -__declspec(dllimport) bool TITCALL IsPE32FileValidEx(char* szFileName, DWORD CheckDepth, LPVOID FileStatusInfo); -__declspec(dllimport) bool TITCALL IsPE32FileValidExW(wchar_t* szFileName, DWORD CheckDepth, LPVOID FileStatusInfo); -__declspec(dllimport) bool TITCALL FixBrokenPE32FileEx(char* szFileName, LPVOID FileStatusInfo, LPVOID FileFixInfo); -__declspec(dllimport) bool TITCALL FixBrokenPE32FileExW(wchar_t* szFileName, LPVOID FileStatusInfo, LPVOID FileFixInfo); -__declspec(dllimport) bool TITCALL IsFileDLL(char* szFileName, ULONG_PTR FileMapVA); -__declspec(dllimport) bool TITCALL IsFileDLLW(wchar_t* szFileName, ULONG_PTR FileMapVA); -// TitanEngine.Hider.functions: -__declspec(dllimport) void* TITCALL GetPEBLocation(HANDLE hProcess); -__declspec(dllimport) void* TITCALL GetPEBLocation64(HANDLE hProcess); -__declspec(dllimport) void* TITCALL GetTEBLocation(HANDLE hThread); -__declspec(dllimport) void* TITCALL GetTEBLocation64(HANDLE hThread); -__declspec(dllimport) bool TITCALL HideDebugger(HANDLE hProcess, DWORD PatchAPILevel); -__declspec(dllimport) bool TITCALL UnHideDebugger(HANDLE hProcess, DWORD PatchAPILevel); -// TitanEngine.Relocater.functions: -__declspec(dllimport) void TITCALL RelocaterCleanup(); -__declspec(dllimport) void TITCALL RelocaterInit(DWORD MemorySize, ULONG_PTR OldImageBase, ULONG_PTR NewImageBase); -__declspec(dllimport) void TITCALL RelocaterAddNewRelocation(HANDLE hProcess, ULONG_PTR RelocateAddress, DWORD RelocateState); -__declspec(dllimport) long TITCALL RelocaterEstimatedSize(); -__declspec(dllimport) bool TITCALL RelocaterExportRelocation(ULONG_PTR StorePlace, DWORD StorePlaceRVA, ULONG_PTR FileMapVA); -__declspec(dllimport) bool TITCALL RelocaterExportRelocationEx(char* szFileName, char* szSectionName); -__declspec(dllimport) bool TITCALL RelocaterExportRelocationExW(wchar_t* szFileName, char* szSectionName); -__declspec(dllimport) bool TITCALL RelocaterGrabRelocationTable(HANDLE hProcess, ULONG_PTR MemoryStart, DWORD MemorySize); -__declspec(dllimport) bool TITCALL RelocaterGrabRelocationTableEx(HANDLE hProcess, ULONG_PTR MemoryStart, ULONG_PTR MemorySize, DWORD NtSizeOfImage); -__declspec(dllimport) bool TITCALL RelocaterMakeSnapshot(HANDLE hProcess, char* szSaveFileName, LPVOID MemoryStart, ULONG_PTR MemorySize); -__declspec(dllimport) bool TITCALL RelocaterMakeSnapshotW(HANDLE hProcess, wchar_t* szSaveFileName, LPVOID MemoryStart, ULONG_PTR MemorySize); -__declspec(dllimport) bool TITCALL RelocaterCompareTwoSnapshots(HANDLE hProcess, ULONG_PTR LoadedImageBase, ULONG_PTR NtSizeOfImage, char* szDumpFile1, char* szDumpFile2, ULONG_PTR MemStart); -__declspec(dllimport) bool TITCALL RelocaterCompareTwoSnapshotsW(HANDLE hProcess, ULONG_PTR LoadedImageBase, ULONG_PTR NtSizeOfImage, wchar_t* szDumpFile1, wchar_t* szDumpFile2, ULONG_PTR MemStart); -__declspec(dllimport) bool TITCALL RelocaterChangeFileBase(char* szFileName, ULONG_PTR NewImageBase); -__declspec(dllimport) bool TITCALL RelocaterChangeFileBaseW(wchar_t* szFileName, ULONG_PTR NewImageBase); -__declspec(dllimport) bool TITCALL RelocaterRelocateMemoryBlock(ULONG_PTR FileMapVA, ULONG_PTR MemoryLocation, void* RelocateMemory, DWORD RelocateMemorySize, ULONG_PTR CurrentLoadedBase, ULONG_PTR RelocateBase); -__declspec(dllimport) bool TITCALL RelocaterWipeRelocationTable(char* szFileName); -__declspec(dllimport) bool TITCALL RelocaterWipeRelocationTableW(wchar_t* szFileName); -// TitanEngine.Resourcer.functions: -__declspec(dllimport) long long TITCALL ResourcerLoadFileForResourceUse(char* szFileName); -__declspec(dllimport) long long TITCALL ResourcerLoadFileForResourceUseW(wchar_t* szFileName); -__declspec(dllimport) bool TITCALL ResourcerFreeLoadedFile(LPVOID LoadedFileBase); -__declspec(dllimport) bool TITCALL ResourcerExtractResourceFromFileEx(ULONG_PTR FileMapVA, char* szResourceType, char* szResourceName, char* szExtractedFileName); -__declspec(dllimport) bool TITCALL ResourcerExtractResourceFromFile(char* szFileName, char* szResourceType, char* szResourceName, char* szExtractedFileName); -__declspec(dllimport) bool TITCALL ResourcerExtractResourceFromFileW(wchar_t* szFileName, char* szResourceType, char* szResourceName, char* szExtractedFileName); -__declspec(dllimport) bool TITCALL ResourcerFindResource(char* szFileName, char* szResourceType, DWORD ResourceType, char* szResourceName, DWORD ResourceName, DWORD ResourceLanguage, PULONG_PTR pResourceData, LPDWORD pResourceSize); -__declspec(dllimport) bool TITCALL ResourcerFindResourceW(wchar_t* szFileName, wchar_t* szResourceType, DWORD ResourceType, wchar_t* szResourceName, DWORD ResourceName, DWORD ResourceLanguage, PULONG_PTR pResourceData, LPDWORD pResourceSize); -__declspec(dllimport) bool TITCALL ResourcerFindResourceEx(ULONG_PTR FileMapVA, DWORD FileSize, wchar_t* szResourceType, DWORD ResourceType, wchar_t* szResourceName, DWORD ResourceName, DWORD ResourceLanguage, PULONG_PTR pResourceData, LPDWORD pResourceSize); -__declspec(dllimport) void TITCALL ResourcerEnumerateResource(char* szFileName, void* CallBack); -__declspec(dllimport) void TITCALL ResourcerEnumerateResourceW(wchar_t* szFileName, void* CallBack); -__declspec(dllimport) void TITCALL ResourcerEnumerateResourceEx(ULONG_PTR FileMapVA, DWORD FileSize, void* CallBack); -// TitanEngine.Threader.functions: -__declspec(dllimport) bool TITCALL ThreaderImportRunningThreadData(DWORD ProcessId); -__declspec(dllimport) void* TITCALL ThreaderGetThreadInfo(HANDLE hThread, DWORD ThreadId); -__declspec(dllimport) void TITCALL ThreaderEnumThreadInfo(void* EnumCallBack); -__declspec(dllimport) bool TITCALL ThreaderPauseThread(HANDLE hThread); -__declspec(dllimport) bool TITCALL ThreaderResumeThread(HANDLE hThread); -__declspec(dllimport) bool TITCALL ThreaderTerminateThread(HANDLE hThread, DWORD ThreadExitCode); -__declspec(dllimport) bool TITCALL ThreaderPauseAllThreads(bool LeaveMainRunning); -__declspec(dllimport) bool TITCALL ThreaderResumeAllThreads(bool LeaveMainPaused); -__declspec(dllimport) bool TITCALL ThreaderPauseProcess(); -__declspec(dllimport) bool TITCALL ThreaderResumeProcess(); -__declspec(dllimport) long long TITCALL ThreaderCreateRemoteThread(ULONG_PTR ThreadStartAddress, bool AutoCloseTheHandle, LPVOID ThreadPassParameter, LPDWORD ThreadId); -__declspec(dllimport) bool TITCALL ThreaderInjectAndExecuteCode(LPVOID InjectCode, DWORD StartDelta, DWORD InjectSize); -__declspec(dllimport) long long TITCALL ThreaderCreateRemoteThreadEx(HANDLE hProcess, ULONG_PTR ThreadStartAddress, bool AutoCloseTheHandle, LPVOID ThreadPassParameter, LPDWORD ThreadId); -__declspec(dllimport) bool TITCALL ThreaderInjectAndExecuteCodeEx(HANDLE hProcess, LPVOID InjectCode, DWORD StartDelta, DWORD InjectSize); -__declspec(dllimport) void TITCALL ThreaderSetCallBackForNextExitThreadEvent(LPVOID exitThreadCallBack); -__declspec(dllimport) bool TITCALL ThreaderIsThreadStillRunning(HANDLE hThread); -__declspec(dllimport) bool TITCALL ThreaderIsThreadActive(HANDLE hThread); -__declspec(dllimport) bool TITCALL ThreaderIsAnyThreadActive(); -__declspec(dllimport) bool TITCALL ThreaderExecuteOnlyInjectedThreads(); -__declspec(dllimport) long long TITCALL ThreaderGetOpenHandleForThread(DWORD ThreadId); -__declspec(dllimport) bool TITCALL ThreaderIsExceptionInMainThread(); -// TitanEngine.Debugger.functions: -__declspec(dllimport) void* TITCALL StaticDisassembleEx(ULONG_PTR DisassmStart, LPVOID DisassmAddress); -__declspec(dllimport) void* TITCALL StaticDisassemble(LPVOID DisassmAddress); -__declspec(dllimport) void* TITCALL DisassembleEx(HANDLE hProcess, LPVOID DisassmAddress, bool ReturnInstructionType); -__declspec(dllimport) void* TITCALL Disassemble(LPVOID DisassmAddress); -__declspec(dllimport) long TITCALL StaticLengthDisassemble(LPVOID DisassmAddress); -__declspec(dllimport) long TITCALL LengthDisassembleEx(HANDLE hProcess, LPVOID DisassmAddress); -__declspec(dllimport) long TITCALL LengthDisassemble(LPVOID DisassmAddress); -__declspec(dllimport) void* TITCALL InitDebug(char* szFileName, char* szCommandLine, char* szCurrentFolder); -__declspec(dllimport) void* TITCALL InitDebugW(wchar_t* szFileName, wchar_t* szCommandLine, wchar_t* szCurrentFolder); -__declspec(dllimport) void* TITCALL InitDebugEx(char* szFileName, char* szCommandLine, char* szCurrentFolder, LPVOID EntryCallBack); -__declspec(dllimport) void* TITCALL InitDebugExW(wchar_t* szFileName, wchar_t* szCommandLine, wchar_t* szCurrentFolder, LPVOID EntryCallBack); -__declspec(dllimport) void* TITCALL InitDLLDebug(char* szFileName, bool ReserveModuleBase, char* szCommandLine, char* szCurrentFolder, LPVOID EntryCallBack); -__declspec(dllimport) void* TITCALL InitDLLDebugW(wchar_t* szFileName, bool ReserveModuleBase, wchar_t* szCommandLine, wchar_t* szCurrentFolder, LPVOID EntryCallBack); -__declspec(dllimport) bool TITCALL StopDebug(); -__declspec(dllimport) void TITCALL SetBPXOptions(long DefaultBreakPointType); -__declspec(dllimport) bool TITCALL IsBPXEnabled(ULONG_PTR bpxAddress); -__declspec(dllimport) bool TITCALL EnableBPX(ULONG_PTR bpxAddress); -__declspec(dllimport) bool TITCALL DisableBPX(ULONG_PTR bpxAddress); -__declspec(dllimport) bool TITCALL SetBPX(ULONG_PTR bpxAddress, DWORD bpxType, LPVOID bpxCallBack); -__declspec(dllimport) bool TITCALL DeleteBPX(ULONG_PTR bpxAddress); -__declspec(dllimport) bool TITCALL SafeDeleteBPX(ULONG_PTR bpxAddress); -__declspec(dllimport) bool TITCALL SetAPIBreakPoint(const char* szDLLName, const char* szAPIName, DWORD bpxType, DWORD bpxPlace, LPVOID bpxCallBack); -__declspec(dllimport) bool TITCALL DeleteAPIBreakPoint(const char* szDLLName, const char* szAPIName, DWORD bpxPlace); -__declspec(dllimport) bool TITCALL SafeDeleteAPIBreakPoint(const char* szDLLName, const char* szAPIName, DWORD bpxPlace); -__declspec(dllimport) bool TITCALL SetMemoryBPX(ULONG_PTR MemoryStart, SIZE_T SizeOfMemory, LPVOID bpxCallBack); -__declspec(dllimport) bool TITCALL SetMemoryBPXEx(ULONG_PTR MemoryStart, SIZE_T SizeOfMemory, DWORD BreakPointType, bool RestoreOnHit, LPVOID bpxCallBack); -__declspec(dllimport) bool TITCALL RemoveMemoryBPX(ULONG_PTR MemoryStart, SIZE_T SizeOfMemory); -__declspec(dllimport) bool TITCALL GetContextFPUDataEx(HANDLE hActiveThread, void* FPUSaveArea); -__declspec(dllimport) long long TITCALL GetContextDataEx(HANDLE hActiveThread, DWORD IndexOfRegister); -__declspec(dllimport) long long TITCALL GetContextData(DWORD IndexOfRegister); -__declspec(dllimport) bool TITCALL SetContextFPUDataEx(HANDLE hActiveThread, void* FPUSaveArea); -__declspec(dllimport) bool TITCALL SetContextDataEx(HANDLE hActiveThread, DWORD IndexOfRegister, ULONG_PTR NewRegisterValue); -__declspec(dllimport) bool TITCALL SetContextData(DWORD IndexOfRegister, ULONG_PTR NewRegisterValue); -__declspec(dllimport) void TITCALL ClearExceptionNumber(); -__declspec(dllimport) long TITCALL CurrentExceptionNumber(); -__declspec(dllimport) bool TITCALL MatchPatternEx(HANDLE hProcess, void* MemoryToCheck, int SizeOfMemoryToCheck, void* PatternToMatch, int SizeOfPatternToMatch, PBYTE WildCard); -__declspec(dllimport) bool TITCALL MatchPattern(void* MemoryToCheck, int SizeOfMemoryToCheck, void* PatternToMatch, int SizeOfPatternToMatch, PBYTE WildCard); -__declspec(dllimport) long long TITCALL FindEx(HANDLE hProcess, LPVOID MemoryStart, DWORD MemorySize, LPVOID SearchPattern, DWORD PatternSize, LPBYTE WildCard); -__declspec(dllimport) long long TITCALL Find(LPVOID MemoryStart, DWORD MemorySize, LPVOID SearchPattern, DWORD PatternSize, LPBYTE WildCard); -__declspec(dllimport) bool TITCALL FillEx(HANDLE hProcess, LPVOID MemoryStart, DWORD MemorySize, PBYTE FillByte); -__declspec(dllimport) bool TITCALL Fill(LPVOID MemoryStart, DWORD MemorySize, PBYTE FillByte); -__declspec(dllimport) bool TITCALL PatchEx(HANDLE hProcess, LPVOID MemoryStart, DWORD MemorySize, LPVOID ReplacePattern, DWORD ReplaceSize, bool AppendNOP, bool PrependNOP); -__declspec(dllimport) bool TITCALL Patch(LPVOID MemoryStart, DWORD MemorySize, LPVOID ReplacePattern, DWORD ReplaceSize, bool AppendNOP, bool PrependNOP); -__declspec(dllimport) bool TITCALL ReplaceEx(HANDLE hProcess, LPVOID MemoryStart, DWORD MemorySize, LPVOID SearchPattern, DWORD PatternSize, DWORD NumberOfRepetitions, LPVOID ReplacePattern, DWORD ReplaceSize, PBYTE WildCard); -__declspec(dllimport) bool TITCALL Replace(LPVOID MemoryStart, DWORD MemorySize, LPVOID SearchPattern, DWORD PatternSize, DWORD NumberOfRepetitions, LPVOID ReplacePattern, DWORD ReplaceSize, PBYTE WildCard); -__declspec(dllimport) void* TITCALL GetDebugData(); -__declspec(dllimport) void* TITCALL GetTerminationData(); -__declspec(dllimport) long TITCALL GetExitCode(); -__declspec(dllimport) long long TITCALL GetDebuggedDLLBaseAddress(); -__declspec(dllimport) long long TITCALL GetDebuggedFileBaseAddress(); -__declspec(dllimport) bool TITCALL GetRemoteString(HANDLE hProcess, LPVOID StringAddress, LPVOID StringStorage, int MaximumStringSize); -__declspec(dllimport) long long TITCALL GetFunctionParameter(HANDLE hProcess, DWORD FunctionType, DWORD ParameterNumber, DWORD ParameterType); -__declspec(dllimport) long long TITCALL GetJumpDestinationEx(HANDLE hProcess, ULONG_PTR InstructionAddress, bool JustJumps); -__declspec(dllimport) long long TITCALL GetJumpDestination(HANDLE hProcess, ULONG_PTR InstructionAddress); -__declspec(dllimport) bool TITCALL IsJumpGoingToExecuteEx(HANDLE hProcess, HANDLE hThread, ULONG_PTR InstructionAddress, ULONG_PTR RegFlags); -__declspec(dllimport) bool TITCALL IsJumpGoingToExecute(); -__declspec(dllimport) void TITCALL SetCustomHandler(DWORD ExceptionId, LPVOID CallBack); -__declspec(dllimport) void TITCALL ForceClose(); -__declspec(dllimport) void TITCALL StepInto(LPVOID traceCallBack); -__declspec(dllimport) void TITCALL StepOver(LPVOID traceCallBack); -__declspec(dllimport) void TITCALL StepOut(LPVOID StepOut, bool StepFinal); -__declspec(dllimport) void TITCALL SingleStep(DWORD StepCount, LPVOID StepCallBack); -__declspec(dllimport) bool TITCALL GetUnusedHardwareBreakPointRegister(LPDWORD RegisterIndex); -__declspec(dllimport) bool TITCALL SetHardwareBreakPointEx(HANDLE hActiveThread, ULONG_PTR bpxAddress, DWORD IndexOfRegister, DWORD bpxType, DWORD bpxSize, LPVOID bpxCallBack, LPDWORD IndexOfSelectedRegister); -__declspec(dllimport) bool TITCALL SetHardwareBreakPoint(ULONG_PTR bpxAddress, DWORD IndexOfRegister, DWORD bpxType, DWORD bpxSize, LPVOID bpxCallBack); -__declspec(dllimport) bool TITCALL DeleteHardwareBreakPoint(DWORD IndexOfRegister); -__declspec(dllimport) bool TITCALL RemoveAllBreakPoints(DWORD RemoveOption); -__declspec(dllimport) void* TITCALL GetProcessInformation(); -__declspec(dllimport) void* TITCALL GetStartupInformation(); -__declspec(dllimport) void TITCALL DebugLoop(); -__declspec(dllimport) void TITCALL SetDebugLoopTimeOut(DWORD TimeOut); -__declspec(dllimport) void TITCALL SetNextDbgContinueStatus(DWORD SetDbgCode); -__declspec(dllimport) bool TITCALL AttachDebugger(DWORD ProcessId, bool KillOnExit, LPVOID DebugInfo, LPVOID CallBack); -__declspec(dllimport) bool TITCALL DetachDebugger(DWORD ProcessId); -__declspec(dllimport) bool TITCALL DetachDebuggerEx(DWORD ProcessId); -__declspec(dllimport) void TITCALL DebugLoopEx(DWORD TimeOut); -__declspec(dllimport) void TITCALL AutoDebugEx(char* szFileName, bool ReserveModuleBase, char* szCommandLine, char* szCurrentFolder, DWORD TimeOut, LPVOID EntryCallBack); -__declspec(dllimport) void TITCALL AutoDebugExW(wchar_t* szFileName, bool ReserveModuleBase, wchar_t* szCommandLine, wchar_t* szCurrentFolder, DWORD TimeOut, LPVOID EntryCallBack); -__declspec(dllimport) bool TITCALL IsFileBeingDebugged(); -__declspec(dllimport) void TITCALL SetErrorModel(bool DisplayErrorMessages); -// TitanEngine.FindOEP.functions: -__declspec(dllimport) void TITCALL FindOEPInit(); -__declspec(dllimport) bool TITCALL FindOEPGenerically(char* szFileName, LPVOID TraceInitCallBack, LPVOID CallBack); -__declspec(dllimport) bool TITCALL FindOEPGenericallyW(wchar_t* szFileName, LPVOID TraceInitCallBack, LPVOID CallBack); -// TitanEngine.Importer.functions: -__declspec(dllimport) void TITCALL ImporterAddNewDll(char* szDLLName, ULONG_PTR FirstThunk); -__declspec(dllimport) void TITCALL ImporterAddNewAPI(char* szAPIName, ULONG_PTR ThunkValue); -__declspec(dllimport) void TITCALL ImporterAddNewOrdinalAPI(ULONG_PTR OrdinalNumber, ULONG_PTR ThunkValue); -__declspec(dllimport) long TITCALL ImporterGetAddedDllCount(); -__declspec(dllimport) long TITCALL ImporterGetAddedAPICount(); -__declspec(dllimport) bool TITCALL ImporterExportIAT(ULONG_PTR StorePlace, ULONG_PTR FileMapVA, HANDLE hFileMap); -__declspec(dllimport) long TITCALL ImporterEstimatedSize(); -__declspec(dllimport) bool TITCALL ImporterExportIATEx(char* szDumpFileName, char* szExportFileName, char* szSectionName); -__declspec(dllimport) bool TITCALL ImporterExportIATExW(wchar_t* szDumpFileName, wchar_t* szExportFileName, wchar_t* szSectionName = L".RL!TEv2"); -__declspec(dllimport) long long TITCALL ImporterFindAPIWriteLocation(char* szAPIName); -__declspec(dllimport) long long TITCALL ImporterFindOrdinalAPIWriteLocation(ULONG_PTR OrdinalNumber); -__declspec(dllimport) long long TITCALL ImporterFindAPIByWriteLocation(ULONG_PTR APIWriteLocation); -__declspec(dllimport) long long TITCALL ImporterFindDLLByWriteLocation(ULONG_PTR APIWriteLocation); -__declspec(dllimport) void* TITCALL ImporterGetDLLName(ULONG_PTR APIAddress); -__declspec(dllimport) void* TITCALL ImporterGetDLLNameW(ULONG_PTR APIAddress); -__declspec(dllimport) void* TITCALL ImporterGetAPIName(ULONG_PTR APIAddress); -__declspec(dllimport) long long TITCALL ImporterGetAPIOrdinalNumber(ULONG_PTR APIAddress); -__declspec(dllimport) void* TITCALL ImporterGetAPINameEx(ULONG_PTR APIAddress, ULONG_PTR DLLBasesList); -__declspec(dllimport) long long TITCALL ImporterGetRemoteAPIAddress(HANDLE hProcess, ULONG_PTR APIAddress); -__declspec(dllimport) long long TITCALL ImporterGetRemoteAPIAddressEx(char* szDLLName, char* szAPIName); -__declspec(dllimport) long long TITCALL ImporterGetLocalAPIAddress(HANDLE hProcess, ULONG_PTR APIAddress); -__declspec(dllimport) void* TITCALL ImporterGetDLLNameFromDebugee(HANDLE hProcess, ULONG_PTR APIAddress); -__declspec(dllimport) void* TITCALL ImporterGetDLLNameFromDebugeeW(HANDLE hProcess, ULONG_PTR APIAddress); -__declspec(dllimport) void* TITCALL ImporterGetAPINameFromDebugee(HANDLE hProcess, ULONG_PTR APIAddress); -__declspec(dllimport) long long TITCALL ImporterGetAPIOrdinalNumberFromDebugee(HANDLE hProcess, ULONG_PTR APIAddress); -__declspec(dllimport) long TITCALL ImporterGetDLLIndexEx(ULONG_PTR APIAddress, ULONG_PTR DLLBasesList); -__declspec(dllimport) long TITCALL ImporterGetDLLIndex(HANDLE hProcess, ULONG_PTR APIAddress, ULONG_PTR DLLBasesList); -__declspec(dllimport) long long TITCALL ImporterGetRemoteDLLBase(HANDLE hProcess, HMODULE LocalModuleBase); -__declspec(dllimport) long long TITCALL ImporterGetRemoteDLLBaseEx(HANDLE hProcess, char* szModuleName); -__declspec(dllimport) void* TITCALL ImporterGetRemoteDLLBaseExW(HANDLE hProcess, wchar_t* szModuleName); -__declspec(dllimport) bool TITCALL ImporterIsForwardedAPI(HANDLE hProcess, ULONG_PTR APIAddress); -__declspec(dllimport) void* TITCALL ImporterGetForwardedAPIName(HANDLE hProcess, ULONG_PTR APIAddress); -__declspec(dllimport) void* TITCALL ImporterGetForwardedDLLName(HANDLE hProcess, ULONG_PTR APIAddress); -__declspec(dllimport) long TITCALL ImporterGetForwardedDLLIndex(HANDLE hProcess, ULONG_PTR APIAddress, ULONG_PTR DLLBasesList); -__declspec(dllimport) long long TITCALL ImporterGetForwardedAPIOrdinalNumber(HANDLE hProcess, ULONG_PTR APIAddress); -__declspec(dllimport) long long TITCALL ImporterGetNearestAPIAddress(HANDLE hProcess, ULONG_PTR APIAddress); -__declspec(dllimport) void* TITCALL ImporterGetNearestAPIName(HANDLE hProcess, ULONG_PTR APIAddress); -__declspec(dllimport) bool TITCALL ImporterCopyOriginalIAT(char* szOriginalFile, char* szDumpFile); -__declspec(dllimport) bool TITCALL ImporterCopyOriginalIATW(wchar_t* szOriginalFile, wchar_t* szDumpFile); -__declspec(dllimport) bool TITCALL ImporterLoadImportTable(char* szFileName); -__declspec(dllimport) bool TITCALL ImporterLoadImportTableW(wchar_t* szFileName); -__declspec(dllimport) bool TITCALL ImporterMoveOriginalIAT(char* szOriginalFile, char* szDumpFile, char* szSectionName); -__declspec(dllimport) bool TITCALL ImporterMoveOriginalIATW(wchar_t* szOriginalFile, wchar_t* szDumpFile, char* szSectionName); -__declspec(dllimport) void TITCALL ImporterAutoSearchIAT(DWORD ProcessId, char* szFileName, ULONG_PTR SearchStart, LPVOID pIATStart, LPVOID pIATSize); -__declspec(dllimport) void TITCALL ImporterAutoSearchIATW(DWORD ProcessIds, wchar_t* szFileName, ULONG_PTR SearchStart, LPVOID pIATStart, LPVOID pIATSize); -__declspec(dllimport) void TITCALL ImporterAutoSearchIATEx(DWORD ProcessId, ULONG_PTR ImageBase, ULONG_PTR SearchStart, LPVOID pIATStart, LPVOID pIATSize); -__declspec(dllimport) void TITCALL ImporterEnumAddedData(LPVOID EnumCallBack); -__declspec(dllimport) long TITCALL ImporterAutoFixIATEx(DWORD ProcessId, char* szDumpedFile, char* szSectionName, bool DumpRunningProcess, bool RealignFile, ULONG_PTR EntryPointAddress, ULONG_PTR ImageBase, ULONG_PTR SearchStart, bool TryAutoFix, bool FixEliminations, LPVOID UnknownPointerFixCallback); -__declspec(dllimport) long TITCALL ImporterAutoFixIATExW(DWORD ProcessId, wchar_t* szDumpedFile, char* szSectionName, bool DumpRunningProcess, bool RealignFile, ULONG_PTR EntryPointAddress, ULONG_PTR ImageBase, ULONG_PTR SearchStart, bool TryAutoFix, bool FixEliminations, LPVOID UnknownPointerFixCallback); -__declspec(dllimport) long TITCALL ImporterAutoFixIAT(DWORD ProcessId, char* szDumpedFile, ULONG_PTR SearchStart); -__declspec(dllimport) long TITCALL ImporterAutoFixIATW(DWORD ProcessId, wchar_t* szDumpedFile, ULONG_PTR SearchStart); -__declspec(dllimport) bool TITCALL ImporterDeleteAPI(DWORD_PTR apiAddr); -// Global.Engine.Hook.functions: -__declspec(dllimport) bool TITCALL HooksSafeTransitionEx(LPVOID HookAddressArray, int NumberOfHooks, bool TransitionStart); -__declspec(dllimport) bool TITCALL HooksSafeTransition(LPVOID HookAddress, bool TransitionStart); -__declspec(dllimport) bool TITCALL HooksIsAddressRedirected(LPVOID HookAddress); -__declspec(dllimport) void* TITCALL HooksGetTrampolineAddress(LPVOID HookAddress); -__declspec(dllimport) void* TITCALL HooksGetHookEntryDetails(LPVOID HookAddress); -__declspec(dllimport) bool TITCALL HooksInsertNewRedirection(LPVOID HookAddress, LPVOID RedirectTo, int HookType); -__declspec(dllimport) bool TITCALL HooksInsertNewIATRedirectionEx(ULONG_PTR FileMapVA, ULONG_PTR LoadedModuleBase, char* szHookFunction, LPVOID RedirectTo); -__declspec(dllimport) bool TITCALL HooksInsertNewIATRedirection(char* szModuleName, char* szHookFunction, LPVOID RedirectTo); -__declspec(dllimport) bool TITCALL HooksRemoveRedirection(LPVOID HookAddress, bool RemoveAll); -__declspec(dllimport) bool TITCALL HooksRemoveRedirectionsForModule(HMODULE ModuleBase); -__declspec(dllimport) bool TITCALL HooksRemoveIATRedirection(char* szModuleName, char* szHookFunction, bool RemoveAll); -__declspec(dllimport) bool TITCALL HooksDisableRedirection(LPVOID HookAddress, bool DisableAll); -__declspec(dllimport) bool TITCALL HooksDisableRedirectionsForModule(HMODULE ModuleBase); -__declspec(dllimport) bool TITCALL HooksDisableIATRedirection(char* szModuleName, char* szHookFunction, bool DisableAll); -__declspec(dllimport) bool TITCALL HooksEnableRedirection(LPVOID HookAddress, bool EnableAll); -__declspec(dllimport) bool TITCALL HooksEnableRedirectionsForModule(HMODULE ModuleBase); -__declspec(dllimport) bool TITCALL HooksEnableIATRedirection(char* szModuleName, char* szHookFunction, bool EnableAll); -__declspec(dllimport) void TITCALL HooksScanModuleMemory(HMODULE ModuleBase, LPVOID CallBack); -__declspec(dllimport) void TITCALL HooksScanEntireProcessMemory(LPVOID CallBack); -__declspec(dllimport) void TITCALL HooksScanEntireProcessMemoryEx(); -// TitanEngine.Tracer.functions: -__declspec(dllimport) void TITCALL TracerInit(); -__declspec(dllimport) long long TITCALL TracerLevel1(HANDLE hProcess, ULONG_PTR AddressToTrace); -__declspec(dllimport) long long TITCALL HashTracerLevel1(HANDLE hProcess, ULONG_PTR AddressToTrace, DWORD InputNumberOfInstructions); -__declspec(dllimport) long TITCALL TracerDetectRedirection(HANDLE hProcess, ULONG_PTR AddressToTrace); -__declspec(dllimport) long long TITCALL TracerFixKnownRedirection(HANDLE hProcess, ULONG_PTR AddressToTrace, DWORD RedirectionId); -__declspec(dllimport) long long TITCALL TracerFixRedirectionViaModule(HMODULE hModuleHandle, HANDLE hProcess, ULONG_PTR AddressToTrace, DWORD IdParameter); -__declspec(dllimport) long long TITCALL TracerDetectRedirectionViaModule(HMODULE hModuleHandle, HANDLE hProcess, ULONG_PTR AddressToTrace, PDWORD ReturnedId); -__declspec(dllimport) long TITCALL TracerFixRedirectionViaImpRecPlugin(HANDLE hProcess, char* szPluginName, ULONG_PTR AddressToTrace); -// TitanEngine.Exporter.functions: -__declspec(dllimport) void TITCALL ExporterCleanup(); -__declspec(dllimport) void TITCALL ExporterSetImageBase(ULONG_PTR ImageBase); -__declspec(dllimport) void TITCALL ExporterInit(DWORD MemorySize, ULONG_PTR ImageBase, DWORD ExportOrdinalBase, char* szExportModuleName); -__declspec(dllimport) bool TITCALL ExporterAddNewExport(char* szExportName, DWORD ExportRelativeAddress); -__declspec(dllimport) bool TITCALL ExporterAddNewOrdinalExport(DWORD OrdinalNumber, DWORD ExportRelativeAddress); -__declspec(dllimport) long TITCALL ExporterGetAddedExportCount(); -__declspec(dllimport) long TITCALL ExporterEstimatedSize(); -__declspec(dllimport) bool TITCALL ExporterBuildExportTable(ULONG_PTR StorePlace, ULONG_PTR FileMapVA); -__declspec(dllimport) bool TITCALL ExporterBuildExportTableEx(char* szExportFileName, char* szSectionName); -__declspec(dllimport) bool TITCALL ExporterBuildExportTableExW(wchar_t* szExportFileName, char* szSectionName); -__declspec(dllimport) bool TITCALL ExporterLoadExportTable(char* szFileName); -__declspec(dllimport) bool TITCALL ExporterLoadExportTableW(wchar_t* szFileName); -// TitanEngine.Librarian.functions: -__declspec(dllimport) bool TITCALL LibrarianSetBreakPoint(char* szLibraryName, DWORD bpxType, bool SingleShoot, LPVOID bpxCallBack); -__declspec(dllimport) bool TITCALL LibrarianRemoveBreakPoint(char* szLibraryName, DWORD bpxType); -__declspec(dllimport) void* TITCALL LibrarianGetLibraryInfo(char* szLibraryName); -__declspec(dllimport) void* TITCALL LibrarianGetLibraryInfoW(wchar_t* szLibraryName); -__declspec(dllimport) void* TITCALL LibrarianGetLibraryInfoEx(void* BaseOfDll); -__declspec(dllimport) void* TITCALL LibrarianGetLibraryInfoExW(void* BaseOfDll); -__declspec(dllimport) void TITCALL LibrarianEnumLibraryInfo(void* EnumCallBack); -__declspec(dllimport) void TITCALL LibrarianEnumLibraryInfoW(void* EnumCallBack); -// TitanEngine.Process.functions: -__declspec(dllimport) long TITCALL GetActiveProcessId(char* szImageName); -__declspec(dllimport) long TITCALL GetActiveProcessIdW(wchar_t* szImageName); -__declspec(dllimport) void TITCALL EnumProcessesWithLibrary(char* szLibraryName, void* EnumFunction); -// TitanEngine.TLSFixer.functions: -__declspec(dllimport) bool TITCALL TLSBreakOnCallBack(LPVOID ArrayOfCallBacks, DWORD NumberOfCallBacks, LPVOID bpxCallBack); -__declspec(dllimport) bool TITCALL TLSGrabCallBackData(char* szFileName, LPVOID ArrayOfCallBacks, LPDWORD NumberOfCallBacks); -__declspec(dllimport) bool TITCALL TLSGrabCallBackDataW(wchar_t* szFileName, LPVOID ArrayOfCallBacks, LPDWORD NumberOfCallBacks); -__declspec(dllimport) bool TITCALL TLSBreakOnCallBackEx(char* szFileName, LPVOID bpxCallBack); -__declspec(dllimport) bool TITCALL TLSBreakOnCallBackExW(wchar_t* szFileName, LPVOID bpxCallBack); -__declspec(dllimport) bool TITCALL TLSRemoveCallback(char* szFileName); -__declspec(dllimport) bool TITCALL TLSRemoveCallbackW(wchar_t* szFileName); -__declspec(dllimport) bool TITCALL TLSRemoveTable(char* szFileName); -__declspec(dllimport) bool TITCALL TLSRemoveTableW(wchar_t* szFileName); -__declspec(dllimport) bool TITCALL TLSBackupData(char* szFileName); -__declspec(dllimport) bool TITCALL TLSBackupDataW(wchar_t* szFileName); -__declspec(dllimport) bool TITCALL TLSRestoreData(); -__declspec(dllimport) bool TITCALL TLSBuildNewTable(ULONG_PTR FileMapVA, ULONG_PTR StorePlace, ULONG_PTR StorePlaceRVA, LPVOID ArrayOfCallBacks, DWORD NumberOfCallBacks); -__declspec(dllimport) bool TITCALL TLSBuildNewTableEx(char* szFileName, char* szSectionName, LPVOID ArrayOfCallBacks, DWORD NumberOfCallBacks); -__declspec(dllimport) bool TITCALL TLSBuildNewTableExW(wchar_t* szFileName, char* szSectionName, LPVOID ArrayOfCallBacks, DWORD NumberOfCallBacks); -// TitanEngine.TranslateName.functions: -__declspec(dllimport) void* TITCALL TranslateNativeName(char* szNativeName); -__declspec(dllimport) void* TITCALL TranslateNativeNameW(wchar_t* szNativeName); -// TitanEngine.Handler.functions: -__declspec(dllimport) long TITCALL HandlerGetActiveHandleCount(DWORD ProcessId); -__declspec(dllimport) bool TITCALL HandlerIsHandleOpen(DWORD ProcessId, HANDLE hHandle); -__declspec(dllimport) void* TITCALL HandlerGetHandleName(HANDLE hProcess, DWORD ProcessId, HANDLE hHandle, bool TranslateName); -__declspec(dllimport) void* TITCALL HandlerGetHandleNameW(HANDLE hProcess, DWORD ProcessId, HANDLE hHandle, bool TranslateName); -__declspec(dllimport) long TITCALL HandlerEnumerateOpenHandles(DWORD ProcessId, LPVOID HandleBuffer, DWORD MaxHandleCount); -__declspec(dllimport) long long TITCALL HandlerGetHandleDetails(HANDLE hProcess, DWORD ProcessId, HANDLE hHandle, DWORD InformationReturn); -__declspec(dllimport) bool TITCALL HandlerCloseRemoteHandle(HANDLE hProcess, HANDLE hHandle); -__declspec(dllimport) long TITCALL HandlerEnumerateLockHandles(char* szFileOrFolderName, bool NameIsFolder, bool NameIsTranslated, LPVOID HandleDataBuffer, DWORD MaxHandleCount); -__declspec(dllimport) long TITCALL HandlerEnumerateLockHandlesW(wchar_t* szFileOrFolderName, bool NameIsFolder, bool NameIsTranslated, LPVOID HandleDataBuffer, DWORD MaxHandleCount); -__declspec(dllimport) bool TITCALL HandlerCloseAllLockHandles(char* szFileOrFolderName, bool NameIsFolder, bool NameIsTranslated); -__declspec(dllimport) bool TITCALL HandlerCloseAllLockHandlesW(wchar_t* szFileOrFolderName, bool NameIsFolder, bool NameIsTranslated); -__declspec(dllimport) bool TITCALL HandlerIsFileLocked(char* szFileOrFolderName, bool NameIsFolder, bool NameIsTranslated); -__declspec(dllimport) bool TITCALL HandlerIsFileLockedW(wchar_t* szFileOrFolderName, bool NameIsFolder, bool NameIsTranslated); -// TitanEngine.Handler[Mutex].functions: -__declspec(dllimport) long TITCALL HandlerEnumerateOpenMutexes(HANDLE hProcess, DWORD ProcessId, LPVOID HandleBuffer, DWORD MaxHandleCount); -__declspec(dllimport) long long TITCALL HandlerGetOpenMutexHandle(HANDLE hProcess, DWORD ProcessId, char* szMutexString); -__declspec(dllimport) long long TITCALL HandlerGetOpenMutexHandleW(HANDLE hProcess, DWORD ProcessId, wchar_t* szMutexString); -__declspec(dllimport) long TITCALL HandlerGetProcessIdWhichCreatedMutex(char* szMutexString); -__declspec(dllimport) long TITCALL HandlerGetProcessIdWhichCreatedMutexW(wchar_t* szMutexString); -// TitanEngine.Injector.functions: -__declspec(dllimport) bool TITCALL RemoteLoadLibrary(HANDLE hProcess, char* szLibraryFile, bool WaitForThreadExit); -__declspec(dllimport) bool TITCALL RemoteLoadLibraryW(HANDLE hProcess, wchar_t* szLibraryFile, bool WaitForThreadExit); -__declspec(dllimport) bool TITCALL RemoteFreeLibrary(HANDLE hProcess, HMODULE hModule, char* szLibraryFile, bool WaitForThreadExit); -__declspec(dllimport) bool TITCALL RemoteFreeLibraryW(HANDLE hProcess, HMODULE hModule, wchar_t* szLibraryFile, bool WaitForThreadExit); -__declspec(dllimport) bool TITCALL RemoteExitProcess(HANDLE hProcess, DWORD ExitCode); -// TitanEngine.StaticUnpacker.functions: -__declspec(dllimport) bool TITCALL StaticFileLoad(char* szFileName, DWORD DesiredAccess, bool SimulateLoad, LPHANDLE FileHandle, LPDWORD LoadedSize, LPHANDLE FileMap, PULONG_PTR FileMapVA); -__declspec(dllimport) bool TITCALL StaticFileLoadW(wchar_t* szFileName, DWORD DesiredAccess, bool SimulateLoad, LPHANDLE FileHandle, LPDWORD LoadedSize, LPHANDLE FileMap, PULONG_PTR FileMapVA); -__declspec(dllimport) bool TITCALL StaticFileUnload(char* szFileName, bool CommitChanges, HANDLE FileHandle, DWORD LoadedSize, HANDLE FileMap, ULONG_PTR FileMapVA); -__declspec(dllimport) bool TITCALL StaticFileUnloadW(wchar_t* szFileName, bool CommitChanges, HANDLE FileHandle, DWORD LoadedSize, HANDLE FileMap, ULONG_PTR FileMapVA); -__declspec(dllimport) bool TITCALL StaticFileOpen(char* szFileName, DWORD DesiredAccess, LPHANDLE FileHandle, LPDWORD FileSizeLow, LPDWORD FileSizeHigh); -__declspec(dllimport) bool TITCALL StaticFileOpenW(wchar_t* szFileName, DWORD DesiredAccess, LPHANDLE FileHandle, LPDWORD FileSizeLow, LPDWORD FileSizeHigh); -__declspec(dllimport) bool TITCALL StaticFileGetContent(HANDLE FileHandle, DWORD FilePositionLow, LPDWORD FilePositionHigh, void* Buffer, DWORD Size); -__declspec(dllimport) void TITCALL StaticFileClose(HANDLE FileHandle); -__declspec(dllimport) void TITCALL StaticMemoryDecrypt(LPVOID MemoryStart, DWORD MemorySize, DWORD DecryptionType, DWORD DecryptionKeySize, ULONG_PTR DecryptionKey); -__declspec(dllimport) void TITCALL StaticMemoryDecryptEx(LPVOID MemoryStart, DWORD MemorySize, DWORD DecryptionKeySize, void* DecryptionCallBack); -__declspec(dllimport) void TITCALL StaticMemoryDecryptSpecial(LPVOID MemoryStart, DWORD MemorySize, DWORD DecryptionKeySize, DWORD SpecDecryptionType, void* DecryptionCallBack); -__declspec(dllimport) void TITCALL StaticSectionDecrypt(ULONG_PTR FileMapVA, DWORD SectionNumber, bool SimulateLoad, DWORD DecryptionType, DWORD DecryptionKeySize, ULONG_PTR DecryptionKey); -__declspec(dllimport) bool TITCALL StaticMemoryDecompress(void* Source, DWORD SourceSize, void* Destination, DWORD DestinationSize, int Algorithm); -__declspec(dllimport) bool TITCALL StaticRawMemoryCopy(HANDLE hFile, ULONG_PTR FileMapVA, ULONG_PTR VitualAddressToCopy, DWORD Size, bool AddressIsRVA, char* szDumpFileName); -__declspec(dllimport) bool TITCALL StaticRawMemoryCopyW(HANDLE hFile, ULONG_PTR FileMapVA, ULONG_PTR VitualAddressToCopy, DWORD Size, bool AddressIsRVA, wchar_t* szDumpFileName); -__declspec(dllimport) bool TITCALL StaticRawMemoryCopyEx(HANDLE hFile, DWORD RawAddressToCopy, DWORD Size, char* szDumpFileName); -__declspec(dllimport) bool TITCALL StaticRawMemoryCopyExW(HANDLE hFile, DWORD RawAddressToCopy, DWORD Size, wchar_t* szDumpFileName); -__declspec(dllimport) bool TITCALL StaticRawMemoryCopyEx64(HANDLE hFile, DWORD64 RawAddressToCopy, DWORD64 Size, char* szDumpFileName); -__declspec(dllimport) bool TITCALL StaticRawMemoryCopyEx64W(HANDLE hFile, DWORD64 RawAddressToCopy, DWORD64 Size, wchar_t* szDumpFileName); -__declspec(dllimport) bool TITCALL StaticHashMemory(void* MemoryToHash, DWORD SizeOfMemory, void* HashDigest, bool OutputString, int Algorithm); -__declspec(dllimport) bool TITCALL StaticHashFile(char* szFileName, char* HashDigest, bool OutputString, int Algorithm); -__declspec(dllimport) bool TITCALL StaticHashFileW(wchar_t* szFileName, char* HashDigest, bool OutputString, int Algorithm); -// TitanEngine.Engine.functions: -__declspec(dllimport) void TITCALL SetEngineVariable(DWORD VariableId, bool VariableSet); -__declspec(dllimport) bool TITCALL EngineCreateMissingDependencies(char* szFileName, char* szOutputFolder, bool LogCreatedFiles); -__declspec(dllimport) bool TITCALL EngineCreateMissingDependenciesW(wchar_t* szFileName, wchar_t* szOutputFolder, bool LogCreatedFiles); -__declspec(dllimport) bool TITCALL EngineFakeMissingDependencies(HANDLE hProcess); -__declspec(dllimport) bool TITCALL EngineDeleteCreatedDependencies(); -__declspec(dllimport) bool TITCALL EngineCreateUnpackerWindow(char* WindowUnpackerTitle, char* WindowUnpackerLongTitle, char* WindowUnpackerName, char* WindowUnpackerAuthor, void* StartUnpackingCallBack); -__declspec(dllimport) void TITCALL EngineAddUnpackerWindowLogMessage(char* szLogMessage); -// Global.Engine.Extension.Functions: -__declspec(dllimport) bool TITCALL ExtensionManagerIsPluginLoaded(char* szPluginName); -__declspec(dllimport) bool TITCALL ExtensionManagerIsPluginEnabled(char* szPluginName); -__declspec(dllimport) bool TITCALL ExtensionManagerDisableAllPlugins(); -__declspec(dllimport) bool TITCALL ExtensionManagerDisablePlugin(char* szPluginName); -__declspec(dllimport) bool TITCALL ExtensionManagerEnableAllPlugins(); -__declspec(dllimport) bool TITCALL ExtensionManagerEnablePlugin(char* szPluginName); -__declspec(dllimport) bool TITCALL ExtensionManagerUnloadAllPlugins(); -__declspec(dllimport) bool TITCALL ExtensionManagerUnloadPlugin(char* szPluginName); -__declspec(dllimport) void* TITCALL ExtensionManagerGetPluginInfo(char* szPluginName); - -#ifdef __cplusplus -} -#endif /*__cplusplus*/ - -#pragma pack(pop) - -#endif /*TITANENGINE*/ diff --git a/TitanUnitTest/TitanEngine.lib b/TitanUnitTest/TitanEngine.lib deleted file mode 100644 index 4b6174a5b30ae41aa0e9a1fc065f0534111e40aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 101964 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 diff --git a/TitanUnitTest/TitanScript.h b/TitanUnitTest/TitanScript.h index 4eb75e2..28e5c8c 100644 --- a/TitanUnitTest/TitanScript.h +++ b/TitanUnitTest/TitanScript.h @@ -1,26 +1,26 @@ -#ifndef TITANSCRIPT_H -#define TITANSCRIPT_H - -#if _MSC_VER > 1000 -//#pragma once -#endif - -#include - -enum eLogType {TS_LOG_NORMAL, TS_LOG_ERROR, TS_LOG_COMMAND, TS_LOG_DEBUG}; -typedef void(*fLogCallback)(const char* szString, eLogType Type); - -typedef bool (*tScripterLoadFileA)(const char*); -typedef bool (*tScripterLoadFileW)(const wchar_t*); -typedef bool (*tScripterLoadBuffer)(const char*); -typedef bool (*tScripterResume)(); -typedef bool (*tScripterPause)(); -typedef bool (*tScripterAutoDebugA)(const char*); -typedef bool (*tScripterAutoDebugW)(const wchar_t*); -typedef void (*tScripterSetLogCallback)(fLogCallback Callback); -typedef bool (*tScripterExecuteWithTitanMistA)(const char*, const char*); - -// use like this: tScripterResume foo = GetTSFunctionPointer(Resume); -#define GetTSFunctionPointer(x) ((tScripter ## x)GetProcAddress(GetModuleHandleA("TitanScript"), "Scripter" #x)) - -#endif /*TITANSCRIPT_H*/ +#ifndef TITANSCRIPT_H +#define TITANSCRIPT_H + +#if _MSC_VER > 1000 +//#pragma once +#endif + +#include + +enum eLogType {TS_LOG_NORMAL, TS_LOG_ERROR, TS_LOG_COMMAND, TS_LOG_DEBUG}; +typedef void(*fLogCallback)(const char* szString, eLogType Type); + +typedef bool (*tScripterLoadFileA)(const char*); +typedef bool (*tScripterLoadFileW)(const wchar_t*); +typedef bool (*tScripterLoadBuffer)(const char*); +typedef bool (*tScripterResume)(); +typedef bool (*tScripterPause)(); +typedef bool (*tScripterAutoDebugA)(const char*); +typedef bool (*tScripterAutoDebugW)(const wchar_t*); +typedef void (*tScripterSetLogCallback)(fLogCallback Callback); +typedef bool (*tScripterExecuteWithTitanMistA)(const char*, const char*); + +// use like this: tScripterResume foo = GetTSFunctionPointer(Resume); +#define GetTSFunctionPointer(x) ((tScripter ## x)GetProcAddress(GetModuleHandleA("TitanScript"), "Scripter" #x)) + +#endif /*TITANSCRIPT_H*/ diff --git a/TitanUnitTest/TitanUnitTest.cpp b/TitanUnitTest/TitanUnitTest.cpp index 11c915a..176bae1 100644 --- a/TitanUnitTest/TitanUnitTest.cpp +++ b/TitanUnitTest/TitanUnitTest.cpp @@ -1,39 +1,43 @@ -#include "stdafx.h" -#include "TitanEngine.h" -#include "TitanScript.h" -#include - -void log_callback( const char* str, eLogType log_type ); - -int main(int argc, char* argv[]) -{ - if(argc < 3) { - log_callback("Usage: titan_unittest.exe script.osc target.exe", TS_LOG_ERROR); - return -1; - } - - if ( !ExtensionManagerIsPluginLoaded( "TitanScript" ) || !ExtensionManagerIsPluginEnabled( "TitanScript" ) ) { - throw std::runtime_error( "TitanScript failed to load!" ); - } - - tScripterLoadFileA load_file = GetTSFunctionPointer( LoadFileA ); - tScripterExecuteWithTitanMistA exec = GetTSFunctionPointer( ExecuteWithTitanMistA ); - tScripterSetLogCallback set_log_callback = GetTSFunctionPointer( SetLogCallback ); - - set_log_callback(&log_callback ); - - if(!load_file(argv[1])) { - log_callback("Error loading script", TS_LOG_ERROR); - return -1; - } - - exec(argv[2], "dump.exe" ); - - return 0; -} - - -void log_callback( const char* str, eLogType log_type ) { - std::cout << str << "\n" << std::flush; -} - +#include "stdafx.h" +#include "..\SDK\CPP\TitanEngine.h" +#include "TitanScript.h" +#include + +void log_callback( const char* str, eLogType log_type ); + +int main(int argc, char* argv[]) +{ + if(argc < 3) + { + log_callback("Usage: titan_unittest.exe script.osc target.exe", TS_LOG_ERROR); + return -1; + } + + if ( !ExtensionManagerIsPluginLoaded( "TitanScript" ) || !ExtensionManagerIsPluginEnabled( "TitanScript" ) ) + { + throw std::runtime_error( "TitanScript failed to load!" ); + } + + tScripterLoadFileA load_file = GetTSFunctionPointer( LoadFileA ); + tScripterExecuteWithTitanMistA exec = GetTSFunctionPointer( ExecuteWithTitanMistA ); + tScripterSetLogCallback set_log_callback = GetTSFunctionPointer( SetLogCallback ); + + set_log_callback(&log_callback ); + + if(!load_file(argv[1])) + { + log_callback("Error loading script", TS_LOG_ERROR); + return -1; + } + + exec(argv[2], "dump.exe" ); + + return 0; +} + + +void log_callback( const char* str, eLogType log_type ) +{ + std::cout << str << "\n" << std::flush; +} + diff --git a/TitanUnitTest/TitanUnitTest.vcxproj b/TitanUnitTest/TitanUnitTest.vcxproj index cbf6daa..02edfc5 100644 --- a/TitanUnitTest/TitanUnitTest.vcxproj +++ b/TitanUnitTest/TitanUnitTest.vcxproj @@ -1,96 +1,174 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {5B5AB3CD-4D32-43B0-8840-E05C9483381D} - Win32Proj - titan_unittest - - - - Application - true - Unicode - true - - - Application - false - true - Unicode - - - - - - - - - - - - - true - - - false - - - - Use - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - MultiThreadedDebugDLL - - - Console - true - TitanEngine.lib;%(AdditionalDependencies) - - - - - - - Level3 - Use - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - MultiThreadedDLL - - - Console - true - true - true - - - - - - - - - - - Create - Create - - - - - - + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + {5B5AB3CD-4D32-43B0-8840-E05C9483381D} + Win32Proj + titan_unittest + + + + Application + true + Unicode + true + + + Application + true + Unicode + true + + + Application + false + true + Unicode + + + Application + false + true + Unicode + + + + + + + + + + + + + + + + + + + true + $(SolutionDir)\$(Configuration)\x32\ + $(Configuration)\x32\ + + + true + $(SolutionDir)\$(Configuration)\x64\ + $(Configuration)\x64\ + + + false + $(SolutionDir)\$(Configuration)\x32\ + $(Configuration)\x32\ + + + false + $(SolutionDir)\$(Configuration)\x64\ + $(Configuration)\x64\ + + + + Use + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + MultiThreadedDebugDLL + + + Console + true + $(OutDir)TitanEngine.lib;%(AdditionalDependencies) + + + + + + + Use + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + MultiThreadedDebugDLL + + + Console + true + $(OutDir)TitanEngine.lib;%(AdditionalDependencies) + + + + + + + Level3 + Use + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + MultiThreadedDLL + + + Console + true + true + true + $(OutDir)TitanEngine.lib;%(AdditionalDependencies) + + + + + Level3 + Use + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + MultiThreadedDLL + + + Console + true + true + true + $(OutDir)TitanEngine.lib;%(AdditionalDependencies) + + + + + + + + + + + + Create + Create + Create + Create + + + + + + \ No newline at end of file diff --git a/TitanUnitTest/TitanUnitTest.vcxproj.filters b/TitanUnitTest/TitanUnitTest.vcxproj.filters index 305a47f..6cccd5b 100644 --- a/TitanUnitTest/TitanUnitTest.vcxproj.filters +++ b/TitanUnitTest/TitanUnitTest.vcxproj.filters @@ -9,6 +9,9 @@ {93995380-89BD-4b04-88EB-625FBE52EBFB} h;hpp;hxx;hm;inl;inc;xsd + + {dcabac3b-acfe-4e79-a827-01d97b369669} + @@ -25,17 +28,14 @@ Header Files - - Header Files - - - Header Files - Header Files - - Header Files + + Header Files\SDK + + + Header Files\SDK \ No newline at end of file diff --git a/TitanUnitTest/stdafx.cpp b/TitanUnitTest/stdafx.cpp index 20e8cfa..1577c4e 100644 --- a/TitanUnitTest/stdafx.cpp +++ b/TitanUnitTest/stdafx.cpp @@ -1,8 +1 @@ -// stdafx.cpp : Quelldatei, die nur die Standard-Includes einbindet. -// titan_unittest.pch ist der vorkompilierte Header. -// stdafx.obj enthält die vorkompilierten Typinformationen. - -#include "stdafx.h" - -// TODO: Auf zusätzliche Header verweisen, die in STDAFX.H -// und nicht in dieser Datei erforderlich sind. +#include "stdafx.h" \ No newline at end of file diff --git a/TitanUnitTest/stdafx.h b/TitanUnitTest/stdafx.h index b689b41..45c4afd 100644 --- a/TitanUnitTest/stdafx.h +++ b/TitanUnitTest/stdafx.h @@ -1,15 +1,6 @@ -// stdafx.h : Includedatei für Standardsystem-Includedateien -// oder häufig verwendete projektspezifische Includedateien, -// die nur in unregelmäßigen Abständen geändert werden. -// - -#pragma once - -#include "targetver.h" - -#include -#include - - - -// TODO: Hier auf zusätzliche Header, die das Programm erfordert, verweisen. +#pragma once + +#include "targetver.h" + +#include +#include diff --git a/TitanUnitTest/targetver.h b/TitanUnitTest/targetver.h index a765413..2b26ce2 100644 --- a/TitanUnitTest/targetver.h +++ b/TitanUnitTest/targetver.h @@ -1,8 +1,3 @@ -#pragma once - -// Durch Einbeziehen von"SDKDDKVer.h" wird die höchste verfügbare Windows-Plattform definiert. - -// Wenn Sie die Anwendung für eine frühere Windows-Plattform erstellen möchten, schließen Sie "WinSDKVer.h" ein, und -// legen Sie das _WIN32_WINNT-Makro auf die zu unterstützende Plattform fest, bevor Sie "SDKDDKVer.h" einschließen. - -#include +#pragma once + +#include