Login/Register System Visual Basic

09/26/2013 20:52 tolio#31
Quote:
Originally Posted by qkuh View Post
Das Auslagern von Funktionen bietet auch 0 Schutz. Wieso? Der "Cracker" hätte genau den gleichen Zugriff darauf, wie das Programm selbst.
wenn der cracker zugriff auf deinen server hat machst du was falsch.
so mal nen vereinfachtes bsp:
irgendwo muss in deinem programm muss etwas berechnet werden
nun lagerst du diese funktion auf deinen server aus, dh das programm sendet eingabe + lizenzdaten an deinen server, der prüft die lizenz und schick wenn diese gültig ist auch das ergebniss zurück

das ist nicht crackbar wenn unbekannt ist was auf deinem server passiert
09/26/2013 21:03 qkuh#32
Achso, hatte das falsch verstanden. Klar ist das sicher, aber hey, andererseits auch langsam wie sonst etwas.
09/26/2013 21:19 tolio#33
naja muss man natürlich geschickt einsetzen und für ne einfache berechnung ist das oversized aber länger als ne halbe sekunde dauert so nen request auch nicht
09/26/2013 22:57 stotterer09#34
Quote:
Originally Posted by tolio View Post
"nur 1x geknackt wurde." einmal reicht doch...

.net ist crackbar so wie jegliches software produkt im generellen auch, lediglich das auslagern von funktionen auf einen server kann einen schutz davor bieten. Das brauch man eigendlich nicht weiter diskurtieren weils ne tatsache ist aber gut.

aber ist eh alles wayne weil der TE nicht weis was ne if abfrage ist...
Haha der letzte satz war mit abstand das lustigste an meinem tag heute und nun closerequest weil hier nur noch gespammt wird und dem te nicht zu helfen ist bei dieser inkompetenz
09/27/2013 13:02 Wuid#35
Quote:
Originally Posted by stotterer09 View Post
Haha der letzte satz war mit abstand das lustigste an meinem tag heute und nun closerequest weil hier nur noch gespammt wird und dem te nicht zu helfen ist bei dieser inkompetenz
#sign
Closerequest, danke an stotterer und tolio.
10/01/2013 15:59 Easy-Emu#36
Na hier nochmal eine Alternative für das ganze mit den Packets ohne PHP, etc., sondern mit einer eigenen kleinen Server App (wenn man einen kleinen VServer/Root mit Linux/Windows besitzt)

Ist nur was kleines aufgemahltes...
Ich hoffe man wird es verstehen, da ich mir nich unbedingt viel Mühe bei der Lesbarkeit gegeben habe.

Das ganze wird dann auch per PacketHeader (z.B. 2 bytes size, 2 bytes packetId) gemacht, wobei es bei meiner kleinen "Zeichnung" mehr um das Verschlüsseln geht.

[Only registered and activated users can see links. Click Here To Register...]
10/03/2013 11:47 MaBarker#37
Jedoch würde das nicht ausreichen da man dein Programm ohne Probleme Cracken könnte.
Also würde ich es halt so machen jedoch Trotzdem noch anders Protecten z.b. noch obfuscaten
10/04/2013 03:13 paddygamer#38
Moin moin,

du hast leider nicht gesagt was es für ein "Login System" sein sollte..
Soll ein eine Art "Online System" sein wo User von überall auf der Welt zugreifen können oder nur ein "Oflline Login" System, wie z.b die Anmeldung bei Windows?
Du hast auch vergessen zu schreiben wofür das "Login System" dienen soll..Willst du Passwörter klauen oder ein richtiges Login System?
Wenn das nur dafür dienen soll deine deine Mutter o.ä nich auf bestimmte Sachen zugreifen kann, kannst du auch einfach ein Resourcen basiertes Login System basteln.

Ich stand aber vor dem selben Problem, wie du sofern du es auf ein Online Login System abgesehen hast.
Da habe ich mir auch ersteinmal Gedanken gemacht, wie sowas "sicher" ist.
Ich habe mich an Login Systemen von MMORPG´s orientiert.
Auf MD5 Basis + Salt.
Also habe ich einen TCP/IP Server und Client geschrieben (Ist natürlich noch nicht fertig, habe ja auch erst heute angefangen)
Du specherst also alle Werte in Variablen ab, z.b Username und Passwort(Verschlüsselt in MD5+ Salt).

Dann schickst du diese Sachen in einem String an den Server:

(Username & "\" & Passwort)

Das "\ "ist dafür da damit der Server per String Split den String wieder auseinanderfriemeln kann und in einem Array abspeichert. Dies kannst du dann wiederrum in eine MySQL oder MSSQL DB abspeicher lassen.
Dann schickt du nachdem du überprüft hast ob der User schon existiert entweder ein "Error" oder "Ok" an den Client zurück.

Dann sieht das ca so aus:

[Only registered and activated users can see links. Click Here To Register...]


Wie gesagt ich habe heute das erste mal mit TCP/IP gearbeitet. Daher weiß ich nicht ob diese MD5 lösung am besten ist (Ist ja auch Geschmackssache) aber zur not kann man ja auch noch andere Verfahren nehmen.


Und wenn du dich dann Einloggen willst, schickst du wieder dein Usernamen und dein Passwort an den Server, lässt diesen übeprüfen ob der User in der DB ist und ob das PW was gesendet wurde mit dem in der DB übereinstimmt und schickst dann an den Client wiederrum eine Antwort.

Hoffe das hat die ein wenig geholfen.
10/04/2013 03:23 snow#39
Quote:
Dann schickst du diese Sachen in einem String an den Server:

(Username & "\" & Passwort)
Und was passiert, wenn ich als Username sno\w verwende?
Da wäre es dann wohl praktischer, z.B. eine Map zu serialisieren.

Quote:
Jedoch würde das nicht ausreichen da man dein Programm ohne Probleme Cracken könnte.
Kann man auch, wenn es obfuscated ist. Mit einem Login kannst du aber auch z.B. Daten nachladen (den Klassennamen für die Initialisierung zur Laufzeit erhalten etc.) oder Teile der Logik auf einem Server laufen lassen.
10/04/2013 03:28 xxfabbelxx#40
closed on request