win32asm, read write windows registry


ref : https://jakash3.wordpress.com/2010/07/23/fasm-tutorial-16-32-bit/
test, done

format PE GUI 4.0

include "Win32A.Inc"
;include 'api\kernel32.inc'
include 'api\user32.inc'

entry start

section ".idata" import data readable writable

        library  kernel32,      "kernel32.dll",\
                 advapi32,      "advapi32.dll",\
                 user32,"USER32.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
lpValueName     db "Text File",0
lpData          db "C:\File.txt",0
phkresult       dd ?



szMsg   db "no error",13,13
        db 0
szDlgTitle db "Registry read write test",0


section ".code" code readable executable

start:

        invoke  RegOpenKeyExA, HKEY_CURRENT_USER, sKey, 0, KEY_SET_VALUE, phkresult
;        cmp eax, 0 ; ERROR_SUCCESS
;        jnz nomsg
;        invoke MessageBox, 0, szMsg, szDlgTitle, 0
;nomsg:
        invoke  lstrlen, lpData ; eax = lenght of lpData
        invoke  RegSetValueEx, [phkresult], lpValueName, 0, REG_SZ, lpData, eax
;        cmp eax, 0 ; !ERROR_SUCCESS
;        jnz nomsg1
;        invoke MessageBox, 0, szMsg, szDlgTitle, 0
;nomsg1:
        invoke  RegCloseKey, [phkresult]

exit:
        invoke  ExitProcess, 0

廣告

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s