by Nir Sofer (3 Submissions)
Category: Encryption
Compatability: VB 6.0
Difficulty: Unknown Difficulty
Originally Published: Thu 23rd May 2002
Date Added: Mon 8th February 2021
Rating: (1 Votes)
The following function (EnumPasswords) scans all opened windows, and reveals the passwords behind the password text-boxes (with asterisks
API Declarations
'Written by Nir Sofer
'Web site: http://nirsoft.cjb.net
'
'The following code sample scans all opened windows, and reveals the passwords
'behind the password text-boxes (with asterisks '***').
'This code sample works properly only on Windows 95/98/ME/NT. It doesn't work on Windows 2000/XP.
'
Public Declare Function EnumWindows Lib "user32" (ByVal lpEnumFunc As Long, ByVal lParam As Long) As Long
Public Declare Function EnumChildWindows Lib "user32" (ByVal hWndParent As Long, ByVal lpEnumFunc As Long, ByVal lParam As Long) As Long
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Public Type POINTAPI
x As Long
y As Long
End Type
Public Type MSG
hwnd As Long
message As Long
wParam As Long
lParam As Long
time As Long
pt As POINTAPI
End Type
Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Public Const GWL_STYLE = (-16)
Public Const ES_PASSWORD = &H20&
Public Const EM_SETPASSWORDCHAR = &HCC
Public Declare Function InvalidateRect Lib "user32" (ByVal hwnd As Long, lpRect As Any, ByVal bErase As Long) As Long
Public Declare Function UpdateWindow Lib "user32" (ByVal hwnd As Long) As Long
If (GetWindowLong(hwnd, GWL_STYLE) And ES_PASSWORD) <> 0 Then
'Clear the password character
SendMessage hwnd, EM_SETPASSWORDCHAR, 0, 0
'Repaint the window
InvalidateRect hwnd, ByVal 0, 0
UpdateWindow hwnd
End If
EnumChildWindowsProc = 1
End Function
Private Function EnumWindowsProc(ByVal hwnd As Long, ByVal lParam As Long) As Long
'Enumerating all child windows.
EnumChildWindows hwnd, AddressOf EnumChildWindowsProc, 0
EnumWindowsProc = 1
End Function
Public Sub EnumPasswords()
'Enumerating all top-level windows.
EnumWindows AddressOf EnumWindowsProc, 0
End Sub
No comments have been posted about The following function (EnumPasswords) scans all opened windows, and reveals the passwords behind t. Why not be the first to post a comment about The following function (EnumPasswords) scans all opened windows, and reveals the passwords behind t.