'Tutorial by ghosty
'Delphi - No-IP Daten auslesen.
'Visit: Link entfernt da ich gerade nicht weiß ob es erlaubt ist x)
################################
- Was für Funktionen benötigt werden.
• ReadKeyToString
• Base64 Decrypt
################################
Als erstes könnt ihr euch einmal anschauen, wo ihr die Passwörter findet.
Ruft das Ausführenfenster auf (Windows Taste + R) und gibt dort "Regedit" ein. (Ohne ")
Nun wenn das Fenster erscheint geht ihr auf:
-> HKEY_LOCAL_MACHINE -> SOFTWARE -> Vitalwerks -> DUC
Dort sucht ihr dann bei "Name" nach Username, Passwort und Hosts.
Bei "Wert" könnt ihr dann schon den Username und den/die Host/s in "Klarschrift" sehen.
Bei dem Passwort aber seht ihr nur ein paar Buchstaben/Zahlen.
Das liegt daran, dass das Passwort verschlüsselt ist.
(Bei den Hosts sind 3 (?) Sonderzeichen angehangen, aber das ist jetzt erst einmal egal.)
################################
Fangen wir mit dem code an.
Als erstes erstellen wir die Funktion "ReadToString"
Dann erstellen wir drei String Variablen. (Zum Beispiel: Username, Passwort und Hosts)
Zudem können wir auf die Form drei Labels ziehen, um die Daten anzeigen zu lassen.
Ihr könnt das ganze in einen "Button" schreiben oder einfach sofort in "FormCreate".
Da wir den Username und die Hosts in Klarschrift sehen, können wir diese auch ohne weiteres auslesen.
Das geht so: (Mit der "ReadKeyToString" Funktion)
Username := ReadKeyToString(HKEY_LOCAL_MACHINE, 'SOFTWARE\Vitalwerks\DUC', 'Username');
Hosts := ReadKeyToString(HKEY_LOCAL_MACHINE, 'SOFTWARE\Vitalwerks\DUC', 'Hosts');
Da bei den Hosts nun aber die Sonderzeichen dran hängen, müssen wir diese löschen.
Code:
Hosts := StringReplace(Hosts,'#,','',[rfReplaceAll]); // #, wird gelöscht
Hosts := StringReplace(Hosts,'|','',[rfReplaceAll]); // | wird gelöscht - Wobei diese denke ich als "Trenn"-Strich gedacht sind.
Nun haben wir den Username und die Hosts schon in Klarschrift in den Variablen stehen.
Fehlt uns also nur noch das Passwort.
Dieses lesen wir auch zunächst einfach in die Variable ein.
Code:
Passwort := ReadKeyToString(HKEY_LOCAL_MACHINE, 'SOFTWARE\Vitalwerks\DUC', 'Password');
Nun müssen wir die Base64 Decode Funktion "einbauen".
Dann decoden wir den String "Passwort" mit folgenden Befehl:
Passwort := Base64Decode(Passwort);
Wenn wir das gemacht haben, haben wir auch das Passwort in einer Klarschrift in der Variable stehen.
Das heißt wir können nun alle drei Daten in den Labels anzeigen lassen.
Code:
Label1.Caption := 'Username: ' + Username;
Label2.Caption := 'Passwort: ' + Passwort;
Label3.Caption := 'Host/s: ' + Hosts;
Das war es auch schon, hoffe es hat euch geholfen und gefallen.
~ghosty