WinFuture-Forum.de: Programmvostellung (c++) - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
  • 2 Seiten +
  • 1
  • 2

Programmvostellung (c++) WPA Schlüssel Generator


#1 Mitglied ist offline   Fabi 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.958
  • Beigetreten: 30. August 04
  • Reputation: 1
  • Geschlecht:Männlich

  geschrieben 07. November 2006 - 22:50

Hi,

ich hab mich mal dran gesetzt und ein kleines konsolen programm geschrieben das einen 63 zeichen langen wpa schlüssel generiert.

gekommen bin ich die auf die idee durch meinen wlan router w500v speedport von der telekom, dieser bietet nämlich keine funktion zum erstellen eines wpa schlüssels.

das programm funktioniert so:

es gibt eine klasse die zufällige zahlen werte von 0-59 generiert ( über randomize()) diese zahlen werden dann in einer anderen klasse in die zugehörigen zeichen übersetzt, z.B. Zahl 10 = A, usw...;

im Hauptprogramm wird dann diese methode in einer schleife 63 mal aufgerufen, solange wie der schlüssel bzw das passwort sein soll. leider dauert der ganze vorgang genaus solange wie der schlüssel ist in sekunden, da die sleep funktion aufgerufen wird, da randomize sonst nicht schnell genug initialisieren kann....

hoffe es versteht jetzt jeder im groben wie es funktioniert.

das programm ist sehr leicht anpassbar, man kann sich zum beispiel auch ein passwort mit 8 zeichen generieren lassen, mann muss einfach den wert in der for schleife von 63 auf 8 ändern.

ich freue mich über jegliche verbesserungsvorschläge...

was ich selbst och ändern möchte:

* schlüssel soll gedruckt werden
* die markierung des schlüssels muss einfacher sein
* der schlüssel soll als *.txt datei gespeichert werden

puuhhh...also, das war fürs erste alles, ich hab den quellcode sowie die *.exe-datei angehängt.

mfg
Fabi

Angehängte Datei(en)


0

Anzeige



#2 Mitglied ist offline   Graumagier 

  • Gruppe: aktive Mitglieder
  • Beiträge: 8.811
  • Beigetreten: 01. März 04
  • Reputation: 1
  • Geschlecht:Männlich
  • Wohnort:Graz, Österreich

geschrieben 07. November 2006 - 23:11

Schon mal daran gedacht Buchstaben und Zahlen einmalig in ein Array zu schreiben und dann daraus die Ausgabe abzurufen? Dann wäre deine untZahlenAuswerten.cpp nur etwa 25 Zeilen lang.
"If you make something idiot proof, someone will invent a better idiot." - Marvin

For Emails always use OpenPGP. My KeyID: 0xA1E011A4
0

#3 Mitglied ist offline   Fabi 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.958
  • Beigetreten: 30. August 04
  • Reputation: 1
  • Geschlecht:Männlich

geschrieben 07. November 2006 - 23:13

@graumagier: stimmt, daran hab ich garnicht :8): gedacht,das hätte mir viel zeit und arbeit erspart :P ...danke für den tip :P

werde das morgen gleich mal umsetzen, aber jetzt muss ich erstmal schlafen :wink:
0

#4 Mitglied ist offline   Graumagier 

  • Gruppe: aktive Mitglieder
  • Beiträge: 8.811
  • Beigetreten: 01. März 04
  • Reputation: 1
  • Geschlecht:Männlich
  • Wohnort:Graz, Österreich

geschrieben 07. November 2006 - 23:15

Ach was, die ganzen Werte runter zu tippen war sicher lustig :wink:
"If you make something idiot proof, someone will invent a better idiot." - Marvin

For Emails always use OpenPGP. My KeyID: 0xA1E011A4
0

#5 Mitglied ist offline   ShadowHunter 

  • Gruppe: aktive Mitglieder
  • Beiträge: 4.199
  • Beigetreten: 31. August 04
  • Reputation: 1

geschrieben 07. November 2006 - 23:51

rein aus Interesse, ist das mit VS erstellt und compiliert?

sonst würd ich das gern mal unter Linux in gcc testen, außer das is ne reine Windows Anwendung ^^
"Wir können Regierungen nicht trauen, wir müssen sie kontrollieren"
(Marco Gercke)
0

#6 Mitglied ist offline   Graumagier 

  • Gruppe: aktive Mitglieder
  • Beiträge: 8.811
  • Beigetreten: 01. März 04
  • Reputation: 1
  • Geschlecht:Männlich
  • Wohnort:Graz, Österreich

