|
发表于 2015-9-20 20:36:58
|
显示全部楼层
广东省佛山市
看了下源码 取字节集中 调用了API:RegQueryValueExA来获取注册表值 来看下DLL说明吧
.DLL命令 RegQueryValueExA, 整数型, "advapi32.dll", "RegQueryValueExA", 公开, _注册表_取值获取一个项的设置值 零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码
.参数 hKey, 整数型, , 一个已打开项的句柄,或者指定一个标准项名
.参数 lpValueName, 文本型, , 要获取值的名字
.参数 lpReserved, 整数型, , 未用,设为零
.参数 lpType, 整数型, 传址, 用于装载取回数据类型的一个变量
.参数 lpData, 字节集, 传址, 用于装载指定值的一个缓冲区
.参数 lpcbData, 整数型, 传址, 用于装载lpData缓冲区长度的一个变量。一旦返回,它会设为实际装载到缓冲区的字节数;
| | - 关闭
- [url=]上传图片[/url]
- [url=]相册图片[/url]
- [url=]网络图片[/url]
|
参数:lpType(用于装载取回数据类型的一个变量) 这是取数据类型的所以要传址也非传值 也就是我们的取字节集的参数三:类型
而你提到模块源码中 注册表操作.DWORD值 取二进制值 取多字符串值 等等... 他又调用了这个 ”取字节集”
他取字节集 参数三填了4 这是无意义 而这4提供的非指针 你又在配置选项中勾选了 严格的参数参考传递检查所以会提示 XXXXXXXX所提供的地址无法传递过去
|
|