![]() |
vnc Passwort setzen
Ich suche eine Möglichkeit das VNC (tight oder ultra) Passwort in der Registrierung zu setzen. Nach nutzung der Sufu habe ich bereits folgendes dazu gefunden:
![]() ![]() Leider haben die Informationen bisher noch nicht zu funktionierendem Delphi Code geführt, was an mehreren Problemen liegt. Zum einen speichert VNC das Passwort als REG_BINARY wobei ich nicht weiss welche Datenstrucktur dem Wert zugrunde liegt. Bei meinen Versuchen einen String als binary Wert in die Registry zu schreiben kamen immer andere Werte als bei VNC heraus. Die von chaosben geschriebene Unit (d3des.pas) sieht so aus wie eine Übersetzung der d3des.c aus den TightVNC 1.3.9 Sourcen (sogar der VNC_DES_Key stimmt), führt bei mir aber zu anderen Registrywerten (kann auch am schreiben des Binarywertes liegen). Die andere Option es mit einer modifizierten DEC Version verschlüsseln scheiterte bisher auch daran das die geposteten Codebeispiele bei mir nicht funktionieren.
Delphi-Quellcode:
Zu wenig wirkliche Parameter beim erzeugen.
with TCipher_1DES.Create do
try Mode := cmCBCx; Init(FSharedSecret); encval := EncodeBinary(Edit1.Text, TFormat_HEX); finally Free; end; So, ich hoffe das reicht damit mir jemand den nächsten Schritt in die richtige Richtung zeigen kann. [edit=SirThornberry]Titel korrigiert - nächstes mal bitte die Zeit nehmen solche offensichtlichen Fehler zu vermeiden - Mfg, SirThornberry[/edit] |
Re: vnc Passwort detzen
Hi und herzlich Willkommen in der DP! :hi:
Bei mir hat es mit RealVNC ohne Probleme geklappt. Vielleicht kannst du ja mal den Code posten, mit dem du das Passwort in die Registry schreibst. Interessant wäre auch die Länge. Imho ist meine Unit auf 8 Zeichen beschränkt. (Weiß ich aber nicht mehr so genau :-/) |
Re: vnc Passwort setzen
Liste der Anhänge anzeigen (Anzahl: 1)
Um den VNC Server für zukünftige Aufgaben anpassen zu können möchte ich, sofern dies möglich ist, einen opensource VNC verwenden. Zum Schreiben in die Registry benutze ich folgenden Code
Delphi-Quellcode:
Das Ergebnis ist dann
u:=DES_Encrypt('hugohugo',VNC_DES_Key);
Reg := TRegistry.Create; try Reg.RootKey := HKEY_CURRENT_USER; if Reg.OpenKey('\Software\ORL\WinVNC3', true) then begin try reg.WriteBinaryData('aaa',u,sizeof(u)); except end; end; finally reg.Free; end; Zitat:
|
Re: vnc Passwort setzen
Ich glaube du hast Recht. Das Problem liegt wahrscheinlich in der Art wie du die Daten in die Registry schreibst.
Was ist denn u für ein Typ? SizeOf(u) liefert die die Größe von u im Speicher. In der Annahme das u ein PChar ist, wird SizeOf(u) immer 4 liefern, egal was in u "drinsteht". Schick mal bitte die komplette Prozedur samt Variablendeklarationen und ich werd zusehen, das ich dir morgen eine Demo posten kann, wie es bei mir funktioniert. |
Re: vnc Passwort setzen
Danke für deine Hilfe.
Zitat:
Delphi-Quellcode:
procedure TMainForm.Button1Click(Sender: TObject);
var Reg: TRegistry; u:string; begin u:=DES_Encrypt('hugohugo',VNC_DES_Key); Reg := TRegistry.Create; try Reg.RootKey := HKEY_CURRENT_USER; if Reg.OpenKey('\Software\ORL\WinVNC3', true) then begin try reg.WriteBinaryData('aaa',u,sizeof(u)); except end; end; finally reg.Free; end; end; |
Re: vnc Passwort setzen
Ok, mit der
![]()
Delphi-Quellcode:
procedure TForm1.btn_Button1Click(Sender: TObject);
var passw : TDES_Data; reg : TRegistry; begin passw := DES_Encrypt(ed_PW.Text, VNC_DES_Key); reg := TRegistry.Create; try reg.RootKey := HKEY_CURRENT_USER; if reg.OpenKey('\Software\RealVNC\WinVNC4', false) then reg.WriteBinaryData('pw', passw, Length(passw)); finally reg.Free; end; end; |
Re: vnc Passwort setzen
Funktioniert mit Tightvnc wunderbar 8)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:46 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz