双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

请问RegQueryValueEX这个函数读REG_SZ值是乱码是怎么回事

mortimer7866 mortimer7866 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
在最后一步输出的时候程序停止运行,单步调试发现读出的data中是乱码,请大神帮忙解决
#include <windows.h>
#include <string>
#include <iostream>
using namespace std;

string GetVal(HKEY hKey, LPCTSTR lpValue) //读取当前注册表键值
{
string data;
DWORD size = 200;
DWORD type = REG_SZ;
LONG nError = RegQueryValueEx(hKey, lpValue, NULL, &type, (LPBYTE)&data, &size);

if (nError == ERROR_FILE_NOT_FOUND)
data = "file not found"; // The value will be created and set to data next time SetVal() is called.
else if (nError)
return "read error";
/*cout << "Error: " << nError << " Could not get registry value " << (char*)lpValue << endl;*/

return data;
}

int main()
{
HKEY hKey;
RegOpenKeyEx(HKEY_LOCAL_MACHINE, L"SYSTEM\\CurrentControlSet\\Control\\Class\\{4d36e972-e325-11ce-bfc1-08002be10318}\\0000", 0, KEY_WOW64_64KEY | KEY_ALL_ACCESS, &hKey);
cout<<GetVal(hKey, L"DriverDesc")<<endl;
}
...全文

相关推荐

深入解析OutLook帐户密码的注册表读取与解密技术

本文深入探讨了如何通过编程方式从Windows注册表中定位并读取Outlook帐户密码的加密数据,并利用系统DPAPI的CryptUnprotectData函数进行解密。文章详细解析了注册表路径的构成、二进制数据的读取方法以及解密过程中的关键细节与常见陷阱,旨在为安全研究、数据恢复等合法场景提供技术参考。

不懂就承认

Windows注册表二进制数据解析:逆向工程中的核心技能与实战指南

在Windows系统管理与安全分析领域,注册表作为核心配置数据库,存储着软件设置、系统配置等关键信息。其中REG_BINARY类型的二进制数据,因其原始字节序列的特性,常被视为难以解读的‘黑盒’。理解其解析原理,需要掌握数据编码、字节序、结构体序列化等基础概念。这项技术的核心价值在于,它能直接揭示程序在底层的真实行为,是破解软件保护机制、分析恶意代码、恢复系统配置的关键。在逆向工程、恶意软件分析、软件调试等应用场景中,系统化地解析二进制数据,能帮助分析师从‘观察现象’跨越到‘理解本质’。本文聚焦于**注册表

weixin_33908217

Navicat密码逆向工程:AES-256-CBC加密原理与本地凭据安全实践

在数据库管理和软件开发领域,本地凭据的安全存储是一个常见且关键的工程问题。对称加密算法如AES(高级加密标准)是保护敏感信息的核心技术,其CBC(密码分组链接)模式通过引入初始化向量(IV)增强了数据安全性。理解加密原理不仅有助于实现安全的数据存储方案,还能在密码恢复、配置迁移等场景中提供技术支撑。本文聚焦于Navicat这一广泛使用的数据库管理工具,深入剖析其本地密码存储机制,揭示其如何运用AES-256-CBC算法对连接密码进行加密。通过逆向工程方法,我们将探讨固定密钥派生的实现细节,并展示如何构建一个

林尧彬

国央企创新负责人如何构建多维度的科技资源评价与配置体系?.docx

国央企创新负责人如何构建多维度的科技资源评价与配置体系?

BIZKEEN

《移动通信系统》全套PPT课件2026(西安电子科技大学)

《移动通信系统》全套PPT课件2026(西安电子科技大学)

书阁酷
评论 9
收藏 已收藏
分享
返回顶部
mortimer7866
C语言 70,039 成员 243,237 内容