Programmiertips
übersicht
Zurück zur Übersicht
Nächste Seite

Neueste VersionFür ganz Eilige geht's hier zur neuesten Version.

MS Access: Ich habe mein Passwort vergessen.

Gibt es eine Möglichkeit, trotzdem an meine Daten zu kommem?

Bei Access 95 und 97 sind die Berechtigungen in der Datenbank gespeichert, so daß es schwieriger wird, die Angelegenheit zu knacken als bei Access 2.0, bei dem man das Password immer umgehen kann.

Für alle Access-Anwendungen gilt: Die Usernamen, Gruppenzugehörigkeiten und Kennwörter sind in der Datei "Sytem.mdw" (Typ: Microsoft Acces Arbeitsgruppen - Informationen) gespeichert.

Bei Access 2.0 waren hier auch die Berechtigungen gespeichert, so daß man einfach diese Datei umbenennen konnte, dann mit dem Programm "Wrkgadm.exe" (für "Workgroup administrator") im Access - Verzeichnis eine neue Arbeitsgruppendatei erstellen konnte. Wenn man sich dann wieder angemeldet hat, hatte man automatisch Administrator-Rechte und die Datenbank war wieder offen.

Bei Access 95 (und 97) sind die Berechtigungen jedoch in der Datenbank gespeichert, so daß dieses Verfahren unmöglich geworden ist.

Mit Access 95 kann man auf unterschiedliche Weise einen Schutz einrichten. Die Vorgehensweise zum "Knacken" hängt vom vorhandenen Schutz ab:
 

1. die leichteste (und leicht zu knackende) Version:
Der Anwender hat einfach ein Anmeldekennwort für den User "Admin" vergeben (Menü Extras -> Zugriffsrechte -> Benutzer- und Gruppenkonten -> Anmeldungskennwort ändern). Man kann danach Access nur noch unter Angabe von Usernamen und Password aufrufen.

