ULONG KPeriscopeClient::Read(void * dst, const void * src, unsigned len) { unsigned cmd[2] = { (unsigned) src, len }; unsigned long dwRead = 0; IoControl(IOCTL_PERISCOPE, cmd, sizeof(cmd), dst, len, &dwRead); return dwRead; }
PUCHAR GetPNbyET(UINT64 ethread) { PUCHAR y = (PUCHAR)malloc(16); IoControl(hMyDrv ,CTL_CODE_GEN(0x7FF), ðread, 8, y, 16); return y; }
void WKM(UINT64 Address, PVOID Buffer, SIZE_T Length) { IoControl(hMyDrv ,CTL_CODE_GEN(0x809), &Address, 8, NULL, 0); //address IoControl(hMyDrv ,CTL_CODE_GEN(0x80A), &Length, 8, NULL, 0); //length IoControl(hMyDrv ,CTL_CODE_GEN(0x805), Buffer, Length, NULL, 0); //set buffer }