Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > .NET Languages
You last visited: Today at 13:10

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



C# Login & PW

Discussion on C# Login & PW within the .NET Languages forum part of the Coders Den category.

Reply
 
Old   #1
 
Hugo081's Avatar
 
elite*gold: 0
Join Date: Sep 2012
Posts: 133
Received Thanks: 69
C# Login & PW

Hallo ich habe ein kleines Problemm ich bin recht neu in c#
habe aber schon kleinere Programme geschrieben, nun möchte ich in mein Programm eine Art login machen so das nur leute mit einen von mir ausgewählten passwort das Programm öffnen können . weis aber nicht so recht wie ich damit anfangen soll wäre toll wenn ihr mir da helfen könnt

Gruß

Hugo
Hugo081 is offline  
Old 06/29/2014, 13:11   #2


 
PC Jones's Avatar
 
elite*gold: 65
The Black Market: 259/0/0
Join Date: Oct 2009
Posts: 7,076
Received Thanks: 618
Quote:
Originally Posted by Hugo081 View Post
Hallo ich habe ein kleines Problemm ich bin recht neu in c#
habe aber schon kleinere Programme geschrieben, nun möchte ich in mein Programm eine Art login machen so das nur leute mit einen von mir ausgewählten passwort das Programm öffnen können . weis aber nicht so recht wie ich damit anfangen soll wäre toll wenn ihr mir da helfen könnt

Gruß

Hugo
Kannst du natürlich machen, wird aber nicht sicher sein.
Wenn man will könnte man den Login innerhalb von 5 Minuten umgehen.
Falls du allerdings nur "Noobs" abhalten willst mach doch den schnellsten(und schlechtesten) Login überhaupt:
Code:
            string username = "pcjones"; // pcjones zu dem usernamen den du willst machen
            string password = "123123"; // 123123 zu dem passwort das du willst machen
            if (txtUserName.Text == username && txtPassword.Text == password )
            {
                MessageBox.Show("Login Erfolgreich");
                formMain.Show();
            }
            else
            {
                MessageBox.Show("Login Fehlgeschlagen");
            }
Solltest du das Programm aber öffentlich machen oder verkaufen solltest du dir im klaren darüber sein, dass dieser "Schutz" quasi nichts bringt.

LG
PC Jones is offline  
Thanks
1 User
Old 06/29/2014, 13:16   #3
 
Hugo081's Avatar
 
elite*gold: 0
Join Date: Sep 2012
Posts: 133
Received Thanks: 69
Quote:
Originally Posted by PC Jones View Post
Kannst du natürlich machen, wird aber nicht sicher sein.
Wenn man will könnte man den Login innerhalb von 5 Minuten umgehen.
Falls du allerdings nur "Noobs" abhalten willst mach doch den schnellsten(und schlechtesten) Login überhaupt:
Code:
            string username = "pcjones"; // pcjones zu dem usernamen den du willst machen
            string password = "123123"; // 123123 zu dem passwort das du willst machen
            if (txtUserName.Text == username && txtPassword.Text == password )
            {
                MessageBox.Show("Login Erfolgreich");
                formMain.Show();
            }
            else
            {
                MessageBox.Show("Login Fehlgeschlagen");
            }
Solltest du das Programm aber öffentlich machen oder verkaufen solltest du dir im klaren darüber sein, dass dieser "Schutz" quasi nichts bringt.

LG
Okay danke das ist glaube genau das was ich gesucht habe .
eine schlechte verschlüßelung langt mir da das ist nur für leute die ich kenne also nix aufregendes . ich werde das gleich mal probieren und geb dan nochmal ein feedback danke errstmal !

Quote:
Originally Posted by PC Jones View Post
Code:
            string username = "pcjones"; // pcjones zu dem usernamen den du willst machen
            string password = "123123"; // 123123 zu dem passwort das du willst machen
            if (txtUserName.Text == username && txtPassword.Text == password )
            {
                MessageBox.Show("Login Erfolgreich");
                formMain.Show();
            }
            else
            {
                MessageBox.Show("Login Fehlgeschlagen");
            }
Das funkt wunderbar nur wie bekomme ich jetzt den login vor mein tool so das sich das erst nach login öffnet ? das wäre mir noch sehr wichtig .

Grüße Hugo
Hugo081 is offline  
Old 06/29/2014, 19:42   #4


 
PC Jones's Avatar
 
elite*gold: 65
The Black Market: 259/0/0
Join Date: Oct 2009
Posts: 7,076
Received Thanks: 618
Du doppelklickst oben Rechts auf "Program.cs" und änderst dort dann den Namen der Startform in den Namen der Loginform:


