Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1108to1112
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Passwort verschlüsseln

Passwort verschlüsseln
Mandy
Hallo,
Ich habe in meinem Sheet ein Passwortschutz drin, der wird mit einem Makro reingemacht (und wieder raus)
Nun habe ich gesehen, dass man das Passwort mit jeden Editor auslesen kann.
Dort brauche ich nur nach "PASSWORD:" suchen, und dahinter kommt gleich das richtige PW dazu.
Kann man IM Quellcode hinterlegten PW irgend wie verschlüsseln ?
Danke
Mandy
AW: Passwort verschlüsseln
10.10.2009 12:40:09
Lenni
Moin Mandy!
Zitat von Mandy:
Ich habe in meinem Sheet ein Passwortschutz drin, der wird mit einem Makro reingemacht (und wieder raus)

...also das Passwort steht in Deinem VBA-Skribt?!
Zitat von Mandy:
Kann man IM Quellcode hinterlegten PW irgend wie verschlüsseln?

...ob das geht, weis ich nicht. Aber Du kannst doch Dein VBA-Skribt bzw. -Projekt wiederum mit einen Passwort sperren. Es läßt sich zwar "knacken" (...wie eigentlich alles in Excel), ist aber zumindestens schon mal ein Schutz davor, dass jemand per Suche in Deinem VBA-Skribt das Passwort findet.
Rechte Maustaste auf "VBA-Projekt(DeinDateiName)" > "Eigenschaften von VBA-Projekt" > "Schutz" > vergebe ein Passwort ...thats it!
Viele Grüße aus dem hohen Norden!
Lenni

