mirror of
https://github.com/JKornev/hidden
synced 2024-06-26 00:48:05 +00:00
Fixes for API and x64 compilation
This commit is contained in:
parent
0332732253
commit
3e5e5e8679
4
.gitignore
vendored
4
.gitignore
vendored
@ -29,3 +29,7 @@
|
|||||||
/HiddenTests/*.idc
|
/HiddenTests/*.idc
|
||||||
/Hidden/Release
|
/Hidden/Release
|
||||||
/Hidden/x64/Release
|
/Hidden/x64/Release
|
||||||
|
/HiddenCLI/x64/Release
|
||||||
|
/HiddenLib/x64/Release
|
||||||
|
/HiddenTests/x64/Release/HiddenTests.tlog
|
||||||
|
/HiddenTests/x64/Release
|
||||||
|
@ -107,7 +107,7 @@
|
|||||||
<SubSystem>Console</SubSystem>
|
<SubSystem>Console</SubSystem>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
<AdditionalDependencies>HiddenLib.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>HiddenLib.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<AdditionalLibraryDirectories>$(SolutionDir)$(Configuration)\</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>$(SolutionDir)x64\$(Configuration)\</AdditionalLibraryDirectories>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
@ -146,7 +146,7 @@
|
|||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
<OptimizeReferences>true</OptimizeReferences>
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
<AdditionalLibraryDirectories>$(SolutionDir)$(Configuration)\</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>$(SolutionDir)x64\$(Configuration)\</AdditionalLibraryDirectories>
|
||||||
<AdditionalDependencies>HiddenLib.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>HiddenLib.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
|
@ -44,7 +44,7 @@ static RtlDosPathNameToRelativeNtPathName_U_Prototype RtlDosPathNameToRelativeNt
|
|||||||
static RtlFormatCurrentUserKeyPath_Prototype RtlFormatCurrentUserKeyPath = nullptr;
|
static RtlFormatCurrentUserKeyPath_Prototype RtlFormatCurrentUserKeyPath = nullptr;
|
||||||
static RtlFreeUnicodeString_Prototype RtlFreeUnicodeString = nullptr;
|
static RtlFreeUnicodeString_Prototype RtlFreeUnicodeString = nullptr;
|
||||||
|
|
||||||
HidStatus Hid_Initialize(PHidContext pcontext)
|
HidStatus _API Hid_Initialize(PHidContext pcontext, const wchar_t* deviceName)
|
||||||
{
|
{
|
||||||
HANDLE hdevice = INVALID_HANDLE_VALUE;
|
HANDLE hdevice = INVALID_HANDLE_VALUE;
|
||||||
PHidContextInternal context;
|
PHidContextInternal context;
|
||||||
@ -79,8 +79,11 @@ HidStatus Hid_Initialize(PHidContext pcontext)
|
|||||||
return HID_SET_STATUS(FALSE, GetLastError());
|
return HID_SET_STATUS(FALSE, GetLastError());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!deviceName)
|
||||||
|
deviceName = DEVICE_WIN32_NAME;
|
||||||
|
|
||||||
hdevice = CreateFileW(
|
hdevice = CreateFileW(
|
||||||
DEVICE_WIN32_NAME,
|
deviceName,
|
||||||
GENERIC_READ | GENERIC_WRITE,
|
GENERIC_READ | GENERIC_WRITE,
|
||||||
0,
|
0,
|
||||||
NULL,
|
NULL,
|
||||||
@ -104,7 +107,7 @@ HidStatus Hid_Initialize(PHidContext pcontext)
|
|||||||
return HID_SET_STATUS(TRUE, 0);
|
return HID_SET_STATUS(TRUE, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Hid_Destroy(HidContext context)
|
void _API Hid_Destroy(HidContext context)
|
||||||
{
|
{
|
||||||
PHidContextInternal cntx = (PHidContextInternal)context;
|
PHidContextInternal cntx = (PHidContextInternal)context;
|
||||||
CloseHandle(cntx->hdevice);
|
CloseHandle(cntx->hdevice);
|
||||||
@ -117,7 +120,7 @@ bool ConvertToNtPath(const wchar_t* path, wchar_t* normalized, size_t normalized
|
|||||||
DWORD size;
|
DWORD size;
|
||||||
bool result = false;
|
bool result = false;
|
||||||
|
|
||||||
size = GetFullPathNameW(path, normalizedLen, normalized, NULL);
|
size = GetFullPathNameW(path, (DWORD)normalizedLen, normalized, NULL);
|
||||||
if (size == 0)
|
if (size == 0)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
@ -262,14 +265,14 @@ HidStatus SendIoctl_HideObjectPacket(PHidContextInternal context, const wchar_t*
|
|||||||
total = (len + 1) * sizeof(wchar_t);
|
total = (len + 1) * sizeof(wchar_t);
|
||||||
size = sizeof(Hid_HideObjectPacket) + total;
|
size = sizeof(Hid_HideObjectPacket) + total;
|
||||||
hide = (PHid_HideObjectPacket)_alloca(size);
|
hide = (PHid_HideObjectPacket)_alloca(size);
|
||||||
hide->dataSize = total;
|
hide->dataSize = (unsigned short)total;
|
||||||
hide->objType = type;
|
hide->objType = type;
|
||||||
|
|
||||||
memcpy((char*)hide + sizeof(Hid_HideObjectPacket), path, total);
|
memcpy((char*)hide + sizeof(Hid_HideObjectPacket), path, total);
|
||||||
|
|
||||||
// Send IOCTL to device
|
// Send IOCTL to device
|
||||||
|
|
||||||
if (!DeviceIoControl(context->hdevice, HID_IOCTL_ADD_HIDDEN_OBJECT, hide, size, &result, sizeof(result), &returned, NULL))
|
if (!DeviceIoControl(context->hdevice, HID_IOCTL_ADD_HIDDEN_OBJECT, hide, (DWORD)size, &result, sizeof(result), &returned, NULL))
|
||||||
return HID_SET_STATUS(FALSE, GetLastError());
|
return HID_SET_STATUS(FALSE, GetLastError());
|
||||||
|
|
||||||
// Check result
|
// Check result
|
||||||
@ -351,7 +354,7 @@ HidStatus SendIoctl_AddPsObjectPacket(PHidContextInternal context, const wchar_t
|
|||||||
total = (len + 1) * sizeof(wchar_t);
|
total = (len + 1) * sizeof(wchar_t);
|
||||||
size = sizeof(Hid_AddPsObjectPacket) + total;
|
size = sizeof(Hid_AddPsObjectPacket) + total;
|
||||||
hide = (PHid_AddPsObjectPacket)_alloca(size);
|
hide = (PHid_AddPsObjectPacket)_alloca(size);
|
||||||
hide->dataSize = total;
|
hide->dataSize = (unsigned short)total;
|
||||||
hide->objType = type;
|
hide->objType = type;
|
||||||
hide->inheritType = inheritType;
|
hide->inheritType = inheritType;
|
||||||
|
|
||||||
@ -359,7 +362,7 @@ HidStatus SendIoctl_AddPsObjectPacket(PHidContextInternal context, const wchar_t
|
|||||||
|
|
||||||
// Send IOCTL to device
|
// Send IOCTL to device
|
||||||
|
|
||||||
if (!DeviceIoControl(context->hdevice, HID_IOCTL_ADD_OBJECT, hide, size, &result, sizeof(result), &returned, NULL))
|
if (!DeviceIoControl(context->hdevice, HID_IOCTL_ADD_OBJECT, hide, (DWORD)size, &result, sizeof(result), &returned, NULL))
|
||||||
return HID_SET_STATUS(FALSE, GetLastError());
|
return HID_SET_STATUS(FALSE, GetLastError());
|
||||||
|
|
||||||
// Check result
|
// Check result
|
||||||
@ -492,13 +495,13 @@ HidStatus SendIoctl_SetPsStatePacket(PHidContextInternal context, HidProcId proc
|
|||||||
|
|
||||||
// Control interface
|
// Control interface
|
||||||
|
|
||||||
HidStatus Hid_SetState(HidContext context, HidActiveState state)
|
HidStatus _API Hid_SetState(HidContext context, HidActiveState state)
|
||||||
{
|
{
|
||||||
PHidContextInternal cntx = (PHidContextInternal)context;
|
PHidContextInternal cntx = (PHidContextInternal)context;
|
||||||
return HID_SET_STATUS(FALSE, ERROR_CALL_NOT_IMPLEMENTED);
|
return HID_SET_STATUS(FALSE, ERROR_CALL_NOT_IMPLEMENTED);
|
||||||
}
|
}
|
||||||
|
|
||||||
HidStatus Hid_GetState(HidContext context, HidActiveState* pstate)
|
HidStatus _API Hid_GetState(HidContext context, HidActiveState* pstate)
|
||||||
{
|
{
|
||||||
PHidContextInternal cntx = (PHidContextInternal)context;
|
PHidContextInternal cntx = (PHidContextInternal)context;
|
||||||
return HID_SET_STATUS(FALSE, ERROR_CALL_NOT_IMPLEMENTED);
|
return HID_SET_STATUS(FALSE, ERROR_CALL_NOT_IMPLEMENTED);
|
||||||
@ -506,7 +509,7 @@ HidStatus Hid_GetState(HidContext context, HidActiveState* pstate)
|
|||||||
|
|
||||||
// Registry hiding interface
|
// Registry hiding interface
|
||||||
|
|
||||||
HidStatus Hid_AddHiddenRegKey(HidContext context, HidRegRootTypes root, const wchar_t* regKey, HidObjId* objId)
|
HidStatus _API Hid_AddHiddenRegKey(HidContext context, HidRegRootTypes root, const wchar_t* regKey, HidObjId* objId)
|
||||||
{
|
{
|
||||||
HidStatus status;
|
HidStatus status;
|
||||||
wchar_t* normalized;
|
wchar_t* normalized;
|
||||||
@ -521,17 +524,17 @@ HidStatus Hid_AddHiddenRegKey(HidContext context, HidRegRootTypes root, const wc
|
|||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
HidStatus Hid_RemoveHiddenRegKey(HidContext context, HidObjId objId)
|
HidStatus _API Hid_RemoveHiddenRegKey(HidContext context, HidObjId objId)
|
||||||
{
|
{
|
||||||
return SendIoctl_UnhideObjectPacket((PHidContextInternal)context, RegKeyObject, objId);
|
return SendIoctl_UnhideObjectPacket((PHidContextInternal)context, RegKeyObject, objId);
|
||||||
}
|
}
|
||||||
|
|
||||||
HidStatus Hid_RemoveAllHiddenRegKeys(HidContext context)
|
HidStatus _API Hid_RemoveAllHiddenRegKeys(HidContext context)
|
||||||
{
|
{
|
||||||
return SendIoctl_UnhideAllObjectsPacket((PHidContextInternal)context, RegKeyObject);
|
return SendIoctl_UnhideAllObjectsPacket((PHidContextInternal)context, RegKeyObject);
|
||||||
}
|
}
|
||||||
|
|
||||||
HidStatus Hid_AddHiddenRegValue(HidContext context, HidRegRootTypes root, const wchar_t* regValue, HidObjId* objId)
|
HidStatus _API Hid_AddHiddenRegValue(HidContext context, HidRegRootTypes root, const wchar_t* regValue, HidObjId* objId)
|
||||||
{
|
{
|
||||||
HidStatus status;
|
HidStatus status;
|
||||||
wchar_t* normalized;
|
wchar_t* normalized;
|
||||||
@ -546,19 +549,19 @@ HidStatus Hid_AddHiddenRegValue(HidContext context, HidRegRootTypes root, const
|
|||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
HidStatus Hid_RemoveHiddenRegValue(HidContext context, HidObjId objId)
|
HidStatus _API Hid_RemoveHiddenRegValue(HidContext context, HidObjId objId)
|
||||||
{
|
{
|
||||||
return SendIoctl_UnhideObjectPacket((PHidContextInternal)context, RegValueObject, objId);
|
return SendIoctl_UnhideObjectPacket((PHidContextInternal)context, RegValueObject, objId);
|
||||||
}
|
}
|
||||||
|
|
||||||
HidStatus Hid_RemoveAllHiddenRegValues(HidContext context)
|
HidStatus _API Hid_RemoveAllHiddenRegValues(HidContext context)
|
||||||
{
|
{
|
||||||
return SendIoctl_UnhideAllObjectsPacket((PHidContextInternal)context, RegValueObject);
|
return SendIoctl_UnhideAllObjectsPacket((PHidContextInternal)context, RegValueObject);
|
||||||
}
|
}
|
||||||
|
|
||||||
// File system hiding interface
|
// File system hiding interface
|
||||||
|
|
||||||
HidStatus Hid_AddHiddenFile(HidContext context, const wchar_t* filePath, HidObjId* objId)
|
HidStatus _API Hid_AddHiddenFile(HidContext context, const wchar_t* filePath, HidObjId* objId)
|
||||||
{
|
{
|
||||||
HidStatus status;
|
HidStatus status;
|
||||||
wchar_t* normalized;
|
wchar_t* normalized;
|
||||||
@ -573,17 +576,17 @@ HidStatus Hid_AddHiddenFile(HidContext context, const wchar_t* filePath, HidObjI
|
|||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
HidStatus Hid_RemoveHiddenFile(HidContext context, HidObjId objId)
|
HidStatus _API Hid_RemoveHiddenFile(HidContext context, HidObjId objId)
|
||||||
{
|
{
|
||||||
return SendIoctl_UnhideObjectPacket((PHidContextInternal)context, FsFileObject, objId);
|
return SendIoctl_UnhideObjectPacket((PHidContextInternal)context, FsFileObject, objId);
|
||||||
}
|
}
|
||||||
|
|
||||||
HidStatus Hid_RemoveAllHiddenFiles(HidContext context)
|
HidStatus _API Hid_RemoveAllHiddenFiles(HidContext context)
|
||||||
{
|
{
|
||||||
return SendIoctl_UnhideAllObjectsPacket((PHidContextInternal)context, FsFileObject);
|
return SendIoctl_UnhideAllObjectsPacket((PHidContextInternal)context, FsFileObject);
|
||||||
}
|
}
|
||||||
|
|
||||||
HidStatus Hid_AddHiddenDir(HidContext context, const wchar_t* dirPath, HidObjId* objId)
|
HidStatus _API Hid_AddHiddenDir(HidContext context, const wchar_t* dirPath, HidObjId* objId)
|
||||||
{
|
{
|
||||||
HidStatus status;
|
HidStatus status;
|
||||||
wchar_t* normalized;
|
wchar_t* normalized;
|
||||||
@ -598,19 +601,19 @@ HidStatus Hid_AddHiddenDir(HidContext context, const wchar_t* dirPath, HidObjId*
|
|||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
HidStatus Hid_RemoveHiddenDir(HidContext context, HidObjId objId)
|
HidStatus _API Hid_RemoveHiddenDir(HidContext context, HidObjId objId)
|
||||||
{
|
{
|
||||||
return SendIoctl_UnhideObjectPacket((PHidContextInternal)context, FsDirObject, objId);
|
return SendIoctl_UnhideObjectPacket((PHidContextInternal)context, FsDirObject, objId);
|
||||||
}
|
}
|
||||||
|
|
||||||
HidStatus Hid_RemoveAllHiddenDirs(HidContext context)
|
HidStatus _API Hid_RemoveAllHiddenDirs(HidContext context)
|
||||||
{
|
{
|
||||||
return SendIoctl_UnhideAllObjectsPacket((PHidContextInternal)context, FsDirObject);
|
return SendIoctl_UnhideAllObjectsPacket((PHidContextInternal)context, FsDirObject);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Process exclude interface
|
// Process exclude interface
|
||||||
|
|
||||||
HidStatus Hid_AddExcludedImage(HidContext context, const wchar_t* imagePath, HidPsInheritTypes inheritType, HidObjId* objId)
|
HidStatus _API Hid_AddExcludedImage(HidContext context, const wchar_t* imagePath, HidPsInheritTypes inheritType, HidObjId* objId)
|
||||||
{
|
{
|
||||||
HidStatus status;
|
HidStatus status;
|
||||||
wchar_t* normalized;
|
wchar_t* normalized;
|
||||||
@ -625,34 +628,34 @@ HidStatus Hid_AddExcludedImage(HidContext context, const wchar_t* imagePath, Hid
|
|||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
HidStatus Hid_RemoveExcludedImage(HidContext context, HidObjId objId)
|
HidStatus _API Hid_RemoveExcludedImage(HidContext context, HidObjId objId)
|
||||||
{
|
{
|
||||||
return SendIoctl_RemovePsObjectPacket((PHidContextInternal)context, PsExcludedObject, objId);
|
return SendIoctl_RemovePsObjectPacket((PHidContextInternal)context, PsExcludedObject, objId);
|
||||||
}
|
}
|
||||||
|
|
||||||
HidStatus Hid_RemoveAllExcludedImages(HidContext context)
|
HidStatus _API Hid_RemoveAllExcludedImages(HidContext context)
|
||||||
{
|
{
|
||||||
return SendIoctl_RemoveAllPsObjectsPacket((PHidContextInternal)context, PsExcludedObject);
|
return SendIoctl_RemoveAllPsObjectsPacket((PHidContextInternal)context, PsExcludedObject);
|
||||||
}
|
}
|
||||||
|
|
||||||
HidStatus Hid_GetExcludedState(HidContext context, HidProcId procId, HidActiveState* state, HidPsInheritTypes* inheritType)
|
HidStatus _API Hid_GetExcludedState(HidContext context, HidProcId procId, HidActiveState* state, HidPsInheritTypes* inheritType)
|
||||||
{
|
{
|
||||||
return SendIoctl_GetPsStatePacket((PHidContextInternal)context, procId, PsExcludedObject, state, inheritType);
|
return SendIoctl_GetPsStatePacket((PHidContextInternal)context, procId, PsExcludedObject, state, inheritType);
|
||||||
}
|
}
|
||||||
|
|
||||||
HidStatus Hid_AttachExcludedState(HidContext context, HidProcId procId, HidPsInheritTypes inheritType)
|
HidStatus _API Hid_AttachExcludedState(HidContext context, HidProcId procId, HidPsInheritTypes inheritType)
|
||||||
{
|
{
|
||||||
return SendIoctl_SetPsStatePacket((PHidContextInternal)context, procId, PsExcludedObject, HidActiveState::StateEnabled, inheritType);
|
return SendIoctl_SetPsStatePacket((PHidContextInternal)context, procId, PsExcludedObject, HidActiveState::StateEnabled, inheritType);
|
||||||
}
|
}
|
||||||
|
|
||||||
HidStatus Hid_RemoveExcludedState(HidContext context, HidProcId procId)
|
HidStatus _API Hid_RemoveExcludedState(HidContext context, HidProcId procId)
|
||||||
{
|
{
|
||||||
return SendIoctl_SetPsStatePacket((PHidContextInternal)context, procId, PsExcludedObject, HidActiveState::StateDisabled, HidPsInheritTypes::WithoutInherit);
|
return SendIoctl_SetPsStatePacket((PHidContextInternal)context, procId, PsExcludedObject, HidActiveState::StateDisabled, HidPsInheritTypes::WithoutInherit);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Process protect interface
|
// Process protect interface
|
||||||
|
|
||||||
HidStatus Hid_AddProtectedImage(HidContext context, const wchar_t* imagePath, HidPsInheritTypes inheritType, HidObjId* objId)
|
HidStatus _API Hid_AddProtectedImage(HidContext context, const wchar_t* imagePath, HidPsInheritTypes inheritType, HidObjId* objId)
|
||||||
{
|
{
|
||||||
HidStatus status;
|
HidStatus status;
|
||||||
wchar_t* normalized;
|
wchar_t* normalized;
|
||||||
@ -667,27 +670,27 @@ HidStatus Hid_AddProtectedImage(HidContext context, const wchar_t* imagePath, Hi
|
|||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
HidStatus Hid_RemoveProtectedImage(HidContext context, HidObjId objId)
|
HidStatus _API Hid_RemoveProtectedImage(HidContext context, HidObjId objId)
|
||||||
{
|
{
|
||||||
return SendIoctl_RemovePsObjectPacket((PHidContextInternal)context, PsProtectedObject, objId);
|
return SendIoctl_RemovePsObjectPacket((PHidContextInternal)context, PsProtectedObject, objId);
|
||||||
}
|
}
|
||||||
|
|
||||||
HidStatus Hid_RemoveAllProtectedImages(HidContext context)
|
HidStatus _API Hid_RemoveAllProtectedImages(HidContext context)
|
||||||
{
|
{
|
||||||
return SendIoctl_RemoveAllPsObjectsPacket((PHidContextInternal)context, PsProtectedObject);
|
return SendIoctl_RemoveAllPsObjectsPacket((PHidContextInternal)context, PsProtectedObject);
|
||||||
}
|
}
|
||||||
|
|
||||||
HidStatus Hid_GetProtectedState(HidContext context, HidProcId procId, HidActiveState* state, HidPsInheritTypes* inheritType)
|
HidStatus _API Hid_GetProtectedState(HidContext context, HidProcId procId, HidActiveState* state, HidPsInheritTypes* inheritType)
|
||||||
{
|
{
|
||||||
return SendIoctl_GetPsStatePacket((PHidContextInternal)context, procId, PsProtectedObject, state, inheritType);
|
return SendIoctl_GetPsStatePacket((PHidContextInternal)context, procId, PsProtectedObject, state, inheritType);
|
||||||
}
|
}
|
||||||
|
|
||||||
HidStatus Hid_AttachProtectedState(HidContext context, HidProcId procId, HidPsInheritTypes inheritType)
|
HidStatus _API Hid_AttachProtectedState(HidContext context, HidProcId procId, HidPsInheritTypes inheritType)
|
||||||
{
|
{
|
||||||
return SendIoctl_SetPsStatePacket((PHidContextInternal)context, procId, PsProtectedObject, HidActiveState::StateEnabled, inheritType);
|
return SendIoctl_SetPsStatePacket((PHidContextInternal)context, procId, PsProtectedObject, HidActiveState::StateEnabled, inheritType);
|
||||||
}
|
}
|
||||||
|
|
||||||
HidStatus Hid_RemoveProtectedState(HidContext context, HidProcId procId)
|
HidStatus _API Hid_RemoveProtectedState(HidContext context, HidProcId procId)
|
||||||
{
|
{
|
||||||
return SendIoctl_SetPsStatePacket((PHidContextInternal)context, procId, PsProtectedObject, HidActiveState::StateDisabled, HidPsInheritTypes::WithoutInherit);
|
return SendIoctl_SetPsStatePacket((PHidContextInternal)context, procId, PsProtectedObject, HidActiveState::StateDisabled, HidPsInheritTypes::WithoutInherit);
|
||||||
}
|
}
|
||||||
|
@ -7,6 +7,8 @@ typedef unsigned long long HidStatus;
|
|||||||
|
|
||||||
#define HID_SET_STATUS(state, code) (unsigned long long)((unsigned long long)code << 1 | (state ? 1 : 0))
|
#define HID_SET_STATUS(state, code) (unsigned long long)((unsigned long long)code << 1 | (state ? 1 : 0))
|
||||||
|
|
||||||
|
#define _API __cdecl
|
||||||
|
|
||||||
typedef void* HidContext;
|
typedef void* HidContext;
|
||||||
typedef HidContext* PHidContext;
|
typedef HidContext* PHidContext;
|
||||||
|
|
||||||
@ -37,42 +39,42 @@ enum HidRegRootTypes
|
|||||||
RegHKU
|
RegHKU
|
||||||
};
|
};
|
||||||
|
|
||||||
HidStatus Hid_Initialize(PHidContext pcontext);
|
HidStatus _API Hid_Initialize(PHidContext pcontext, const wchar_t* deviceName = 0);
|
||||||
void Hid_Destroy(HidContext context);
|
void _API Hid_Destroy(HidContext context);
|
||||||
|
|
||||||
HidStatus Hid_SetState(HidContext context, HidActiveState state);
|
HidStatus _API Hid_SetState(HidContext context, HidActiveState state);
|
||||||
HidStatus Hid_GetState(HidContext context, HidActiveState* pstate);
|
HidStatus _API Hid_GetState(HidContext context, HidActiveState* pstate);
|
||||||
|
|
||||||
// Fs\Reg
|
// Fs\Reg
|
||||||
|
|
||||||
HidStatus Hid_AddHiddenRegKey(HidContext context, HidRegRootTypes root, const wchar_t* regKey, HidObjId* objId);
|
HidStatus _API Hid_AddHiddenRegKey(HidContext context, HidRegRootTypes root, const wchar_t* regKey, HidObjId* objId);
|
||||||
HidStatus Hid_RemoveHiddenRegKey(HidContext context, HidObjId objId);
|
HidStatus _API Hid_RemoveHiddenRegKey(HidContext context, HidObjId objId);
|
||||||
HidStatus Hid_RemoveAllHiddenRegKeys(HidContext context);
|
HidStatus _API Hid_RemoveAllHiddenRegKeys(HidContext context);
|
||||||
|
|
||||||
HidStatus Hid_AddHiddenRegValue(HidContext context, HidRegRootTypes root, const wchar_t* regValue, HidObjId* objId);
|
HidStatus _API Hid_AddHiddenRegValue(HidContext context, HidRegRootTypes root, const wchar_t* regValue, HidObjId* objId);
|
||||||
HidStatus Hid_RemoveHiddenRegValue(HidContext context, HidObjId objId);
|
HidStatus _API Hid_RemoveHiddenRegValue(HidContext context, HidObjId objId);
|
||||||
HidStatus Hid_RemoveAllHiddenRegValues(HidContext context);
|
HidStatus _API Hid_RemoveAllHiddenRegValues(HidContext context);
|
||||||
|
|
||||||
HidStatus Hid_AddHiddenFile(HidContext context, const wchar_t* filePath, HidObjId* objId);
|
HidStatus _API Hid_AddHiddenFile(HidContext context, const wchar_t* filePath, HidObjId* objId);
|
||||||
HidStatus Hid_RemoveHiddenFile(HidContext context, HidObjId objId);
|
HidStatus _API Hid_RemoveHiddenFile(HidContext context, HidObjId objId);
|
||||||
HidStatus Hid_RemoveAllHiddenFiles(HidContext context);
|
HidStatus _API Hid_RemoveAllHiddenFiles(HidContext context);
|
||||||
|
|
||||||
HidStatus Hid_AddHiddenDir(HidContext context, const wchar_t* dirPath, HidObjId* objId);
|
HidStatus _API Hid_AddHiddenDir(HidContext context, const wchar_t* dirPath, HidObjId* objId);
|
||||||
HidStatus Hid_RemoveHiddenDir(HidContext context, HidObjId objId);
|
HidStatus _API Hid_RemoveHiddenDir(HidContext context, HidObjId objId);
|
||||||
HidStatus Hid_RemoveAllHiddenDirs(HidContext context);
|
HidStatus _API Hid_RemoveAllHiddenDirs(HidContext context);
|
||||||
|
|
||||||
// Ps
|
// Ps
|
||||||
|
|
||||||
HidStatus Hid_AddExcludedImage(HidContext context, const wchar_t* imagePath, HidPsInheritTypes inheritType, HidObjId* objId);
|
HidStatus _API Hid_AddExcludedImage(HidContext context, const wchar_t* imagePath, HidPsInheritTypes inheritType, HidObjId* objId);
|
||||||
HidStatus Hid_RemoveExcludedImage(HidContext context, HidObjId objId);
|
HidStatus _API Hid_RemoveExcludedImage(HidContext context, HidObjId objId);
|
||||||
HidStatus Hid_RemoveAllExcludedImages(HidContext context);
|
HidStatus _API Hid_RemoveAllExcludedImages(HidContext context);
|
||||||
HidStatus Hid_GetExcludedState(HidContext context, HidProcId procId, HidActiveState* state, HidPsInheritTypes* inheritType);
|
HidStatus _API Hid_GetExcludedState(HidContext context, HidProcId procId, HidActiveState* state, HidPsInheritTypes* inheritType);
|
||||||
HidStatus Hid_AttachExcludedState(HidContext context, HidProcId procId, HidPsInheritTypes inheritType);
|
HidStatus _API Hid_AttachExcludedState(HidContext context, HidProcId procId, HidPsInheritTypes inheritType);
|
||||||
HidStatus Hid_RemoveExcludedState(HidContext context, HidProcId procId);
|
HidStatus _API Hid_RemoveExcludedState(HidContext context, HidProcId procId);
|
||||||
|
|
||||||
HidStatus Hid_AddProtectedImage(HidContext context, const wchar_t* imagePath, HidPsInheritTypes inheritType, HidObjId* objId);
|
HidStatus _API Hid_AddProtectedImage(HidContext context, const wchar_t* imagePath, HidPsInheritTypes inheritType, HidObjId* objId);
|
||||||
HidStatus Hid_RemoveProtectedImage(HidContext context, HidObjId objId);
|
HidStatus _API Hid_RemoveProtectedImage(HidContext context, HidObjId objId);
|
||||||
HidStatus Hid_RemoveAllProtectedImages(HidContext context);
|
HidStatus _API Hid_RemoveAllProtectedImages(HidContext context);
|
||||||
HidStatus Hid_GetProtectedState(HidContext context, HidProcId procId, HidActiveState* state, HidPsInheritTypes* inheritType);
|
HidStatus _API Hid_GetProtectedState(HidContext context, HidProcId procId, HidActiveState* state, HidPsInheritTypes* inheritType);
|
||||||
HidStatus Hid_AttachProtectedState(HidContext context, HidProcId procId, HidPsInheritTypes inheritType);
|
HidStatus _API Hid_AttachProtectedState(HidContext context, HidProcId procId, HidPsInheritTypes inheritType);
|
||||||
HidStatus Hid_RemoveProtectedState(HidContext context, HidProcId procId);
|
HidStatus _API Hid_RemoveProtectedState(HidContext context, HidProcId procId);
|
||||||
|
@ -860,7 +860,7 @@ int wmain(int argc, wchar_t* argv[])
|
|||||||
HidContext hid_context;
|
HidContext hid_context;
|
||||||
HidStatus hid_status;
|
HidStatus hid_status;
|
||||||
|
|
||||||
srand(time(0));
|
srand((int)time(0));
|
||||||
|
|
||||||
hid_status = Hid_Initialize(&hid_context);
|
hid_status = Hid_Initialize(&hid_context);
|
||||||
if (!HID_STATUS_SUCCESSFUL(hid_status))
|
if (!HID_STATUS_SUCCESSFUL(hid_status))
|
||||||
|
@ -147,7 +147,7 @@
|
|||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
<OptimizeReferences>true</OptimizeReferences>
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
<AdditionalDependencies>HiddenLib.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>HiddenLib.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<AdditionalLibraryDirectories>$(SolutionDir)$(Configuration)\</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>$(SolutionDir)x64\$(Configuration)\</AdditionalLibraryDirectories>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
Loading…
Reference in New Issue
Block a user