Lösung:

  • Programm Wrkgadm.exe aufrufen.
  • Das Programm zeigt die gerade gültige Arbeitsgruppendatei an.
  • Dateinamen (meistens: "System.mdw") merken (aufschreiben) und Programm beenden.
  • Die Arbeitsgruppendatei umbenenen.
  • Wrkgadm.exe erneut aufrufen und eine neue Arbeitsgruppendatei erstellen.
  • Den Arbeitsgruppencode notieren, falls einer verwendet werden soll. Er wird unbedingt benötigt, wenn man die gerade erstellte Datei vielleicht mal wieder restaurieren muß.
  • Wrkgadm.exe beenden, Access aufrufen.
  • Access kann ohne Kennwort gestartet werden, man hat Admin - Rechte.

  • 2. etwas schwieriger:
    Der Anwender hat wie unter 1 beschrieben ein Kennwort vergeben, dann einen zweiten User erstellt und dem Admin die Rechte entzogen. Als zweiter User hat er dann die Datenbankobjekte (Tabellen, Formulare...) erstellt. Wenn man nun wie unter 1 verfährt, kann man sich zwar ohne Kennwort anmelden (und ist dann per default Admin) und die Datenbank öffnen, hat jedoch keine Zugriffsrechte auf die Tabellen, Formulare usw. einer Datenbank, da diese ja nun dem zweiten User gehören. Zugriffsrechte dürfen bekanntlich nur vom Eigentümer des jeweiligen Datenbankobjektes geändert werden, jedoch:

    Der EIGENTÜMER DER DATENBANK (!) hat die Berechtigung, den Eigentümer jedes Objektes zu ändern.

    Und das ist der springede Punkt: Die meisten Anwender versäumen es, dem Admin die Eigentümerrechte zu entziehen, so daß man sich die Eigentumsrechte selbst wieder einräumen kann, denn die Datenbank wurde meistens am Anfang der Arbeit mit Access erstellt und gehört folglich dem User Admin. Das geht so:

    Lösung:

  • Eine neue Arbeitsgruppendatei wie unter 1. beschrieben erstellen.
  • Menü Menü Extras -> Zugriffsrechte -> Benutzer- und Gruppenberechtigungen -> Eigentümer ändern.
  • Für jedes einzelne Objekt den Eigentümer auf "Administrator" ändern.
  • Dann Karteikarte "Berechtigungen" öffnen und sich die Zugriffsrechte einräumen, die man braucht.

  • 3. kaum lösbar:
    Funktioniert die Geschiche nicht wie oben beschrieben, kann das zwei Ursachen haben:
    a.) Die Datenbank selbst wurde mit einem anderen User erstellt, so daß der User Admin keine Eigentümerrechte an der Datenbank hat, und/oder
    b.) Es wurde ein Datenbankkennwort vergeben. Ein Datenbankkennwort verhält sich ähnlich wie das Kennwort einer Excel-Tabelle oder eines Winword-Dokumentes. Es ist in der Datenbank gespeichert und kann nicht umgangen werden.

    In diesen Fällen kommt man ohne Kennwort nicht weiter.
    Man benötigt ein Tool, mit dem man Kennwörter "ausspionieren" kann.
    Leider besitze ich kein derartiges Tool und habe keine Erfahrungen damit.
    Vor kurzem habe ich jedoch im Netz einen Hinweis darauf gefunden, daß es auf einer CD der letzten Ausgaben der Zeitschrift "PC-Professionell" ein derartiges Tool geben soll.
    Ich kann Ihnen nur den Tip geben, entweder bei der Redaktion nachzufragen oder unter
    http://www.zdnet.de/pcpro/pp-wf.htm
    zu suchen.


    Nachtrag vom 04.06.2003:
    Vor einiger Zeit war ich selbst mal in der Situation, ein Datenbankkennwort vergessen zu haben. Herausgekommen ist dabei ein kleines Programm, daß die Datenbankkennwörter von Access 97 und Access 2000 - Datenbanken wieder auslesen kann. Dieses kleine Programm biete ich Ihnen hier als Zip-Archiv zum Download an.
    Das Programm ist in Visual Basic geschrieben und benötigt noch die Visual Basic (VB 6.0 SP5) Runtime Bibliothek, die aber bereits auf vielen Rechnern vorhanden sein sollte. Wenn das Programm nach dem Download nicht auf Anhieb startet, so finden Sie die Runtime Bibliothek an vielen Stellen.

    WICHTIG:
    ICH ÜBERNEHME KEINE GEWÄHR DAFÜR, DASS DAS HIER ANGEBOTENE PROGRAMM FUNKTIONIERT ODER ÜBERHAUPT ZU IRGEND ETWAS NÜTZE IST!

    Die Anwendung geschieht also auf eigene Gefahr. Ich weiß nur, das es bei mir damals einmal geklappt hat.
    (Haben Sie etwa einen anderen Disclaimer bei einem kostenlosen Programm erwartet? :-))
    Nachtrag vom 02.04.2004:
    Ein Besucher meiner Seite hat mich bei dem Versuch, das Datenbankkennwort einer Access 2000 - Datenbank wiederherzustellen, um Hilfe gebeten. Mein Programm würde bei seiner Datenbank nicht funktionieren. Zusätzlich legte er eine Beispieldatei im mdb - Format bei, bei der mein Programm ebenfalls nicht funktioniere.

    Ich habe mir seine Datei angesehen und dabei ein Dateiformat festgestellt, das ein wenig von dem mir bisher bekannten abweicht. Es ist mir relativ schnell gelungen, die Abweichung zu identifizieren und mein Programm an dieses neue (Unter-)format anzupassen.

    Es bleibt festzuhalten:


    Nachtrag vom 27.04.2004: (Diese Seite und mein Tool scheinen wirklich Furore zu machen)
    Simon Goetz, ein weiterer Besucher meiner Seite, hat wieder ein anderes Dateiformat geliefert, das mit Access 2003 erstellt sei, wie er schreibt.

    Mein Tool kann also nun drei verschiedene Formate verarbeiten.

    Ich bin gespannt, wieviele Formate noch kommen. ;-)

    Die oben zum Download angebotene Version enthält übrigens beide hier beschriebenen neuen Erweiterungen.


    Nachtrag vom 30.09.2006: (And the story goes on...)
    Ich hatte das Programm schon einmal so modifiziert, dass es es mit allen 256 Dateiformaten zurechtkam, die ich kennengelert hatte.

    Mein Tool konnte also nun 255 verschiedene Formate verarbeiten.

    Dann hatte ich leider diese neuere Version Projekt verloren, und zwar bevor ich das nächste Backup erstellt hatte. Ich hatte auch kein großes Interesse daran, dass Rad noch einmal neu zu erfinden, zumal mir auch die Beispieldatenbanken der anderen Anwender verlogen gegangen waren.

    Hartmut Kloth, ein weiterer Anwender, stelle mir nun Beispieldatenbanken von seinem Rechner zur Verfügung und ich habe mich doch noch einmal an die Arbeit gemacht, womit ich nun wieder auf den Stand von 256 Dateiformaten angekommen bin.

    Jedoch konnte (und kann) ich ausgerechnet die Datenbank von Hartmut Kloth nicht "knacken".
    Nun habe ich mein Tool noch einmal erweitert, und zwar um eine Brute Force Methode. Das bedeutet, dass die Methode alle möglichen Kennwörter ausprobiert, bis sie das richtige gefunden hat. Eine Brute Force Methode kann sehr viel Zeit in Anspruch nehmen - Für Kennwörter aus 4 Zeichen braucht man z.B. auf meinem Athon XP 3100+ ca. 12 Stunden, für 5 bis 6 Zeichen reden wir bereits über Monate - abhängig von der zur Verfügung stehenden Rechnerleistung. Aber wer weiss, wem das hilft...

    Auch diese neue Version biete ich Ihnen hier als Zip-Archiv zum Download an.
    Das Programm benötigt folgende Module, die ich nicht beifüge:
    1. Die Visual Basic (VB 6.0 SP5) Runtime Bibliothek
    2. Die Microsoft Windows Common Controls, welches für die Dateiauswahldialoge benötigt wird.
    3. Die Microsoft Jet Database Engine, bei Microsoft aktuell in der Version 4.0, Servicepack 8 zu erhalten.
    Auf den meisten Rechnern sollten diese Module bereits vorhanden sein. Der Download dieser Module ist also nur erforderlich, wenn das Programm nicht starten will.
    Nachtrag vom 24.07.2009:
    Eine weitere, bugbereinigete Version:  
    Nachtrag vom 10.10.2009:
    Eine kleine Erweiterung: das gefundene Kennwort wird in der Zwischenablage abgelegt, so dass Sie es bei der Eingabeaufforderung von MS-Access mit <Strg>+C einfach einfügen können.

    Und auch hier noch einmal der unvermeidliche Disclaimer:

    WICHTIG:
    ICH ÜBERNEHME KEINE GEWÄHR DAFÜR, DASS DAS HIER ANGEBOTENE PROGRAMM FUNKTIONIERT ODER ÜBERHAUPT ZU IRGEND ETWAS NÜTZE IST!

    Zum ArtikelanfangZum Artikelanfang.


    übersicht
    Zurück zur Übersicht
    Nächste Seite

    © 1999-2009 T. Prötzsch
    Zuletzt aktualisiert am 10. Oktober 2009