ايران ويج

نسخه‌ی کامل: مشکل با RegEnumValue در اسمبلی
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
با سلام

چرا این فروم به این گندگی هیچ قسمتی برای اسمبلی نداره؟

بگزریم، من از RegEnumValue می خوام استفاده کنم ولی درست کار نمیکنه میشه بگین مشکل چیه
البته کد خیلی کامل نیست خروجی هم نداره فقط می خوام تمام مقادری کلید Run بره تو szName
ممنون میشم راهنمایی کنید

کد:
..386
.model flat, stdcall
option casemap:none

include windows.inc
include user32.inc
include kernel32.inc
include advapi32.inc

includelib user32.lib
includelib kernel32.lib
includelib advapi32.lib

.data
    szRegSubKey        DB        "SOFTWARE\Microsoft\Windows\CurrentVersion\Run", 0
    regIndex        DD        0
    szNameLen        DB        30
    szValueLen        DB        100

.data?
    hKey            HKEY    ?
    szNmae            DB        1500 DUP(?)        ; each name szie 30 byte
    szValue            DB        5000 DUP(?)        ; each value szie 100 byte
    
.code
start:
    invoke    RegOpenKeyEx, HKEY_LOCAL_MACHINE, ADDR szRegSubKey, NULL, KEY_READ, ADDR hKey
    mov        edx, [regIndex]
    mov        esi, offset szNmae
    mov        edi, offset szValue    
    .IF eax == ERROR_SUCCESS
        invoke    RegEnumValue, hKey, edx, esi, ADDR szNameLen, NULL,  NULL, edi, ADDR szValueLen
        .IF eax == ERROR_SUCCESS
            inc        [regIndex]
            mov        edx, [regIndex]        
            add        esi, 30
            add        edi, 100
            .while eax != ERROR_NO_MORE_ITEMS
                invoke    RegEnumValue, hKey, edx, esi, ADDR szNameLen, NULL,  NULL, edi, ADDR szValueLen
                add        esi, 30
                add        edi, 100
                inc        [regIndex]
                mov        edx, [regIndex]    
            .ENDW
        .ENDIF
    .ENDIF
    
    invoke    RegCloseKey, hKey

end start