LG
PC Jones is offline  
Thanks
1 User
Old 06/29/2014, 20:20   #5
 
Hugo081's Avatar
 
elite*gold: 0
Join Date: Sep 2012
Posts: 133
Received Thanks: 69
Danke Sehr hast mir richtig gut weiter geholfen

kann geschloßen werden
Hugo081 is offline  
Thanks
1 User
Old 06/29/2014, 20:55   #6
 
elite*gold: 0
Join Date: Nov 2010
Posts: 700
Received Thanks: 507
Ich würde zumindestens das Passwort nicht im Klartext reinschreiben.
Benutzt nen md5 Hash. Also einmal dein Passwort hashen und dann das eingegebene Passwort auch und dann erst vergleichen.
Dann könnte er höhstens versuchen den Hash zu knacken um an das Passwort zu kommen.
Einloggen könnte er sich trotzdem wenn er das Programm in ollydbg reinzieht. Oder das Passwort ausliest.

Sinvoller wäre es wenn du alle Dateien, welche von dem Programm benötigt werden mit diesem Passwort verschlüsselst, sodass man ohne dieses Passwort auf keine Datei zugreifen kann.

Ich hoffe du hast das verstanden ^^
supercracker13 is offline  
Thanks
1 User
Old 06/29/2014, 22:33   #7
 
Hugo081's Avatar
 
elite*gold: 0
Join Date: Sep 2012
Posts: 133
Received Thanks: 69
Quote:
Originally Posted by supercracker13 View Post
Ich würde zumindestens das Passwort nicht im Klartext reinschreiben.
Benutzt nen md5 Hash. Also einmal dein Passwort hashen und dann das eingegebene Passwort auch und dann erst vergleichen.
Dann könnte er höhstens versuchen den Hash zu knacken um an das Passwort zu kommen.
Einloggen könnte er sich trotzdem wenn er das Programm in ollydbg reinzieht. Oder das Passwort ausliest.

Sinvoller wäre es wenn du alle Dateien, welche von dem Programm benötigt werden mit diesem Passwort verschlüsselst, sodass man ohne dieses Passwort auf keine Datei zugreifen kann.

Ich hoffe du hast das verstanden ^^
Jop habe ich hab mich dazu heute auch schon einwenig schlau gemacht und es am ende so übernommen . Danke sehr ! Ich fand es aber gut das mir nicht gleich alles im bestmöglichen erklärt wurde so das ich daraus aufbauen konnte langsam aber verständnisvoll nach und nach,denn ich will ja ein programm schreiben und nicht die ganze zeit [strg+c & v ] zudrücken und am ende hab ich 0 dunst was ich da überhaupt gemacht habe
Hugo081 is offline  
Thanks
1 User
Old 06/30/2014, 01:00   #8
 
elite*gold: 116
Join Date: Feb 2014
Posts: 47
Received Thanks: 24
Erst recht solltest du als Anfänger schon anfangen "richtig" und "sicher" zu programmieren.
Deshalb solltest du das hardcoden schonmal direkt lassen.

Tipp:
Besorge dir einen FTP Server auf der zwei Dateien liegen. Ein PHP Script welche die Logindaten überprüft und eine txt mit den Logindaten.

Die PHP namens check.php sieht so aus:
Code:
<?php
$user = $_GET['user'];
$pass = $_GET['pass'];
$datei = fopen("logins.txt","r");
while($info = fgets($datei)){
	$array = split("\t",$info);	
	if($array[0]==$user && rtrim($array[1])== $pass){
		echo "True";
		break;
	}
}
fclose($datei);
?>
In der Datei "logins.txt" die auch auf dem Server liegt, liegen die Logindaten welche so aufgebaut sind (Natürlich kann man diese nochmal extra verschlüsseln)

Code:
UserName1	Password
UserName2	Password2
UserName3	Password3
Zwischen Username und Passwort immer ein Tab!


Dein Code könnte dann ungefähr so aussehen ( Da du ja kein Copy & Paste haben möchtest, hier in vb.net )

Code:
Dim client As New System.Net.WebClient
        If client.DownloadString("http://deinserver.de/check.php?user=" & UserName & "&pass=" & Password) = "True" Then
            MessageBox.Show("Die Zugangsdaten stimmen!")
        Else
            MessageBox.Show("Die Zugangsdaten stimmen nicht!")
        End If

Natürlich kann man auch statt die Logindaten im Link auch als POST übergeben, aber dann müsstest du auch die PHP dementsprechend anpassen.


Quote:
Originally Posted by supercracker13 View Post
Benutzt nen md5 Hash...

Einloggen könnte er sich trotzdem wenn er das Programm in ollydbg reinzieht. Oder das Passwort ausliest...

