mirror of https://github.com/hfiref0x/UACME.git
137 lines
3.1 KiB
C
137 lines
3.1 KiB
C
/*******************************************************************************
|
|
*
|
|
* (C) COPYRIGHT AUTHORS, 2014 - 2017
|
|
*
|
|
* TITLE: SUP.H
|
|
*
|
|
* VERSION: 2.72
|
|
*
|
|
* DATE: 26 May 2017
|
|
*
|
|
* Common header file for the program support routines.
|
|
*
|
|
* THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
|
|
* ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED
|
|
* TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
|
|
* PARTICULAR PURPOSE.
|
|
*
|
|
*******************************************************************************/
|
|
#pragma once
|
|
|
|
typedef BOOL(CALLBACK *UCM_FIND_FILE_CALLBACK)(
|
|
WIN32_FIND_DATA *fdata,
|
|
LPWSTR lpDirectory);
|
|
|
|
typedef struct _SXS_SEARCH_CONTEXT {
|
|
LPWSTR DllName;
|
|
LPWSTR PartialPath;
|
|
LPWSTR FullDllPath;
|
|
} SXS_SEARCH_CONTEXT, *PSXS_SEARCH_CONTEXT;
|
|
|
|
BOOLEAN supIsProcess32bit(
|
|
_In_ HANDLE hProcess);
|
|
|
|
BOOL supGetElevationType(
|
|
TOKEN_ELEVATION_TYPE *lpType);
|
|
|
|
BOOL supWriteBufferToFile(
|
|
_In_ LPWSTR lpFileName,
|
|
_In_ PVOID Buffer,
|
|
_In_ DWORD BufferSize);
|
|
|
|
PBYTE supReadFileToBuffer(
|
|
_In_ LPWSTR lpFileName,
|
|
_Inout_opt_ LPDWORD lpBufferSize);
|
|
|
|
BOOL supRunProcess2(
|
|
_In_ LPWSTR lpszProcessName,
|
|
_In_opt_ LPWSTR lpszParameters,
|
|
_In_ BOOL fWait);
|
|
|
|
BOOL supRunProcess(
|
|
_In_ LPWSTR lpszProcessName,
|
|
_In_opt_ LPWSTR lpszParameters);
|
|
|
|
HANDLE NTAPI supRunProcessEx(
|
|
_In_ LPWSTR lpszParameters,
|
|
_In_opt_ LPWSTR lpCurrentDirectory,
|
|
_Out_opt_ HANDLE *PrimaryThread,
|
|
_Inout_opt_ LPWSTR lpApplicationName);
|
|
|
|
void supCopyMemory(
|
|
_Inout_ void *dest,
|
|
_In_ size_t cbdest,
|
|
_In_ const void *src,
|
|
_In_ size_t cbsrc);
|
|
|
|
DWORD supQueryEntryPointRVA(
|
|
_In_ LPWSTR lpImageFile);
|
|
|
|
LPWSTR supQueryEnvironmentVariableOffset(
|
|
_In_ PUNICODE_STRING Value);
|
|
|
|
BOOL supSetParameter(
|
|
LPWSTR lpParameter,
|
|
DWORD cbParameter);
|
|
|
|
DWORD supCalculateCheckSumForMappedFile(
|
|
_In_ PVOID BaseAddress,
|
|
_In_ ULONG FileLength);
|
|
|
|
BOOLEAN supVerifyMappedImageMatchesChecksum(
|
|
_In_ PVOID BaseAddress,
|
|
_In_ ULONG FileLength);
|
|
|
|
BOOLEAN supSetCheckSumForMappedFile(
|
|
_In_ PVOID BaseAddress,
|
|
_In_ ULONG CheckSum);
|
|
|
|
VOID ucmShowMessage(
|
|
LPWSTR lpszMsg);
|
|
|
|
INT ucmShowQuestion(
|
|
LPWSTR lpszMsg);
|
|
|
|
PBYTE supLdrQueryResourceData(
|
|
_In_ ULONG_PTR ResourceId,
|
|
_In_ PVOID DllHandle,
|
|
_In_ PULONG DataSize);
|
|
|
|
VOID supMasqueradeProcess(
|
|
VOID);
|
|
|
|
DWORD supExpandEnvironmentStrings(
|
|
LPCWSTR lpSrc,
|
|
LPWSTR lpDst,
|
|
DWORD nSize);
|
|
|
|
VOID NTAPI sxsFindDllCallback(
|
|
_In_ PCLDR_DATA_TABLE_ENTRY DataTableEntry,
|
|
_In_ PVOID Context,
|
|
_In_ OUT BOOLEAN *StopEnumeration);
|
|
|
|
PVOID supNativeGetProcAddress(
|
|
WCHAR *Module,
|
|
CHAR *Routine);
|
|
|
|
VOID supDebugPrint(
|
|
LPWSTR ApiName,
|
|
DWORD status);
|
|
|
|
PVOID FORCEINLINE supHeapAlloc(
|
|
_In_ SIZE_T Size);
|
|
|
|
BOOL FORCEINLINE supHeapFree(
|
|
_In_ PVOID Memory);
|
|
|
|
BOOL supDeleteKeyRecursive(
|
|
_In_ HKEY hKeyRoot,
|
|
_In_ LPWSTR lpSubKey);
|
|
|
|
BOOL supSetEnvVariable(
|
|
_In_ BOOL fRemove,
|
|
_In_ LPWSTR lpVariableName,
|
|
_In_opt_ LPWSTR lpVariableData);
|
|
|
|
#define PathFileExists(lpszPath) (GetFileAttributes(lpszPath) != (DWORD)-1)
|