native api 之 注册表

注册表写入,使用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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值