我試圖讓我的FASM的應用程序自身添加到系統啓動時通過添加「SOFTWARE \微軟\的Windows \ CurrentVersion \ Run中」的條目FASM - 添加到啓動HKCU
我使用以下API的:
RegOpenKeyExA
RegSetValueExA
RegCloseKey
在ADVAPI32.DLL
當我的代碼運行時,從未創建條目。這是我的代碼:
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返回ERROR_SUCCESS
原來它本身添加到啓動,但在註冊表編輯器不visable,只有在MSConfig..weird ..?
嘗試檢查錯誤代碼。 –