Api 财经事务及库务局局长-加入成立香港大学
我正试图通过在“SOFTWARE\Microsoft\Windows\CurrentVersion\Run”中添加一个条目,将我的FASM应用程序添加到系统启动中 我正在使用以下API: RegOpenKeyExA RegSetValueExA RegCloseKey 在advapi32.dll中 当我的代码运行时,永远不会创建条目。这是我的密码:Api 财经事务及库务局局长-加入成立香港大学,api,registry,startup,fasm,advapi32,Api,Registry,Startup,Fasm,Advapi32,我正试图通过在“SOFTWARE\Microsoft\Windows\CurrentVersion\Run”中添加一个条目,将我的FASM应用程序添加到系统启动中 我正在使用以下API: RegOpenKeyExA RegSetValueExA RegCloseKey 在advapi32.dll中 当我的代码运行时,永远不会创建条目。这是我的密码: format PE GUI 4.0 include "Win32A.Inc" entry start section ".idata" impor
format PE GUI 4.0
include "Win32A.Inc"
entry start
section ".idata" import data readable writable
library kernel32, "kernel32.dll",\
advapi32, "advapi32.dll"
import kernel32,\
lstrlen, "lstrlenA",\
ExitProcess, "ExitProcess"
import advapi32,\
RegOpenKeyExA, "RegOpenKeyExA",\
RegSetValueEx, "RegSetValueExA",\
RegCloseKey, "RegCloseKey"
section ".data" data readable writeable
sKey db "SOFTWARE\Microsoft\Windows\CurrentVersion\Run",0
lpData db "C:\File.txt",0
lpValueName db "Text File"
phkresult dd ?
section ".code" code readable executable
start:
invoke RegOpenKeyExA, HKEY_CURRENT_USER, sKey, 0, KEY_SET_VALUE, phkresult
invoke lstrlen, lpData
invoke RegSetValueEx, phkresult, lpValueName, 0, REG_SZ, lpData, eax
invoke RegCloseKey, phkresult
exit:
invoke ExitProcess, 0
我不明白为什么我的条目没有被添加到注册表中。在此问题上的任何帮助都将不胜感激
尝试使用OllyDbg并得出以下结论: 我不知道为什么会出现拒绝访问错误。RegOpenKeyExA返回错误\u成功
事实证明,它正在将自身添加到启动中,但在RegEdit中不可见,仅在MSConfig..wird..?当您调用
RegSetValueEx
时,您传递的是phkresult
的地址,而不是它的值
那么,试试这样的方法:
invoke RegOpenKeyExA, HKEY_CURRENT_USER, sKey, 0, KEY_SET_VALUE, phkresult
invoke lstrlen, lpData
invoke RegSetValueEx, [phkresult], lpValueName, 0, REG_SZ, lpData, eax
invoke RegCloseKey, [phkresult]
尽管如此,这仍然没有解决问题,但我还是很感谢大家的回应。我正在使用您的代码和我以前的代码检查api调用=ERROR\u SUCCESS(或0)和RegOpenKeyExA调用是否成功,但RegSetValueEx没有。我不确定如何检查结果的准确值,除了使用:cmp eax,错误代码,但有许多不同的错误代码…因此需要一段时间。有没有一种方法可以直接显示错误代码?最简单的方法是使用调试器,否则您必须以某种方式编程数字到文本的转换以及此文本的输出。等等,您没有使用调试器?使用调试器进行调试要容易得多。等等,调试器不是吗?!:-)@Serge我使用了OllyDbg,它说最后一个错误是错误访问被拒绝,这对我来说毫无意义。RegOpenKeyExA返回错误\u成功,我无法访问HKLM。此错误不应有任何原因。。?