You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MASM中调用RegOpenKeyExA返回错误998 ERROR_NOACCESS的问题求助

MASM中调用RegOpenKeyExA返回错误998 ERROR_NOACCESS的问题求助

各位前辈好,我最近在写一个MASM程序,想给我的exe文件添加开机自启的注册表项,但调用RegOpenKeyExA时一直返回错误998(ERROR_NOACCESS),折腾了好久都没找到问题所在,麻烦帮忙看看我的代码哪里出问题了?

我的代码片段如下:

; Set hKey with RegOpenKeyExA
Xor Ecx, Ecx
Lea Ebx, [Ebp - 52H]
Push Ebx                        ; phkResult
Push 2H                         ; samDesired = KEY_SET_VALUE
Push Ecx                        ; ulOptions = NULL
Mov Cl, 6EH
Push Ecx
Push 75525C6EH
Push 6F697372H
Push 6556746EH
Push 65727275H
Push 435C7377H
Push 6F646E69H
Push 575C7466H
Push 6F736F72H
Push 63694D5CH
Push 65726177H
Push 74666F53H
Push Esp                        ; lpSubkey = Software\Microsoft\Windows\CurrentVersion\Run
Push 80000001H                  ; hKey = HKEY_CURRENT_USER
Mov Eax, [Ebp - 34H]
Call Eax                        ; Call RegOpenKeyEx
Lea Edi, [Ebp - 52H]

Mov Eax, [Ebp - 3CH]
Lea Edx, [Ebp - 200H]           ; Pointer to buffer that stores exe path
Push Edx
Call Eax                        ; Call lstrlenA

; RegSetValueExA
Xor Ecx, Ecx
Push Eax                        ; cbData
Lea Eax, [Ebp - 200H]
Push Eax

我自己排查了一下,猜测可能是注册表路径的构造有问题?或者是栈对齐、参数传递的问题?毕竟ERROR_NOACCESS是内存访问权限错误,但我实在定位不到具体错误点,有没有大佬能给点思路?

备注:内容来源于stack exchange,提问作者Hưng Bạch

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.17 08:45:30