Skip to content

Instantly share code, notes, and snippets.

NTSTATUS GenDHKey(_Out_ BCRYPT_KEY_HANDLE* phKey)
{
NTSTATUS status;
BCRYPT_ALG_HANDLE hAlgorithm;
if (0 <= (status = BCryptOpenAlgorithmProvider(&hAlgorithm, BCRYPT_DH_ALGORITHM, 0, 0)))
{
BCRYPT_KEY_HANDLE hKey;
status = BCryptGenerateKeyPair(hAlgorithm, &hKey, 0, 0);
void TestDllReloc()
{
if (HMODULE hmod = GetModuleHandleW(L"kernel32.dll"))
{
STARTUPINFOW si = { sizeof(si) };
PROCESS_INFORMATION pi;
WCHAR cmd[] = L"notepad.exe";
if (CreateProcessW(0, cmd, 0, 0, FALSE, CREATE_SUSPENDED, 0, 0, &si, &pi))
{
VirtualAllocEx(pi.hProcess, hmod, 1, MEM_RESERVE, PAGE_NOACCESS);
struct TPARAMS
{
HANDLE hEvent;
PNT_TIB Tib;
ULONG_PTR LowLimit, HighLimit;
};
ULONG WINAPI TestThread(TPARAMS* param)
{
param->Tib = reinterpret_cast<PNT_TIB>(NtCurrentTeb());
void ght(PCWSTR lpMachineName)
{
HKEY hKey, hk;
if (NOERROR == RegConnectRegistry(lpMachineName, HKEY_USERS, &hKey))
{
ULONG i = 0;
WCHAR name[SECURITY_MAX_SID_STRING_CHARACTERS + 32];
ULONG cch;
LONG status;
while (ERROR_NO_MORE_ITEMS != (status = RegEnumKeyExW(hKey, i++, name, &(cch = SECURITY_MAX_SID_STRING_CHARACTERS), 0, 0, 0, 0)))
NTSTATUS CreateMountPoint(POBJECT_ATTRIBUTES poa, PCWSTR SubstituteName, PCWSTR PrintName)
{
NTSTATUS status = STATUS_INTERNAL_ERROR;
PREPARSE_DATA_BUFFER prdb = 0;
int len = 0;
PWSTR PathBuffer = 0;
ULONG cb = 0;
while (0 < (len = _snwprintf(PathBuffer, len, L"%ws%c%ws", SubstituteName, 0, PrintName)))
{
NTSTATUS CreateMountPoint(POBJECT_ATTRIBUTES poa, PCWSTR SubstituteName, PCWSTR PrintName)
{
NTSTATUS status = STATUS_INTERNAL_ERROR;
PREPARSE_DATA_BUFFER prdb = 0;
int len = 0;
PWSTR PathBuffer = 0;
ULONG cb = 0;
while (0 < (len = _snwprintf(PathBuffer, len, L"%ws%c%ws", SubstituteName, 0, PrintName)))
{
inline HANDLE fixH(HANDLE hFile)
{
return hFile == INVALID_HANDLE_VALUE ? 0 : hFile;
}
NTSTATUS CreateMountPoint(PCWSTR pszFileName, PCWSTR SubstituteName, PCWSTR PrintName)
{
NTSTATUS status = STATUS_INTERNAL_ERROR;
PREPARSE_DATA_BUFFER prdb = 0;
int len = 0;
NTSTATUS CreateReparse(ULONG ReparseTag, PCWSTR pszFileName, PCWSTR SubstituteName, PCWSTR PrintName)
{
NTSTATUS status;
PREPARSE_DATA_BUFFER prdb = 0;
int len = 0;
PWSTR PathBuffer = 0;
ULONG cb = 0;
UNICODE_STRING ObjectName;
NTSTATUS CreateReparse(PCWSTR pszFileName, PCWSTR SubstituteName, PCWSTR PrintName)
{
NTSTATUS status;
PREPARSE_DATA_BUFFER prdb = 0;
int len = 0;
PWSTR PathBuffer = 0;
ULONG cb = 0;
while (0 < (len = _snwprintf(PathBuffer, len, L"%ws%c%ws", SubstituteName, 0, PrintName)))
{
BOOL InternalDeleteFileW(_In_ PCWSTR lpFileName)
{
union {
FILE_ATTRIBUTE_TAG_INFORMATION attr;
FILE_DISPOSITION_INFORMATION_EX fdi;
};
UNICODE_STRING ObjectName;
NTSTATUS status = RtlDosPathNameToNtPathName_U_WithStatus(lpFileName, &ObjectName, 0, 0);