Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
General
Anmeldungsdatum: 26.11.2006 Beiträge: 149
|
Verfasst am: 14.02.2007, 13:22 Titel: Passwort |
|
|
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 |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 14.02.2007, 14:02 Titel: |
|
|
Hai.
Soetwas gibt es nicht - du kannst ALLES knacken.
Es kommt natürlich immer darauf an, wie weit du gehen willst. Auf jeden Fall ist die QB-MonsterFAQ einen Blick wert.
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.  _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
volta
Anmeldungsdatum: 04.05.2005 Beiträge: 1876 Wohnort: D59192
|
Verfasst am: 14.02.2007, 16:02 Titel: |
|
|
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 |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 14.02.2007, 17:06 Titel: |
|
|
Auch eine Idee, 86-111-108-116-97.
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 |
|
 |
volta
Anmeldungsdatum: 04.05.2005 Beiträge: 1876 Wohnort: D59192
|
Verfasst am: 14.02.2007, 17:32 Titel: |
|
|
was ist schon sicher??
Aber in einer compilerten exe, ohne Info über die Anzahl der Zeichen ( 86-111-108-116-97 ), 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 |
|
 |
General
Anmeldungsdatum: 26.11.2006 Beiträge: 149
|
Verfasst am: 14.02.2007, 17:35 Titel: |
|
|
jo danke schon ma, @mao hast du ma nen code mit XOR den du ein bissel erklären könntest |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 14.02.2007, 17:58 Titel: |
|
|
Naja, schon.
Aber da ist Volta's Code schon sicherer.
@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.
@General:
Sicherlich könnte ich noch eins schreiben, aber hier findest du auch z.B. noch die Caesar-Methode.  _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
Flo aka kleiner_hacker
Anmeldungsdatum: 23.06.2006 Beiträge: 1210
|
Verfasst am: 14.02.2007, 18:31 Titel: |
|
|
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 |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 14.02.2007, 18:48 Titel: |
|
|
Hm...als Hash "okay", wenn auch mit häufigen Kollisionen...
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 |
|
 |
PMedia
Anmeldungsdatum: 14.08.2006 Beiträge: 2847
|
Verfasst am: 14.02.2007, 21:09 Titel: |
|
|
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 |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 14.02.2007, 21:37 Titel: |
|
|
Siehst', du kannst es nicht _komplett_ zurückverfolgen.  _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
PMedia
Anmeldungsdatum: 14.08.2006 Beiträge: 2847
|
Verfasst am: 15.02.2007, 18:40 Titel: |
|
|
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...  |
|
Nach oben |
|
 |
Michael712 aka anfänger, programmierer
Anmeldungsdatum: 26.03.2005 Beiträge: 1593
|
Verfasst am: 15.02.2007, 19:25 Titel: |
|
|
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.
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 |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 15.02.2007, 20:52 Titel: |
|
|
Die Sache ist ja okay (und kommt auch bei vielen modernen Softwareprodukten vor).
Aber hier ist der Knackpunkt wieder die zu crackende Verschlüsselung.
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.  _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
Michael712 aka anfänger, programmierer
Anmeldungsdatum: 26.03.2005 Beiträge: 1593
|
Verfasst am: 15.02.2007, 23:08 Titel: |
|
|
Hast du dir meinen Source angeguckt?
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 |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 15.02.2007, 23:57 Titel: |
|
|
Oh, sorry.
Aber is' dann nich' besonders userfreundlich.  _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 16.02.2007, 14:25 Titel: |
|
|
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 |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 16.02.2007, 14:58 Titel: |
|
|
Im Prinzip brauchst du nur auf 'nen korrekten PE-Header scannen. _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 16.02.2007, 16:09 Titel: |
|
|
Is aber um einiges umständlicher als einfach ein passwort per bruteforce zu suchen  _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
Michael712 aka anfänger, programmierer
Anmeldungsdatum: 26.03.2005 Beiträge: 1593
|
Verfasst am: 16.02.2007, 16:10 Titel: |
|
|
"...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  _________________
Code: | #include "signatur.bi" |
|
|
Nach oben |
|
 |
|