diff --git a/Release/x32/TitanEngine.dll b/Release/x32/TitanEngine.dll index 909cfec..9f6dd5c 100644 Binary files a/Release/x32/TitanEngine.dll and b/Release/x32/TitanEngine.dll differ diff --git a/Release/x32/TitanEngine.exp b/Release/x32/TitanEngine.exp index 3dca659..b4a09dc 100644 Binary files a/Release/x32/TitanEngine.exp and b/Release/x32/TitanEngine.exp differ diff --git a/Release/x32/TitanEngine.lib b/Release/x32/TitanEngine.lib index e94c2e9..bb30b1e 100644 Binary files a/Release/x32/TitanEngine.lib and b/Release/x32/TitanEngine.lib differ diff --git a/Release/x32/TitanEngine_x86.a b/Release/x32/TitanEngine_x86.a index 0b27b26..3c2c556 100644 Binary files a/Release/x32/TitanEngine_x86.a and b/Release/x32/TitanEngine_x86.a differ diff --git a/Release/x64/TitanEngine.dll b/Release/x64/TitanEngine.dll index 3c4b4a8..76ec624 100644 Binary files a/Release/x64/TitanEngine.dll and b/Release/x64/TitanEngine.dll differ diff --git a/Release/x64/TitanEngine.exp b/Release/x64/TitanEngine.exp index 31035bc..7e7ba95 100644 Binary files a/Release/x64/TitanEngine.exp and b/Release/x64/TitanEngine.exp differ diff --git a/Release/x64/TitanEngine.lib b/Release/x64/TitanEngine.lib index b483798..fc94f00 100644 Binary files a/Release/x64/TitanEngine.lib and b/Release/x64/TitanEngine.lib differ diff --git a/Release/x64/TitanEngine_x64.a b/Release/x64/TitanEngine_x64.a index 75903b3..ff10b21 100644 Binary files a/Release/x64/TitanEngine_x64.a and b/Release/x64/TitanEngine_x64.a differ diff --git a/TitanEngine/TitanEngine.cpp b/TitanEngine/TitanEngine.cpp index 8f5d6bf..9dd236f 100644 --- a/TitanEngine/TitanEngine.cpp +++ b/TitanEngine/TitanEngine.cpp @@ -25519,9 +25519,9 @@ __declspec(dllexport) long long HandlerGetHandleDetails(HANDLE hProcess, DWORD P cZwQueryObject(myHandle, ObjectTypeInformation, HandleFullData, 8, &RequiredSize); cZwQueryObject(myHandle, ObjectTypeInformation, HandleFullData, RequiredSize, &RequiredSize); RtlZeroMemory(HandleNameData, 0x1000); - if(pObjectTypeInfo->Name.Length != NULL) + if(pObjectTypeInfo->TypeName.Length != NULL) { - WideCharToMultiByte(CP_ACP, NULL, (LPCWSTR)pObjectTypeInfo->Name.Buffer, -1, (LPSTR)HandleNameData, 0x1000, NULL, NULL); + WideCharToMultiByte(CP_ACP, NULL, (LPCWSTR)pObjectTypeInfo->TypeName.Buffer, -1, (LPSTR)HandleNameData, 0x1000, NULL, NULL); ReturnData = (ULONG_PTR)HandleNameData; DontFreeStringMemory = true; } @@ -25536,10 +25536,10 @@ __declspec(dllexport) long long HandlerGetHandleDetails(HANDLE hProcess, DWORD P cZwQueryObject(myHandle, ObjectTypeInformation, HandleFullData, 8, &RequiredSize); cZwQueryObject(myHandle, ObjectTypeInformation, HandleFullData, RequiredSize, &RequiredSize); RtlZeroMemory(HandleNameData, 0x1000); - if(pObjectTypeInfo->Name.Length != NULL) + if(pObjectTypeInfo->TypeName.Length != NULL) { - //WideCharToMultiByte(CP_ACP, NULL, (LPCWSTR)pObjectTypeInfo->Name.Buffer, -1, (LPSTR)HandleNameData, 0x1000, NULL, NULL); - lstrcpyW((wchar_t*)HandleNameData, (wchar_t*)pObjectTypeInfo->Name.Buffer); + //WideCharToMultiByte(CP_ACP, NULL, (LPCWSTR)pObjectTypeInfo->TypeName.Buffer, -1, (LPSTR)HandleNameData, 0x1000, NULL, NULL); + lstrcpyW((wchar_t*)HandleNameData, (wchar_t*)pObjectTypeInfo->TypeName.Buffer); ReturnData = (ULONG_PTR)HandleNameData; DontFreeStringMemory = true; } @@ -26016,9 +26016,9 @@ __declspec(dllexport) long HandlerEnumerateOpenMutexes(HANDLE hProcess, DWORD Pr cZwQueryObject(myHandle, ObjectTypeInformation, HandleFullData, 8, &RequiredSize); cZwQueryObject(myHandle, ObjectTypeInformation, HandleFullData, RequiredSize, &RequiredSize); RtlZeroMemory(HandleNameData, 0x1000); - if(pObjectTypeInfo->Name.Length != NULL) + if(pObjectTypeInfo->TypeName.Length != NULL) { - WideCharToMultiByte(CP_ACP, NULL, (LPCWSTR)pObjectTypeInfo->Name.Buffer, -1, (LPSTR)HandleNameData, 0x1000, NULL, NULL); + WideCharToMultiByte(CP_ACP, NULL, (LPCWSTR)pObjectTypeInfo->TypeName.Buffer, -1, (LPSTR)HandleNameData, 0x1000, NULL, NULL); if(lstrcmpiA((LPCSTR)HandleNameData, "Mutant") == NULL) { copyHandle = (HANDLE)HandleInfo->hHandle; @@ -26170,9 +26170,9 @@ __declspec(dllexport) long HandlerGetProcessIdWhichCreatedMutexW(wchar_t* szMute cZwQueryObject(myHandle, ObjectTypeInformation, HandleFullData, 8, &RequiredSize); cZwQueryObject(myHandle, ObjectTypeInformation, HandleFullData, RequiredSize, &RequiredSize); RtlZeroMemory(HandleNameData, 0x1000); - if(pObjectTypeInfo->Name.Length != NULL) + if(pObjectTypeInfo->TypeName.Length != NULL) { - //WideCharToMultiByte(CP_ACP, NULL, (LPCWSTR)pObjectTypeInfo->Name.Buffer, -1, (LPSTR)HandleNameData, 0x1000, NULL, NULL); + //WideCharToMultiByte(CP_ACP, NULL, (LPCWSTR)pObjectTypeInfo->TypeName.Buffer, -1, (LPSTR)HandleNameData, 0x1000, NULL, NULL); lstrcpyW((wchar_t*)HandleNameData, (wchar_t*)pObjectNameInfo->Name.Buffer); if(lstrcmpiW((LPCWSTR)HandleNameData, L"Mutant") == NULL) { diff --git a/readme.txt b/readme.txt index 201b4fd..761a5af 100644 --- a/readme.txt +++ b/readme.txt @@ -12,4 +12,5 @@ The following things have been fixed/added (list might be incomplete): - added memory breakpoints on execute - added QWORD hardware breakpoints - general code fixes +- smaller and better DLL loaders