#define WIN32_LEAN_AND_MEAN #include #include #include extern "C" __declspec(dllexport) VOID WhereAmI() { DWORD dwSize; HANDLE hToken; PTOKEN_MANDATORY_LABEL ptml; LPWSTR szSid; OpenProcessToken( GetCurrentProcess(), TOKEN_QUERY, &hToken); GetTokenInformation( hToken, TokenIntegrityLevel, NULL, 0, &dwSize); ptml = (PTOKEN_MANDATORY_LABEL)HeapAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY, dwSize); GetTokenInformation( hToken, TokenIntegrityLevel, ptml, dwSize, &dwSize); ConvertSidToStringSid( ptml->Label.Sid, &szSid); #pragma region Under the carpet if(wcsicmp(szSid, L"S-1-16-4096") == 0) { MessageBox( NULL, _T("Hello. I live in Low Mandatory Level."), _T("The cake is a lie."), MB_ICONINFORMATION ); } else if(wcsicmp(szSid, L"S-1-16-8192") == 0) { MessageBox( NULL, _T("Hello. I live in Medium Mandatory Level."), _T("The cake is a lie, kinda."), MB_ICONINFORMATION ); } else if(wcsicmp(szSid, L"S-1-16-12288") == 0) { MessageBox( NULL, _T("Hello. I live in High Mandatory Level."), _T("The cake is not a lie!"), MB_ICONINFORMATION ); } else if(wcsicmp(szSid, L"S-1-16-16384") == 0) { MessageBox( NULL, _T("Hello. I live in System Mandatory Level."), _T("Cheater. You used noclip to find the cake."), MB_ICONINFORMATION ); } else { MessageBox( NULL, _T("Something went wrong."), _T("Blame Sinofsky."), 0 ); } #pragma endregion HeapFree(GetProcessHeap(), 0, (LPVOID)ptml); LocalFree(szSid); }