Sinvoller wäre es wenn du alle Dateien, welche von dem Programm benötigt werden mit diesem Passwort verschlüsselst, sodass man ohne dieses Passwort auf keine Datei zugreifen kann.
Man braucht kein OllyDBG um einen MD5 Hash knacken zu können.
Es gibt nicht viele Methoden, höchstens UTF7, UTF32, UTF8, Encoding (UTF16) und ASCII.

Außerdem ist es nicht sinnvoll alle Dateien mit einem Passwort zu verschlüsseln, man sollte immer von Passwort zu Passwort wechseln.

AES256 oder ähnliches wäre sinnvoller, doch auch hier ist es doof da der zu decrypte String + das Zusatzpasswort hardcoded sind (Bringt also nicht viel)


Gruß
iL0v3SuN
TeamFAiTh is offline  
Old 06/30/2014, 02:10   #9
 
elite*gold: 1
Join Date: Aug 2013
Posts: 1,898
Received Thanks: 1,346
Sehr viele entwickeln noch in WinForms.
Windows Forms ist zwar ganz nett für den Anfang, besser wäre aber natürlich WPF. Auch wenn die Lernkurve steiler ist, ersparst du dir wesentlich viel Frust, wenn du den Wechsel/Einstieg sobald wie möglich vollziehst.

Nicht weil WPF unbedingt DAS zukünftige Grafik-Framework sei, aber das Paradigma - nämlich die strikte Trennung von UI und Logik - wird wohl auf dieser Art und Weise fortgeführt werden.
Black Tiger ツ is offline  
Old 06/30/2014, 11:13   #10
 
elite*gold: 0
Join Date: Nov 2010
Posts: 700
Received Thanks: 507
Quote:
Originally Posted by TeamFAiTh View Post

Man braucht kein OllyDBG um einen MD5 Hash knacken zu können.
Es gibt nicht viele Methoden, höchstens UTF7, UTF32, UTF8, Encoding (UTF16) und ASCII.

Außerdem ist es nicht sinnvoll alle Dateien mit einem Passwort zu verschlüsseln, man sollte immer von Passwort zu Passwort wechseln.
Ich meinte auch nicht um den MD5 zu knacken sondern um die Abfrage zu umgehen.
Vor ein Paar tagen habe ich das mal bei meinen Programmen versucht.
Das Programm sollte beim Server abfragen ob es noch benutzt werden darf.
Also zb auf dem server ist ne Datei in der steht "true". Das Programm frag ob die Datei "true" sagt, ansonsten schließt sich das Programm.

Ich hab mein Programm bei olly reingezogen und hab die Abfrage umgangen. Und wenn ich das schaffe (mit kaum Kenntnissen) ist das kein Problem.
supercracker13 is offline  
Old 06/30/2014, 13:28   #11
 
tolio's Avatar
 
elite*gold: 2932
The Black Market: 169/1/0
Join Date: Oct 2009
Posts: 6,966
Received Thanks: 1,097
alles was auf dem eigenen system passiert kann man umgehen/umbauen wie man lustig ist
und eine abfrage funktioniert immer nur mit einer abfrage, egal an welcher stelle und in welcher form sie programmiert wird
durch die oben genannte tatsache kann man diese dann auch wieder verändern
tolio is offline  
Old 06/30/2014, 14:19   #12
 
elite*gold: 0
Join Date: Nov 2010
Posts: 700
Received Thanks: 507
Nicht ganz. Das mit dem umgehen ist klar. Alles was am pc passiert kann man umgehen.
Man kann sich aber aussuchen wie schwer man es den Angreifern macht.
Angenommen das Programm benötigt bestimmte Ressourcen zb dll oder bilder oder sprachen für die gui. So kann man diese verschlüsseln. Zb aes aber fast egal.
Du musst den richtigen Schlüssel eingeben sonst eerden die Ressourcen nicht geladen. Weil da nirgends das Passwort verglichen wird kann man das auch nicht umgehen.

Das ganze bleibt allerdings nur solange sicher bis die entschlüsselten Dateien an die Öffentlichkeit gelangen. Weil vorher kann man ja nix damit anfangen. Bei nem 256Bit key dauert das seine zeit ^^
supercracker13 is offline  
Old 06/30/2014, 15:50   #13
 
elite*gold: 46
Join Date: Oct 2010
Posts: 782
Received Thanks: 525
Quote:
Originally Posted by supercracker13 View Post
Nicht ganz. Das mit dem umgehen ist klar. Alles was am pc passiert kann man umgehen.
Man kann sich aber aussuchen wie schwer man es den Angreifern macht.
Angenommen das Programm benötigt bestimmte Ressourcen zb dll oder bilder oder sprachen für die gui. So kann man diese verschlüsseln. Zb aes aber fast egal.
Du musst den richtigen Schlüssel eingeben sonst eerden die Ressourcen nicht geladen. Weil da nirgends das Passwort verglichen wird kann man das auch nicht umgehen.

