Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Passwort
Gehe zu Seite 1, 2  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
General



Anmeldungsdatum: 26.11.2006
Beiträge: 149

BeitragVerfasst am: 14.02.2007, 13:22    Titel: Passwort Antworten mit Zitat

moin,
also die Frage ist wie kann ich mir in einem Programm eine Passwortabfrage erstellen die wirklich sicher ist. Ob da einer gute Ansätze für mich hätte, sollten aber ein bissel erklärt werden da ich noch net alle begriffe voll intus habe.
DAnke im Voraus
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 14.02.2007, 14:02    Titel: Antworten mit Zitat

Hai. lächeln

Soetwas gibt es nicht - du kannst ALLES knacken. zwinkern
Es kommt natürlich immer darauf an, wie weit du gehen willst. Auf jeden Fall ist die QB-MonsterFAQ einen Blick wert. Ja!
Das einfachste wäre eine XOR-Verschlüsselung des Passworts. Im Prinzip lässt sich sowas nicht knacken; der Algorithmus selbst ist vollkommen sicher. Allerdings ist der Schlüsselaustausch das Problem und dadurch wird sowas wieder einfach.
Das nächste was du dir bei Wikipedia ansehen könntest, wäre z.B. MD5, da gibt's hier auch 'nen Beispiel im Board, einfach mal kurz suchen. lächeln
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1876
Wohnort: D59192

BeitragVerfasst am: 14.02.2007, 16:02    Titel: Antworten mit Zitat

Hi, mein Vorschlag:
Code:
Function pw () As Integer
  Dim As Integer i,j
  Dim As String s
  Do       'do .. loop Schleife
    i+= 1  'Versuche + 1
    Cls
    Input "Passwort: "; s
    If Len(s)= 5           And _ ' Stringlänge richtig?
      Asc(Mid(s,1,1))=  86 And _ '1. Buchstabe richtig?
      Asc(Mid(s,2,1))= 111 And _ '2. Buchstabe richtig?
      Asc(Mid(s,3,1))= 108 And _ '3. Buchstabe richtig?
      Asc(Mid(s,4,1))= 116 And _ '4. Buchstabe richtig?
      Asc(Mid(s,5,1))=  97 Then  '5. Buchstabe richtig?
      Return 33                  'Passwort richtig
    Else
      Print "Falsches Passwort!"
      Sleep 2000,1     'etwas warten
      If i= 3 Then End 'nach 3 Versuchen ist Schluss
    End If
  Loop       'do .. loop Schleife
End Function

Screen 18,32

If pw= 33 Then
  Print "richtig"
  Sleep 2000
End If
End

_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 14.02.2007, 17:06    Titel: Antworten mit Zitat

Auch eine Idee, 86-111-108-116-97. grinsen

Aber sowas gibt's bei den einfachsten CrackMe's, von daher auch nicht sonderlich sicher.
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1876
Wohnort: D59192

BeitragVerfasst am: 14.02.2007, 17:32    Titel: Antworten mit Zitat

was ist schon sicher??
Aber in einer compilerten exe, ohne Info über die Anzahl der Zeichen ( 86-111-108-116-97 lächeln ), wird es nicht so leicht das zu knacken.
_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
General



Anmeldungsdatum: 26.11.2006
Beiträge: 149

BeitragVerfasst am: 14.02.2007, 17:35    Titel: Antworten mit Zitat

jo danke schon ma, @mao hast du ma nen code mit XOR den du ein bissel erklären könntest
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 14.02.2007, 17:58    Titel: Antworten mit Zitat

Naja, schon.
Aber da ist Volta's Code schon sicherer. zwinkern

@volta:
Hm...naja, sowas bekommt man im Normalfall trotzdem relativ schnell geknackt (@General: ebenso XOR).
Aber auch eine "innovative Idee", sich als Autor zu verewigen. grinsen

@General:
Sicherlich könnte ich noch eins schreiben, aber hier findest du auch z.B. noch die Caesar-Methode. lächeln
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Flo
aka kleiner_hacker


Anmeldungsdatum: 23.06.2006
Beiträge: 1210

BeitragVerfasst am: 14.02.2007, 18:31    Titel: Antworten mit Zitat

meine lieblingsmethode (wahrscheins sehhr unsicher):
(meine eigene) STEP methode

Code:

text$="Hallo"
schritt=4
momentan=100
for i=1 to len(text$)
 x%=asc(mid$(text$,i,1))+momentan
 do while x%>255
  x%=x%-256
 loop
 sicher$=sicher$+chr$(x%)
next
?text$" wurde verschlüsselt zu" sicher$ "." '<--sehhhr mieser stil ;)

nich getestet

und umdrehen...
NOTten

xor meinetwegen
_________________
MFG
Flo

Satoru Iwata: Wer Spaß am Spielen hat, fragt nicht nach Grafik.

zum korrekten Verstaendnis meiner Beitraege ist die regelmaessige Wartung des Ironiedetektors unerlaesslich.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 14.02.2007, 18:48    Titel: Antworten mit Zitat

