blindeventlog.h 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  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. //bofstart + internal_printf + printoutput
  54. WINBASEAPI void *__cdecl MSVCRT$calloc(size_t number, size_t size);
  55. WINBASEAPI int WINAPI MSVCRT$vsnprintf(char* buffer, size_t count, const char* format, va_list arg);
  56. WINBASEAPI void __cdecl MSVCRT$memset(void *dest, int c, size_t count);
  57. WINBASEAPI void* WINAPI MSVCRT$memcpy(void* dest, const void* src, size_t count);
  58. WINBASEAPI HANDLE WINAPI KERNEL32$GetProcessHeap();
  59. WINBASEAPI LPVOID WINAPI KERNEL32$HeapAlloc(HANDLE hHeap, DWORD dwFlags, SIZE_T dwBytes);
  60. WINBASEAPI void __cdecl MSVCRT$free(void *memblock);
  61. WINBASEAPI BOOL WINAPI KERNEL32$HeapFree(HANDLE, DWORD, PVOID);