۰۴-آذر-۱۳۸۶, ۲۳:۳۶:۳۶
با سلام
چرا این فروم به این گندگی هیچ قسمتی برای اسمبلی نداره؟
بگزریم، من از RegEnumValue می خوام استفاده کنم ولی درست کار نمیکنه میشه بگین مشکل چیه
البته کد خیلی کامل نیست خروجی هم نداره فقط می خوام تمام مقادری کلید Run بره تو szName
ممنون میشم راهنمایی کنید
چرا این فروم به این گندگی هیچ قسمتی برای اسمبلی نداره؟
بگزریم، من از 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