native api 之 注册表

xiaoxiao2021-02-28  7

注册表写入,使用WIN32 api 只能写入字符串,若以 '\0' 为起始字符,WIN32 API便不能使用了。

最近看见一篇文章,此文阐述了有关于以 '\0' 为起始字符的字符串作位注册表键名的, 此功能可对注册表键名进行隐藏。

HINSTANCE hinstStub = GetModuleHandle(_T("ntdll.dll")); // 获取ntdll.dll模块句柄 NtOpenKey = (LPNTOPENKEY)GetProcAddress(hinstStub, "NtOpenKey"); // 获取NtOpenKey函数地址其中结构体 NTOPENKEY结构细节如下:

typedef NTSTATUS (STDAPICALLTYPE NTOPENKEY) { IN HANDLE KeyHandle, IN ULONG DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes }; typedef NTOPENKEY FAR * LPNTOPENKEY;具体使用方法可学习:

1、微软MSDN :  https://msdn.microsoft.com/en-us/library/windows/hardware/ff567122(v=vs.85).aspx 2、Dan Madden 代码 : https://www.codeproject.com/Articles/14508/Registry-Manipulation-Using-NT-Native-APIs

转载请注明原文地址: https://www.6miu.com/read-2100288.html

最新回复(0)