VB 5/6-Tipp 0044: Von Windows zwischengespeicherte Paßwörter auslesen
von ActiveVB
Beschreibung
Verschiedene windowsspezifische Paßwörter, wie die der DFÜ-Verbindungen oder des Internet-Explorers können vom Anwender zwischengespeichert, und vom VB-Programmierer ausgelesen werden. Das läuft relativ unkompliziert:
Schwierigkeitsgrad: | Verwendete API-Aufrufe: WNetEnumCachedPasswords | Download: |
'Dieser Quellcode stammt von http://www.activevb.de 'und kann frei verwendet werden. Für eventuelle Schäden 'wird nicht gehaftet. 'Um Fehler oder Fragen zu klären, nutzen Sie bitte unser Forum. 'Ansonsten viel Spaß und Erfolg mit diesem Source! '------------- Anfang Projektdatei Project1.vbp ------------- '--------- Anfang Formular "Form1" alias Form1.frm --------- ' Steuerelement: Listen-Steuerelement "List1" Option Explicit Private Sub Form_Load() Call Paßwörter End Sub '---------- Ende Formular "Form1" alias Form1.frm ---------- '--------- Anfang Modul "Module1" alias Module1.bas --------- Option Explicit Declare Function WNetEnumCachedPasswords Lib "mpr.dll" _ (ByVal s As String, ByVal i As Integer, ByVal b _ As Byte, ByVal proc As Long, ByVal l As Long) As Long Type PAßWORT_TYPE Eintrag As Integer Quelle As Integer Paßwort As Integer i As Byte nT As Byte Feld(1 To 1024) As Byte End Type Public Function CallBack(Ret As PAßWORT_TYPE, ByVal l&) As Integer Dim X%, AA$, Quelle$, Paßwort$ For X = 1 To Ret.Quelle If Ret.Feld(X) <> 0 Then Quelle = Quelle & Chr$(Ret.Feld(X)) Else Quelle = Quelle & " " End If Next X For X = Ret.Quelle + 1 To (Ret.Quelle + Ret.Paßwort) If Ret.Feld(X) <> 0 Then Paßwort = Paßwort & Chr$(Ret.Feld(X)) Else Paßwort = Paßwort & " " End If Next X Form1.List1.AddItem " Q: " & Quelle & " P: " & Paßwort CallBack = True End Function Public Sub Paßwörter() Call WNetEnumCachedPasswords("", 0&, &HFF, AddressOf CallBack, 0&) End Sub '---------- Ende Modul "Module1" alias Module1.bas ---------- '-------------- Ende Projektdatei Project1.vbp --------------
Tipp-Kompatibilität:
Windows/VB-Version | Win32s | Win95 | Win98 | WinME | WinNT4 | Win2000 | WinXP |
VB4 | |||||||
VB5 | |||||||
VB6 |
Ihre Meinung
Falls Sie Fragen zu diesem Artikel haben oder Ihre Erfahrung mit anderen Nutzern austauschen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.
Archivierte Nutzerkommentare
Klicken Sie diesen Text an, wenn Sie die 11 archivierten Kommentare ansehen möchten.
Diese stammen noch von der Zeit, als es noch keine direkte Forenunterstützung für Fragen und Kommentare zu einzelnen Artikeln gab.
Aus Gründen der Vollständigkeit können Sie sich die ausgeblendeten Kommentare zu diesem Artikel aber gerne weiterhin ansehen.
Kommentar von Joh. Hermann Schwering am 12.12.2008 um 14:09
Laufzeitfehler 453
DLL Einsprungpunkt WNetEnumCachedPasswords
in mpr.dll nicht gefunden
mpr.dll ist vorhanden
Kommentar von Ali am 21.10.2005 um 18:54
Ich habe auch ein Programm installiert dass diese Nachricht gibt wie kann ich das Problem lösen?
Benutze Windows XP Home Edition SP2 und hab auch auf SP1 versucht , ging aber trotzdem nicht.
Könnten Sie mir vielleicht behilflich sein?
Wäre sehr nett
Danke
Kommentar von Philipp am 27.11.2003 um 16:45
Fals es noch jemanden interessiert so wie es aussieht gibt es den dll_Einsprungspunkt WNetEnumCachedPasswords in der mpl.dll nicht!
Kommentar von Philipp am 27.12.2002 um 13:55
Die Funktion WNetEnumCachedPasswords gibt es einfach in Windows NT und damit 2000 und XP nicht! Deshalb funktioniert dieser Tipp auch nur unter Win 9x; wäre ja auch irgendwie blöd, wenn man in dem "sicheren Netzwerkbetriebssystem" Win2k einfach so die gespeicherten Passwörter auslesen könnte ;-)
Warum das in ME nicht klappt - keine Ahnung. Vielleicht hat MS da diese Funktion einfach gesperrt, oder die Passwörter werden irgendwie anders gespeichert und die Funktion findet deshalb nix.
Kommentar von Heiko am 27.08.2002 um 09:13
Bei mir funktioniert, wie bei den anderen auch der Tip nicht unter WIN2K.
Fehler:
dll Einsprungspunkt nicht gefunden: WNetEnumCachedPasswords
Habe schon mit den Admin Rechten gspielt, aber Null Erfolg. Gibt es einen Tipp?
Kommentar von IVHP am 07.08.2002 um 20:10
Unter WinNT 4.0 und XP setzt man normalerweise einige regkeys so, dass man passwörter nicht cached. in ME und XP sind so evtl. sogar defaultmässig so eingestellt. macht ja auch Sinn. das ändert aber nichts ab man admin rechte hat oder nicht, das hätte nur mit dem direkten auslesen aus der registry zu tun (nichts mit gecachten passwörtern),, da man unter NT4.0 die regzweige einzeln user nicht les/schreibbar setzen kann
Kommentar von van-tomas am 26.12.2001 um 02:10
hab in nem hack-forum gelesen, dass das auslesen der passwoerter unter win2k und winxp NICHT funzen. denke das hat mit admin-rechten usw zu tun.
check: www.van-tomas.net
Kommentar von Christian Brenner am 27.09.2001 um 14:57
Ich habe auch Win2k und VB6! Bei mir funktioniert der Tip auch nicht! Was kann ich dagegen tun?!?
Fehler:
dll Einsprungspunkt nicht gefunden: WNetEnumCachedPasswords
Kommentar von martin am 15.05.2001 um 13:10
thank
Kommentar von Michael Rotmanov am 27.01.2001 um 13:47
Bei WinME funktioniert dieser Tip nicht. Alles verläuft ohne Fehler, es werden lediglich keine Einträge in die Listbox gestellt.
Kommentar von Christian Studt am 24.12.2000 um 13:55
Bei mir funktioniert dieser Tipp nicht (Win2k), obwohl er anscheinend funktionieren sollte.
- dll Einsprungspunkt nicht gefunden: WNetEnumCachedPasswords