geschrieben 08. November 2006 - 08:15

U.a. wg. getch() (bzw. dem Include von "conio" und natürlich von "dos.h") ist das in dieser Form auf *nix-Systemen nicht zu gebrauchen. Aber ich mach' mich mal an eine Umsetzung, _so_ elementar sind die Windows-only-Funktionen hier auch nicht :D
"If you make something idiot proof, someone will invent a better idiot." - Marvin

For Emails always use OpenPGP. My KeyID: 0xA1E011A4
0

#7 Mitglied ist offline   Rika 

  • Gruppe: aktive Mitglieder
  • Beiträge: 11.533
  • Beigetreten: 11. Juni 03
  • Reputation: 2
  • Geschlecht:Männlich

geschrieben 08. November 2006 - 10:13

Was ist eigentlich an "dd if=/dev/random bs=32 count=1 | bin2hex" so schwer, daß man dafür extra ein Programm schreiben müsste?
Konnichiwa. Manga wo shitte masu ka? Iie? Gomenne, sonoyouna koto ga tabitabi arimasu. Mangaka ojousan nihongo doujinshi desu wa 'Clamp X', 'Ayashi no Ceres', 'Card Captor Sakura', 'Tsubasa', 'Chobits', 'Sakura Taisen', 'Inuyasha' wo 'Ah! Megamisama'. Hai, mangaka gozaimashita desu ni yuujin yori.
Eingefügtes Bild
Ja, mata ne!

(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)
0

#8 _MagicAndre1981_

  • Gruppe: Gäste

geschrieben 08. November 2006 - 10:17

weil er Windows-User ist und kein Unix/Linux hat
0

#9 Mitglied ist offline   Graumagier 

  • Gruppe: aktive Mitglieder
  • Beiträge: 8.811
  • Beigetreten: 01. März 04
  • Reputation: 1
  • Geschlecht:Männlich
  • Wohnort:Graz, Österreich

geschrieben 08. November 2006 - 10:30

Rika sagte:

Was ist eigentlich an "dd if=/dev/random bs=32 count=1 | bin2hex" so schwer, daß man dafür extra ein Programm schreiben müsste?

Achja, mit 'nem random-device unter Windows wäre so einiges einfacher :D
"If you make something idiot proof, someone will invent a better idiot." - Marvin

For Emails always use OpenPGP. My KeyID: 0xA1E011A4
0

#10 Mitglied ist offline   Graumagier 

  • Gruppe: aktive Mitglieder
  • Beiträge: 8.811
  • Beigetreten: 01. März 04
  • Reputation: 1
  • Geschlecht:Männlich
  • Wohnort:Graz, Österreich

geschrieben 08. November 2006 - 11:13

Hier mal eine überarbeitete Version, getestet auf Mac OS mit GCC 4.0.

Änderungen:

- Rechtschreibfehler behoben :D
- Ausgabewerte in char-Array geschrieben
- srand(time(NULL)) hinzugefügt.
- random(59) durch rand()%58 ersetzt

Anpassungen, um das ganze plattformunabhängig zu machen:

- Borland-Präprozessor-Befehle entfernt
- Das ordentliche sleep() wird verwendet :D
- Eigene getch()-Funktion hinzugefügt (Copy & paste, aber solange es funktioniert...)

Angehängte Datei(en)


Dieser Beitrag wurde von Graumagier bearbeitet: 08. November 2006 - 23:33

"If you make something idiot proof, someone will invent a better idiot." - Marvin

For Emails always use OpenPGP. My KeyID: 0xA1E011A4
0

#11 Mitglied ist offline   Rika 

  • Gruppe: aktive Mitglieder
  • Beiträge: 11.533
  • Beigetreten: 11. Juni 03
  • Reputation: 2
  • Geschlecht:Männlich

geschrieben 08. November 2006 - 13:56

Zitat

Achja, mit 'nem random-device unter Windows wäre so einiges einfacher


http://web.comhem.se...658/w32apps.htm -> http://web.comhem.se...les/zerodrv.exe

Dann hast \Device\Random und \Device\Zero, und zusätzlich \DosDevices\Random und \DosDevices\Zero

Dann machst du "dd if=\\.\Random" bzw. "dd <RANDOM".
Konnichiwa. Manga wo shitte masu ka? Iie? Gomenne, sonoyouna koto ga tabitabi arimasu. Mangaka ojousan nihongo doujinshi desu wa 'Clamp X', 'Ayashi no Ceres', 'Card Captor Sakura', 'Tsubasa', 'Chobits', 'Sakura Taisen', 'Inuyasha' wo 'Ah! Megamisama'. Hai, mangaka gozaimashita desu ni yuujin yori.
Eingefügtes Bild
Ja, mata ne!

