FASM - Adding to Start Up HKCU
- by Josh Line
I am trying to make my FASM application add itself to the system start up by adding an entry in "SOFTWARE\Microsoft\Windows\CurrentVersion\Run"
I am using the following API's:
RegOpenKeyExA
RegSetValueExA
RegCloseKey
In advapi32.dll
When my code is ran, the entry is never created. Here is my code:
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   
I am not understanding as to why my entry is not being added in the registry. Any help on this issue would be greatly appreciated.