mirror of
https://github.com/JKornev/hidden
synced 2024-06-28 09:52:05 +00:00
97 lines
4.2 KiB
C
97 lines
4.2 KiB
C
#pragma once
|
|
|
|
typedef unsigned long long HidStatus;
|
|
|
|
#define HID_STATUS_SUCCESSFUL(status) (status & 1)
|
|
#define HID_STATUS_CODE(status) (unsigned int)(status >> 1)
|
|
|
|
#define HID_SET_STATUS(state, code) (unsigned long long)((unsigned long long)code << 1 | (state ? 1 : 0))
|
|
|
|
#define HID_NORMALIZATION_OVERHEAD 100
|
|
|
|
#define _API __cdecl
|
|
|
|
typedef void* HidContext;
|
|
typedef HidContext* PHidContext;
|
|
|
|
typedef unsigned long long HidObjId;
|
|
|
|
typedef unsigned long HidProcId;
|
|
|
|
enum class HidActiveState
|
|
{
|
|
StateDisabled = 0,
|
|
StateEnabled
|
|
};
|
|
|
|
// Important note:
|
|
// This enum should be equal to PsRuleInheritTypes (PsRules.h)
|
|
enum class HidPsInheritTypes
|
|
{
|
|
WithoutInherit = 0,
|
|
InheritAlways,
|
|
InheritOnce,
|
|
InheritMax
|
|
};
|
|
|
|
enum class HidRegRootTypes
|
|
{
|
|
RegHKCU,
|
|
RegHKLM,
|
|
RegHKU
|
|
};
|
|
|
|
HidStatus _API Hid_InitializeWithNoConnection();
|
|
HidStatus _API Hid_Initialize(PHidContext pcontext, const wchar_t* deviceName = 0);
|
|
void _API Hid_Destroy(HidContext context);
|
|
|
|
HidStatus _API Hid_SetState(HidContext context, HidActiveState state);
|
|
HidStatus _API Hid_GetState(HidContext context, HidActiveState* pstate);
|
|
|
|
// Fs\Reg
|
|
|
|
HidStatus _API Hid_AddHiddenRegKey(HidContext context, HidRegRootTypes root, const wchar_t* regKey, HidObjId* objId);
|
|
HidStatus _API Hid_RemoveHiddenRegKey(HidContext context, HidObjId objId);
|
|
HidStatus _API Hid_RemoveAllHiddenRegKeys(HidContext context);
|
|
|
|
HidStatus _API Hid_AddHiddenRegValue(HidContext context, HidRegRootTypes root, const wchar_t* regValue, HidObjId* objId);
|
|
HidStatus _API Hid_RemoveHiddenRegValue(HidContext context, HidObjId objId);
|
|
HidStatus _API Hid_RemoveAllHiddenRegValues(HidContext context);
|
|
|
|
HidStatus _API Hid_AddHiddenFile(HidContext context, const wchar_t* filePath, HidObjId* objId);
|
|
HidStatus _API Hid_RemoveHiddenFile(HidContext context, HidObjId objId);
|
|
HidStatus _API Hid_RemoveAllHiddenFiles(HidContext context);
|
|
|
|
HidStatus _API Hid_AddHiddenDir(HidContext context, const wchar_t* dirPath, HidObjId* objId);
|
|
HidStatus _API Hid_RemoveHiddenDir(HidContext context, HidObjId objId);
|
|
HidStatus _API Hid_RemoveAllHiddenDirs(HidContext context);
|
|
|
|
// Ps
|
|
|
|
HidStatus _API Hid_AddExcludedImage(HidContext context, const wchar_t* imagePath, HidPsInheritTypes inheritType, bool applyForProcess, HidObjId* objId);
|
|
HidStatus _API Hid_RemoveExcludedImage(HidContext context, HidObjId objId);
|
|
HidStatus _API Hid_RemoveAllExcludedImages(HidContext context);
|
|
HidStatus _API Hid_GetExcludedState(HidContext context, HidProcId procId, HidActiveState* state, HidPsInheritTypes* inheritType);
|
|
HidStatus _API Hid_AttachExcludedState(HidContext context, HidProcId procId, HidPsInheritTypes inheritType);
|
|
HidStatus _API Hid_RemoveExcludedState(HidContext context, HidProcId procId);
|
|
|
|
HidStatus _API Hid_AddProtectedImage(HidContext context, const wchar_t* imagePath, HidPsInheritTypes inheritType, bool applyForProcess, HidObjId* objId);
|
|
HidStatus _API Hid_RemoveProtectedImage(HidContext context, HidObjId objId);
|
|
HidStatus _API Hid_RemoveAllProtectedImages(HidContext context);
|
|
HidStatus _API Hid_GetProtectedState(HidContext context, HidProcId procId, HidActiveState* state, HidPsInheritTypes* inheritType);
|
|
HidStatus _API Hid_AttachProtectedState(HidContext context, HidProcId procId, HidPsInheritTypes inheritType);
|
|
HidStatus _API Hid_RemoveProtectedState(HidContext context, HidProcId procId);
|
|
|
|
HidStatus _API Hid_AddHiddenImage(HidContext context, const wchar_t* imagePath, HidPsInheritTypes inheritType, bool applyForProcess, HidObjId* objId);
|
|
HidStatus _API Hid_RemoveHiddenImage(HidContext context, HidObjId objId);
|
|
HidStatus _API Hid_RemoveAllHiddenImages(HidContext context);
|
|
HidStatus _API Hid_RemoveAllHiddenProcesses(HidContext context);
|
|
HidStatus _API Hid_GetHiddenState(HidContext context, HidProcId procId, HidActiveState* state, HidPsInheritTypes* inheritType);
|
|
HidStatus _API Hid_AttachHiddenState(HidContext context, HidProcId procId, HidPsInheritTypes inheritType);
|
|
HidStatus _API Hid_RemoveHiddenState(HidContext context, HidProcId procId);
|
|
|
|
// Misc
|
|
|
|
HidStatus _API Hid_NormalizeFilePath(const wchar_t* filePath, wchar_t* normalized, size_t normalizedLen);
|
|
HidStatus _API Hid_NormalizeRegistryPath(HidRegRootTypes root, const wchar_t* regPath, wchar_t* normalized, size_t normalizedLen);
|