Anzeige
AW: Passwort verschlüsseln
10.10.2009 12:44:05
Mandy
Hi,
aber auch wenn ich mein Projekt unter Eigenschaften mit einem Passwort schütze und Anzeige sperre, kann ich den Code mit einem Editor auslesen und nach PASSWORD suchen.
Bringt also nicht wirklich was.
Gruss
Mandy
AW: Passwort verschlüsseln
10.10.2009 14:33:06
F1
Auch das verschlüsselte Passwort lässt sich auf die selbe Weise finden, also was solls?
F1
AW: Passwort verschlüsseln
10.10.2009 17:48:58
Nepumuk
Hallo,
das ist egal was du versuchst vergebene Liebesmüh, denn der Blattschutz lässt sich auch knacken, ohne dass jemand dein Kennwort kennt. Es gibt nämlich maximal 192.512 verschiedene Kombinationen für diese Art von Kennwort, und die habe ich in maximal einer Minute durchgetestet.
Gruß
Nepumuk
Anzeige
AW: Passwort verschlüsseln
10.10.2009 21:18:39
Jogy
Hi Nepumuk,
wie kommst Du auf 192.512? Meines Wissens ist die Schlüssellänge 16 bit, also sind es 65.536 Kombinationen.
Gruss, Jogy
AW: Passwort verschlüsseln
10.10.2009 21:54:18
Nepumuk
Hallo,
da war ein Rechenfehler drin. Es sind tatsächlich etwas mehr.
Das Kennwort welches du eingibst wird umgewandelt in 12 Zeichen. Die ersten 11 bestehen aus einem von zwei verschiedenen Zeichen, das 12. aus einem von 95 unterschiedlichen. Also:
2^11*95 = 194.560
Gruß
Nepumuk
AW: Passwort verschlüsseln
11.10.2009 10:09:38
Jogy
Hi Nepomuk,
da liegst Du meines Wissens falsch. Das mag der Algorithmus den Du kennst so machen, damit testet er aber mehr als nötig - was bei sauberer Programmierung egal ist, die Dopplungen erst auftreten, nachdem schon 65536 Werte getestet wurden und man somit das Passwort schon hat. Bei unsauberer Programmierung dauert es damit entsprechend länger - wobei man eine gewisse Sicherheit gewinnt, wenn man den Hash-Algorithmus
Das ganze ist hier im Detail beschrieben.
An der letzten Stelle des Dir bekannten Algorithmus würde es also reichen, nur 32 Werte zu testen (2^11 und dann noch 2^5) - wenn es so angelegt ist, dass kein sich aus den Passwörtern ergebender Hash-Wert doppelt vorkommt. Möglichkeiten gäbe es da viele, es muss nur sichergestellt sein, dass jeder der möglichen 65536 Hash-Werte getestet wird. Die Abbildung muss also surjektiv sein, im Idealfall wäre sie bijektiv.
Mag sein, dass ich mich täusche, aber alle mir bekannten Quellen sprechen von 16 bit Schlüssellänge. Und das klingt auch logischer als Deine Variante, da krumme Bitzahlen recht ungewöhnlich sind, da die Rechenoperationen bei Hashes auf Bitoperationen beruhen, man also mit ganzzahligen Bitwerten arbeitet und eigentlich keinen Grund hat, einen Teil davon zu verwerfen.
Gruss, Jogy
Anzeige
:-((( ...ohh man...
10.10.2009 18:05:42
Lenni
...ich lerne immer wieder dazu!! ...und wenn das so ist, dass man das Passwort trotz VBA-Projekt-Passwort dennoch auslesen kann... ...was denkt sich eigentlich MS bei so einem Dünnsinn...
Danke Euch allen! ...bevor ich selber drauf reingefallen wäre!!
Gruß
Lenni

Das kann man schon machen,...
10.10.2009 18:11:55
Luc:-?
...Mandy,
ich hatte so etwas mal angedacht. Allerdings hilft das nur was gg Normalnutzer, nicht gg Nepumuk & Co... ;-)
Dazu müsste man so etwas wie ein dynamisches VBA-Passwort haben, das bspw von einem xlAddIn oder einem externen WächterPgm ständig verändert wird, wenn Knack-Aktivitäten festgestellt wdn. Und das ist schon was in der Art bestimmter Antiviren- und Antispyware-Software und eigentl etwas, was endlich mal MS leisten sollte! Aber mit dem Datenschutz haben's die Amis nun mal nicht so; nur für den Schutz ihrer HptSoftware machen sie sich die Mühe, allerdings auch nicht 100%ig erfolgreich...
Gruß Luc :-?
Anzeige
AW: Das kann man schon machen,...
10.10.2009 21:42:48
Mandy
Hi,
naja, ich will meine Projecte eigentlich nur vor dem "normalen" User schützen. Aber dass es so einfach ist, mit dem Editor, hätte ich auchnicht gedacht.
Ich bin am überlegen, ob es nicht möglich ist, das Pasword nicht direckt rein zu schreiben, sondern es irgend wie auszulagen in ein anderes Modul oder so.
Dann sollte es beim editor nicht so offensichtlich sein.
Mal testen.
Gruss
Mandy
AW: Das kann man schon machen,...
10.10.2009 22:01:15
Nepumuk
Hallo,
du könntest das Kennwort auch als versteckten Namen anlegen. Beispiel:
Public Sub Create_Password()
    ThisWorkbook.Names.Add Name:="Password", RefersTo:="geheim", Visible:=False
End Sub

Public Sub Protect_Sheet()
    Tabelle1.Protect Password:=[Password]
End Sub

Public Sub Unprotect_Sheet()
    Tabelle1.Unprotect Password:=[Password]
End Sub

Die Routine Create_Password kannst du, nachdem du sie einmal gestartet hast wieder löschen. Und du solltest auf alle Fälle ein anderes Kennwort als geheim (aus meinem Beispiel) benutzen. :-)
Gruß
Nepumuk
Anzeige
AW: Das kann man schon machen,...
10.10.2009 22:17:23
Mandy
Hi Nepumuk,
das würde aber nicht gegen das auslesen mit einem einfachen Texteditor helfen:
ÿÿÿÿ –0 ¶ PasswordÑ ¶ geheimÑ (· Ñ * "! $B@& e
Da sehe ich immer noch das PW.
Man müsste irgend wie das Wort "PASSWORD" verschwinden lassen, damit es nicht so offensichtlich ist.
Gruss
Mandy
AW: Das kann man schon machen,...
10.10.2009 22:34:03
Nepumuk
Hallo,
dann benutz doch einfach ein Zeichen, welches sowieso häufig vorkommt. Beispiel:
Public Sub Create_Password()
    ThisWorkbook.Names.Add Name:="Password", RefersTo:=Chr$(255) & Chr$(255) & _
        Chr$(255) & Chr$(255) & Chr$(255) & Chr$(255) & Chr$(255) & _
        Chr$(255) & Chr$(255) & Chr$(255), Visible:=False
End Sub

Jetzt such da mal das Kennwort.
Gruß
Nepumuk
Anzeige
AW: Das kann man schon machen,...
10.10.2009 22:50:51
Mandy
Hi,
OK !!!!!! GEb mich geschlagen:
PasswordÑ ¬ ÿ $ * ¬ ÿ $ * ¬ ÿ $ * ¬ ÿ $ * ¬ ÿ $ * ¬ ÿ $ * ¬ ÿ $ * ¬ ÿ $ * ¬ ÿ $ * ¬ ÿ $ * Ñ (· Ñ , "! $B@& ¾k8÷[Jo
aber wie lautet nun dein Passwort ?
was soll das :
RefersTo:=Chr$(255) & Chr$(255) & _
Chr$(255) & Chr$(255) & Chr$(255) & Chr$(255) & Chr$(255) & _
Chr$(255) & Chr$(255) & Chr$(255), Visible:=False
Sagt mir garnichts
Gruss
Mandy
AW: Das kann man schon machen,...
10.10.2009 22:59:12
Nepumuk
Hallo,
na ganz einfach ÿÿÿÿÿÿÿÿÿÿ. Außerdem sollst du die Routine Create_Password löschen, nachdem du sie einmal gestartet hast. Das Kennwort ist dann im unsichtbaren Namen "Password" gespeichert und die Routine wird nicht mehr benötigt.
Gruß
Nepumuk
Anzeige
AW: Das kann man schon machen,...
10.10.2009 23:14:17
Mandy
Hi Nepumuk,
das mit diesen Zeichen finde ich eine Gute Idee, würde das so funktionieren, wie ich mir das vorstelle ?:
Public Sub Create_Password()
ThisWorkbook.Names.Add Name:="Password", RefersTo:=Chr$(255) & Chr$(255) & _
Chr$(255) & Chr$(255) & Chr$(255) & Chr$(255) & Chr$(255) & _
Chr$(255) & Chr$(255) & Chr$(255), Visible:=False
End Sub

Sub Workbook_open()
schutz
End Sub
Sub schutz()
ActiveSheet.Protect _
Password:=Password, _
DrawingObjects:=True, _
Contents:=True, _
Scenarios:=True, _
userinterfaceonly:=False
End Sub
Anzeige
AW: Das kann man schon machen,...
10.10.2009 23:21:16
Nepumuk
Hallo,
ich hab dir doch schon Beispiele geliefert wie du den Namen dann einsetzt indem du ihn in eckige Klammern setzt. Aber nochmal:
Sub schutz()
    ActiveSheet.Protect _
        Password:=[Password], _
        DrawingObjects:=True, _
        Contents:=True, _
        Scenarios:=True, _
        UserInterfaceOnly:=False
End Sub

Gruß
Nepumuk
Anzeige
AW: Das kann man schon machen,...
10.10.2009 23:33:23
Mandy
Hi,
sorry, mir ist aber nicht ganz klar: ist das Passwort nun das zwischen den Eckigen Klammern (in dem Fall auch "Password") oder ist das der aufruf einer Konstante.
Wo steh mein aktuelles Paswort ?
Mandy
AW: Das kann man schon machen,...
10.10.2009 23:38:25
Nepumuk
Hallo,
na in dem verstechten Namen "Password", den du mit der Routine "Create_Name" angelegt hast.
Gruß
Nepumuk
AW: Das kann man schon machen,...
10.10.2009 23:50:22
Mandy
HI,
aber warum funktioniert das dann nicht bei mir ? :
Public Sub Create_Password()
ThisWorkbook.Names.Add Name:="Password", RefersTo:=Chr$(255) & Chr$(255) & _
Chr$(255) & Chr$(255) & Chr$(255) & Chr$(255) & Chr$(255) & _
Chr$(255) & Chr$(255) & Chr$(255), Visible:=False
End Sub

Sub schutz()
ActiveSheet.Protect _
Password:=[Password], _
DrawingObjects:=True, _
Contents:=True, _
Scenarios:=True, _
UserInterfaceOnly:=False
End Sub
wenn ich "schutz" ausführe, bekomme ich gleich eine Fehlermeldung, Ich muss zuerst "Create_Password", dann "schutz", dann scheint ein Blattschutz drin zu sein.
Wenn ich den aber wieer manuell über EXTRAS / SCHUTZ mit "yyyyyyyyyy" wieder aufheben will, bekommeich eine Meldung, das PW sei falsch !!
Habe ich hier ein denkfehler ?
Mandy
AW: Das kann man schon machen,...
11.10.2009 00:00:45
Nepumuk
Hallo,
das Kennwort sind nich 10 y sondern 10 ÿ. Wenn du die manuell eingeben willst, musst du die Alt-Taste drücken und 0255 (für das Ascii-Zeichen 255) auf dem Nummernblock eintippen. Dann Alt-Taste loslassen. Das ganze 10mal.
Gruß
Nepumuk
AW: Das kann man schon machen,...
11.10.2009 00:22:07
Mandy
Hi,
ahh jetzt, OK, dan ist alles klar, warum das nicht funktioniert hat, Sorry, war mein Fehler.
Jetzt klappt es auch.
Noch eine kleine Frage, es es korrekt, wenn ich das Passwort per Makro setzen will, ich zuerst "Create_Password", dann "schutz" ausführen muss ?
Anders funktionieres nicht,
Ansonsten echt eine gute Idee, ist jetzt im Editor nicht mehr als Passwort zu erkennen.
Mandy
AW: Das kann man schon machen,...
11.10.2009 00:48:16
Nepumuk
Hallo,
Create_Password musst du nur ein einziges mal ausführen. Danach ist der Name ja in der Mappe. Daher kannst du diese Routine löschen und die Mappe speichern. Jetzt hast du immer Zugriff auf das Kennwort über diesen Namen.
Gruß
Nepumuk
Danke, dann ist alles klar :-) owT
11.10.2009 19:39:30
Mandy
mal ganz im ernst, Mandy ...
11.10.2009 10:11:13
Matthias
Hallo
Ztat:
naja, ich will meine Projecte eigentlich nur vor dem "normalen" User schützen.
Warum setzt Du dann nicht das Passwort direkt im Sheet, anstatt im VBA-Projekt?
Dann findest Du auch nix im Editor. weder "protect" noch "PASSWORD"
Wie geschrieben, ein normaler User wird doch nicht versuchen Dein Passwort zu knacken.
Ansonsten ist das Bsp. von Nepumuk ja super, aber auch dieser Schutz lässt sich aushebeln.
Ich werde allerdings hier keine Tipps geben wie das geht, ich hoffe dafür hast Du Verständnis.
In Excel ist eben nichts sicher. Nur die Preise von MS. Die sind sicher ... ... viel zu hoch !
Gruß Matthias
AW: mal ganz im ernst, Mandy ...
11.10.2009 19:45:34
Mandy
Hi,
also, wie man das Paswort unter Eigenschaften aushebelt, ist mir inzwischen auch bekannt, aber ich war letzte Woche doch schon sehr erschrocken, als ich durch Zufall auf mein Passwort im Editor getroffen war.
Ausserdem, ich habe schon öfters mal so kleine Makros für Kollege oder Freunde gemacht und man glaubt garnicht, auf was für Ideen manch ein Benutzer kommt.
Das Passwort ist zwar schon beim Start über die Eigenschaften gesetzt, allesdings greife ich später wieder auf solche Zelen zu und muss das Passwort entfernen, damit ich dort was reinschreiben kann. Danach muss der Passwortschutz halt wieder rein.
Gruss
mandy
Dazu hatte ich dir schon bei deinem letzten...
11.10.2009 23:35:45
Luc:-?
...PW-Thread hier was geschrieben, dass du offensichtlich trotz eMail-Benachrichtigungsoption nicht zK genommen zu haben scheinst... :-|
Gruß Luc :-?
AW: Passwort verschlüsseln
10.10.2009 21:31:02
mumpel
Hallo!
Eine weitere Möglichkeit wäre Excel 2007. Hier kann man mit Hilfe eines Arbeitsmappenschutzes verhindern, dass jemand mit Winzip & Co. an den Inhalt der Datei kommt. Das Auslesen des VBA-Kennwortes mit einem Hexeditor oder das Löschen des Tabellenschutzes ist dann nicht möglich. Der Schutz beträgt hier 98%. Dann noch verhindern, dass der Anwender die Datei als xls speichern kann, um so mit einem Hexeditor an den Inhalt des VBA-Projektes zu gelangen. Wenn man dann noch die Kennwörter (VBA, Tabelle, Arbeitsmappe) in die Registrierungsdatenbank auslagert, dann können Normalanwender nicht mehr viel ausrichten. Auch nicht mit den "alten" Tricks, wie man sie im Internet findet. Vor Nepumuk und den anderen Profis nützt aber auch dies nicht viel.
Gruß, René
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Archiv - Verwandte Themen
Forumthread
Beiträge