(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)
0

#12 Mitglied ist offline   Graumagier 

  • Gruppe: aktive Mitglieder
  • Beiträge: 8.811
  • Beigetreten: 01. März 04
  • Reputation: 1
  • Geschlecht:Männlich
  • Wohnort:Graz, Österreich

geschrieben 08. November 2006 - 14:07

Hm, nett. Danke :D
"If you make something idiot proof, someone will invent a better idiot." - Marvin

For Emails always use OpenPGP. My KeyID: 0xA1E011A4
0

#13 Mitglied ist offline   Fabi 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.958
  • Beigetreten: 30. August 04
  • Reputation: 1
  • Geschlecht:Männlich

geschrieben 08. November 2006 - 15:36

also, ertmal vielen dank, für die ganzen verbesserungen bzw. vorschläge...

ich habe linux....der nächste schritt wäre gewesen das ich das tool dorthin portiere...

hat noch jemand weitere vorschläge?

z.B wie ich das ganze drucken könnte?

mfg
Fabi
0

#14 Mitglied ist offline   Fabi 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.958
  • Beigetreten: 30. August 04
  • Reputation: 1
  • Geschlecht:Männlich

geschrieben 08. November 2006 - 21:28

so, hab jetzt nochmal dran gebastelt und die verbesserungsvorschläge von graumagier berücksichtigt.

änderungen:

* die vielen if schleifen in der klasse CZahlenauswerten wurden duch ein array und einen return wert ersetzt
* ich verwende jetzt anstatt der header
<dos.h>
<windows>
, somit verwende ich nun die funktion
Sleep(//ms);

* Rechtschreibung etwas optimiert :cool: :D

-----------------------------------------------------------------------------------------------------------------------------------------------------------------

leider habe ich jetzt auch ein problem, und zwar gibt das programm jetzt beom generieren des schlüssels manchmalkoische zeichen und lange leerzeichen aus, hab einen screenshot davon gemacht, vielleicht weiß ja jemand woran das liegt.

und vielleicht weiß ja jemand noch wie ich das ganze drucken kann....

------------------------------------------------------------------------------------------------------------------------------------------------------------------

@Rika: ich möchte dir jetzt echt mal was sagen, es ist ja echt schön wenn du für so ziemlich alles ne bessere lösung hast, aber wei wäre es wenn du das einfach mal für dich behältst? ich habe nicht danach gefragt wer einen anderen weg kennt sondern wer weiß wie ich meinen verbessern kann ( z.B. wie Graumagier es gemacht hat).
ich weiß nicht was du beruflich bzw. schulisch machst, und es geht mich auch nichts an, aber du solltest echt mal ein wenig an deiner sozialen kompetenz arbeiten. ich bin mir sicher das nicht nur mir hier im forum so geht, ich denke es gibt sehr viele hier denen deine arroganten art ziemlich auf den sa** geht!
es geht hier nicht darum, sich zu präsentieren und mit seinem fachwissen zu prahlen.....das hier ist ein Forum und kein wettbewerb!

so, das musste ich jetzt einfach mal loswerden!!!!!!!!!! :cool:

Angehängte Miniaturbilder

  • Angehängtes Bild: screen.jpg

Angehängte Datei(en)


0

#15 Mitglied ist offline   Graumagier 

  • Gruppe: aktive Mitglieder
  • Beiträge: 8.811
  • Beigetreten: 01. März 04
  • Reputation: 1
  • Geschlecht:Männlich
  • Wohnort:Graz, Österreich

geschrieben 08. November 2006 - 21:45

Zu den komischen Zeichen: Bist du sicher, dass du keine illegalen Array-Werte aufrufst? Nicht vergessen, Arrays zählt man ab 0 :cool:

Zu Rika's Vorschlag: Naja, wo er Recht hat. Ich nehme ja auch nicht an dass du dieses Programm als etwas anderes als eine Programmierübung ansiehst.

Dieser Beitrag wurde von Graumagier bearbeitet: 08. November 2006 - 21:45

"If you make something idiot proof, someone will invent a better idiot." - Marvin

For Emails always use OpenPGP. My KeyID: 0xA1E011A4
0

Thema verteilen:


  • 2 Seiten +
  • 1
  • 2

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0