Code:'CoreFTP Recovery by skilled 'I dont know about the Password Encryption so i did it without 'Contact me if u know how to decrypt the Passwords (ICQ:665514)(MSN:tixPP@hotmail.com) 'Leave Credits if u use this ;) ' 'Usage : MsgBox sCoreFTP ' Private Declare Function RegOpenKeyEx Lib "advapi32" Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSusKeys As String, ByVal ulOptions As Long, ByVal samDesired As Long, phkResult As Long) As Long Private Declare Function RegQueryValueEx Lib "advapi32" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long Private Declare Function RegQueryInfoKey Lib "advapi32.dll" Alias "RegQueryInfoKeyA" (ByVal hKey As Long, ByVal lpClass As String, lpcbClass As Long, ByVal lpReserved As Long, lpcSusKeyss As Long, lpcbMaxSusKeysLen As Long, lpcbMaxClassLen As Long, lpcValues As Long, lpcbMaxValueNameLen As Long, lpcbMaxValueLen As Long, lpcbSecurityDescriptor As Long, lpftLastWriteTime As Long) As Long Private Declare Function RegEnumKeyEx Lib "advapi32.dll" Alias "RegEnumKeyExA" (ByVal hKey As Long, ByVal dwIndex As Long, ByVal lpName As String, lpcbName As Long, ByVal lpReserved As Long, ByVal lpClass As String, lpcbClass As Long, lpftLastWriteTime As Long) As Long Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long Private Sub RegQueryAllKeys(mainkey As Long, SusKeys As String, KeyArray() As String) Dim i As Long Dim rc As Long Dim hKey As Long Dim KeyMaxIndex As Long Dim KeyMaxNameLen As Long Dim KeyCurrNameLen As Long rc = RegOpenKeyEx(&H80000001, SusKeys, 0, KEY_ALL_ACCESS, hKey) rc = RegQueryInfoKey(hKey, 0, 0, 0, KeyMaxIndex, KeyMaxNameLen, 0, 0, 0, 0, 0, 0) KeyMaxNameLen = KeyMaxNameLen + 1 ReDim KeyArray(0 To KeyMaxIndex) As String For i = 1 To KeyMaxIndex KeyArray(i) = Space(KeyMaxNameLen) KeyCurrNameLen = KeyMaxNameLen rc = RegEnumKeyEx(hKey, i - 1, KeyArray(i), KeyCurrNameLen, 0, 0, 0, 0) KeyArray(i) = Left(KeyArray(i), KeyCurrNameLen) Next rc = RegCloseKey(hKey) End Sub Private Function sCoreFtp() As String Dim Result As Long Dim hKey As Long Dim dwType As Long Dim Lng As Long Dim l As Long Dim Buffer As String Dim x As Integer Dim i As Integer Dim sKeys() As String Dim sData(2) As String sData(0) = "Host" sData(1) = "User" sData(2) = "PW" Call RegQueryAllKeys(0, "Software\FTPWare\COREFTP\Sites", sKeys) For i = 1 To UBound(sKeys) For x = 0 To 2 Result = RegOpenKeyEx(&H80000001, "Software\FTPWare\COREFTP\Sites\" & sKeys(i) & "\", 0, &H1, hKey) If Result = 0 Then Result = RegQueryValueEx(hKey, sData(x), 0&, dwType, ByVal 0&, l) If Result = 0 Then Buffer = Space$(l + 1) Result = RegQueryValueEx(hKey, sData(x), 0&, dwType, ByVal Buffer, l) If Result = 0 Then Buffer = Replace(Buffer, Chr(0), vbNullString) Buffer = Replace(Buffer, Chr(32), vbNullString) Select Case x Case 0 sCoreFtp = sCoreFtp & "Host : " & Buffer & vbNewLine Case 1 sCoreFtp = sCoreFtp & "User : " & Buffer & vbNewLine Case 2 sCoreFtp = sCoreFtp & "Pass : " & Buffer & vbNewLine & String(25, "-") & vbNewLine End Select End If End If End If If Result = 0 Then Result = RegCloseKey(hKey) Next Next End Function