Das ganze bleibt allerdings nur solange sicher bis die entschlüsselten Dateien an die Öffentlichkeit gelangen. Weil vorher kann man ja nix damit anfangen. Bei nem 256Bit key dauert das seine zeit ^^
Dauert ~10 min, weil die entschlüsselten Dateien im RAM sind. Kann man dann einfach dumpen. Es stimmt schon, dass man, solange es auf deinem pc passiert, immer irgendwie was verändern/bekommen kann.
th0rex is offline  
Thanks
1 User
Old 07/01/2014, 10:08   #14
 
elite*gold: 0
Join Date: Nov 2010
Posts: 700
Received Thanks: 507
Ja aber womit willst du die Dateien entschlüsselt bekommen ?
Du brauchst dann einen der das Passwort kennt und die entschlüsselt. Wenn der die dann veröffentlicht musst du trotzdem noch das Programm verändern das es die unverschlüsselten dateien lädt.
Ansonsten wirst du niemals an die Datei kommen außer das passwort ist 0000 oder so.
Falls du es mir nicht glaubst kann ich dir gerne mal ein Beispiel erstellen und du kannst dein Glück versuchen ^^

Beispiel ist im Anhang:
Ich kann dir sogar den Code geben, aber ohne das Passwort kommst du nicht an die Daten die ausgegeben werden sollen. Ich habe ein einfaches Passwort verwendet, aber ich glaube trotzdem nicht das man da so ohne weiteres dran kommt.
Und hier ist es halt nur Text, aber man kann das selbe auch mit anderen Dateien machen auf die das Programm aufbaut.

Attached Files
File Type: rar Beispiel.rar (3.7 KB, 3 views)
supercracker13 is offline  
Old 07/01/2014, 11:18   #15


 
elite*gold: 1091
Join Date: Jun 2007
Posts: 19,836
Received Thanks: 7,180
Quote:
Originally Posted by supercracker13 View Post
Ja aber womit willst du die Dateien entschlüsselt bekommen ?
Du brauchst dann einen der das Passwort kennt und die entschlüsselt. Wenn der die dann veröffentlicht musst du trotzdem noch das Programm verändern das es die unverschlüsselten dateien lädt.
Ansonsten wirst du niemals an die Datei kommen außer das passwort ist 0000 oder so.
Falls du es mir nicht glaubst kann ich dir gerne mal ein Beispiel erstellen und du kannst dein Glück versuchen ^^

Beispiel ist im Anhang:
Ich kann dir sogar den Code geben, aber ohne das Passwort kommst du nicht an die Daten die ausgegeben werden sollen. Ich habe ein einfaches Passwort verwendet, aber ich glaube trotzdem nicht das man da so ohne weiteres dran kommt.
Und hier ist es halt nur Text, aber man kann das selbe auch mit anderen Dateien machen auf die das Programm aufbaut.

Diese Denkweise ist mindestens genauso unsicher, denn wenn jemand den Schlüssel kennt und die Daten unverschlüsselt im RAM liegen, hast du ein Problem. Denn dann reicht schon eine Person, die die Daten unverschlüsselt (oder vielleicht sogar noch direkt den Schlüssel) weiterschicken kann.

Wenn überhaupt, dann lieber über Netzwerk (Daten liegen Remote entschlüsselt und werden asymmetrisch mit dem fremden öffentlichen Schlüssel verschlüsselt sodass auch nur dieser mit dem dazugehörigen privaten Schlüssel diese auch entschlüsseln kann, dann hast du wenigstens keinen statischen Key und etwas mehr "Sicherheit")

Wobei selbst dann irgendwann die Daten auch entschlüsselt im RAM liegen. Egal wie du es drehst, komplett sicher wird es nie sein.
Mostey is offline  
Thanks
1 User
Reply


Similar Threads Similar Threads
Warrock Pvp Server Complete Succesfully Game Login But Login Map Error :S
02/22/2011 - WarRock - 7 Replies
Hi friends succesfully warrock pvp server and game login ıd pw succesfully server list WREMU Create room friedns came friends ready game start do not be eniting please help :(
Hot ice Down oder login Server down!!Wenn ja sagt wolfi bescheid dass login down ist
01/01/2010 - Metin2 Private Server - 1 Replies
hallo kann jmnd bescheid sagen bitte



All times are GMT +1. The time now is 13:10.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.