Hm...als Hash "okay", wenn auch mit häufigen Kollisionen... zwinkern
Aber zurückgewinnen kann man das verschlüsselte nicht mehr - das ist für ein Passwort aber auch gut so.
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
PMedia



Anmeldungsdatum: 14.08.2006
Beiträge: 2847

BeitragVerfasst am: 14.02.2007, 21:09    Titel: Antworten mit Zitat

Doch, man kann es zurückgewinnen. Vor nem halben Jahr hab ich mich gründlich mit dieser Form der Verschlüsselung beschäftigt.
Zwar gibt es dann immer noch einige Auswahlmöglichkeiten, aber sie halten sich in Grenzen.
Wie? Ganz einfach: Man baut sich eine Schleife, die den String in Teile kleiner als 255 zerlegt... der Rest is einfach...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 14.02.2007, 21:37    Titel: Antworten mit Zitat

Siehst', du kannst es nicht _komplett_ zurückverfolgen. Zunge rausstrecken
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
PMedia



Anmeldungsdatum: 14.08.2006
Beiträge: 2847

BeitragVerfasst am: 15.02.2007, 18:40    Titel: Antworten mit Zitat

hm?
Ich kann es rel. einfach knacken. Nich sooo aufwendig wie beim Bruteforcing aber ich hab Anhaltspunkte, ne Liste, die ich abarbeiten muss... und denn isses geknackt.
Daher ist es am sichersten, eine Sperre einzubauen, z.B. 3malige Fehleingabe verschlüsselt die Datei nocheinmal, und kann nur vom Hersteller entschlüsselt werden oder so... durchgeknallt durchgeknallt
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Michael712
aka anfänger, programmierer


Anmeldungsdatum: 26.03.2005
Beiträge: 1593

BeitragVerfasst am: 15.02.2007, 19:25    Titel: Antworten mit Zitat

Mir ist gerade eine verdammt sichere und meiner Meinung nach nur sehr schwer(mit bruteforce) knackbare Methode eingefallen:

Das Programm wird verschlüsselt, (z.B. hiermit)
dann muss man ein nebenprogramm schreiben, welches das Passwort abfragt und dann damit das Hauptprogramm entschlüsselt. Erst dann kann es gestartet werden. Und wenn das Passwort falsch war, dann enthält die Hauptdatei nur Müll. zwinkern

Man könnte das ganze auch mit einer .dll datei machen, dann braucht man nicht mehr unbedingt das ganze programm zu verschlüsseln, sondern nur Teile davon.
_________________
Code:
#include "signatur.bi"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 15.02.2007, 20:52    Titel: Antworten mit Zitat

Die Sache ist ja okay (und kommt auch bei vielen modernen Softwareprodukten vor). zwinkern
Aber hier ist der Knackpunkt wieder die zu crackende Verschlüsselung. zwinkern
Und wenn das ganz einfach über ein IF geschieht brauchst du später mittels einem Debugger/Disassembler/Hexeditors nur noch ein Byte anpassen und die Sache hat sich. zwinkern
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Michael712
aka anfänger, programmierer


Anmeldungsdatum: 26.03.2005
Beiträge: 1593

BeitragVerfasst am: 15.02.2007, 23:08    Titel: Antworten mit Zitat

Hast du dir meinen Source angeguckt? Zunge rausstrecken
Da wird mit Hilfe des Passworts ent/verschlüsselt. Wenn das Passwort falsch ist, dann kann man das nur daran erkennen, dass in der Datei Müll ist.
_________________
Code:
#include "signatur.bi"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 15.02.2007, 23:57    Titel: Antworten mit Zitat

Oh, sorry. verlegen
Aber is' dann nich' besonders userfreundlich. grinsen
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 16.02.2007, 14:25    Titel: Antworten mit Zitat

das lässt sich über bruteforce trotzdem knacken weil du gleichzeitig nach jedem versuch n programm drüber jagen kannst was dir sagt, ob was sinnvolles rausgekommen ist. und das funktioniert relativ gut. dauert nur wieder ein wenig länger..
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 16.02.2007, 14:58    Titel: Antworten mit Zitat

Im Prinzip brauchst du nur auf 'nen korrekten PE-Header scannen.
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 16.02.2007, 16:09    Titel: Antworten mit Zitat

Is aber um einiges umständlicher als einfach ein passwort per bruteforce zu suchen happy
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Michael712
aka anfänger, programmierer


Anmeldungsdatum: 26.03.2005
Beiträge: 1593

BeitragVerfasst am: 16.02.2007, 16:10    Titel: Antworten mit Zitat

"...meiner Meinung nach nur sehr schwer(mit bruteforce) knackbare Methode eingefallen..."

Man nehme ein langes Passwort, groß-klein Schreibung, Zahlen und Sonderzeichen, schon kann man Bruteforce in die Tonne kloppen Zunge rausstrecken
_________________
Code:
#include "signatur.bi"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz