- updated readme

- fixed 'TypeName' bug (cypher)
This commit is contained in:
mr.exodia 2013-10-11 15:20:13 +02:00
parent 61c203eba6
commit e55d6f75cc
10 changed files with 10 additions and 9 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -25519,9 +25519,9 @@ __declspec(dllexport) long long HandlerGetHandleDetails(HANDLE hProcess, DWORD P
cZwQueryObject(myHandle, ObjectTypeInformation, HandleFullData, 8, &RequiredSize); cZwQueryObject(myHandle, ObjectTypeInformation, HandleFullData, 8, &RequiredSize);
cZwQueryObject(myHandle, ObjectTypeInformation, HandleFullData, RequiredSize, &RequiredSize); cZwQueryObject(myHandle, ObjectTypeInformation, HandleFullData, RequiredSize, &RequiredSize);
RtlZeroMemory(HandleNameData, 0x1000); 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; ReturnData = (ULONG_PTR)HandleNameData;
DontFreeStringMemory = true; 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, 8, &RequiredSize);
cZwQueryObject(myHandle, ObjectTypeInformation, HandleFullData, RequiredSize, &RequiredSize); cZwQueryObject(myHandle, ObjectTypeInformation, HandleFullData, RequiredSize, &RequiredSize);
RtlZeroMemory(HandleNameData, 0x1000); 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*)pObjectTypeInfo->Name.Buffer); lstrcpyW((wchar_t*)HandleNameData, (wchar_t*)pObjectTypeInfo->TypeName.Buffer);
ReturnData = (ULONG_PTR)HandleNameData; ReturnData = (ULONG_PTR)HandleNameData;
DontFreeStringMemory = true; DontFreeStringMemory = true;
} }
@ -26016,9 +26016,9 @@ __declspec(dllexport) long HandlerEnumerateOpenMutexes(HANDLE hProcess, DWORD Pr
cZwQueryObject(myHandle, ObjectTypeInformation, HandleFullData, 8, &RequiredSize); cZwQueryObject(myHandle, ObjectTypeInformation, HandleFullData, 8, &RequiredSize);
cZwQueryObject(myHandle, ObjectTypeInformation, HandleFullData, RequiredSize, &RequiredSize); cZwQueryObject(myHandle, ObjectTypeInformation, HandleFullData, RequiredSize, &RequiredSize);
RtlZeroMemory(HandleNameData, 0x1000); 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) if(lstrcmpiA((LPCSTR)HandleNameData, "Mutant") == NULL)
{ {
copyHandle = (HANDLE)HandleInfo->hHandle; 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, 8, &RequiredSize);
cZwQueryObject(myHandle, ObjectTypeInformation, HandleFullData, RequiredSize, &RequiredSize); cZwQueryObject(myHandle, ObjectTypeInformation, HandleFullData, RequiredSize, &RequiredSize);
RtlZeroMemory(HandleNameData, 0x1000); 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); lstrcpyW((wchar_t*)HandleNameData, (wchar_t*)pObjectNameInfo->Name.Buffer);
if(lstrcmpiW((LPCWSTR)HandleNameData, L"Mutant") == NULL) if(lstrcmpiW((LPCWSTR)HandleNameData, L"Mutant") == NULL)
{ {

View File

@ -12,4 +12,5 @@ The following things have been fixed/added (list might be incomplete):
- added memory breakpoints on execute - added memory breakpoints on execute
- added QWORD hardware breakpoints - added QWORD hardware breakpoints
- general code fixes - general code fixes
- smaller and better DLL loaders