AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

vnc Passwort setzen

Ein Thema von noi · begonnen am 26. Aug 2008 · letzter Beitrag vom 27. Aug 2008
Antwort Antwort
noi

Registriert seit: 17. Aug 2008
4 Beiträge
 
#1

vnc Passwort setzen

  Alt 26. Aug 2008, 01:46
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:
c++ Übersetzung
DES56
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:
with TCipher_1DES.Create do
  try
    Mode := cmCBCx;
    Init(FSharedSecret);
    encval := EncodeBinary(Edit1.Text, TFormat_HEX);
  finally
    Free;
  end;
Zu wenig wirkliche Parameter beim erzeugen.
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]
  Mit Zitat antworten Zitat
Benutzerbild von chaosben
chaosben

Registriert seit: 27. Apr 2005
Ort: Görlitz
1.358 Beiträge
 
Delphi XE2 Professional
 
#2

Re: vnc Passwort detzen

  Alt 26. Aug 2008, 05:35
Hi und herzlich Willkommen in der DP!

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 :-/)
Benjamin Schwarze
If I have seen further it is by standing on the shoulders of Giants. (Isaac Newton)
  Mit Zitat antworten Zitat
noi

Registriert seit: 17. Aug 2008
4 Beiträge
 
#3

Re: vnc Passwort setzen

  Alt 26. Aug 2008, 19:50
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:
     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;
Das Ergebnis ist dann
Zitat:
aaa -> a8 11 ce 00
Password -> a9 12 64 c2 00 de 76 65
Wie du siehst führe ich meine Tests nur mit 8 Zeichen langen Passwörtern durch. Als VNC Referenz habe ich hier TightVNC genommen, da der Quelltext (d3des.c) sehr gut zu deiner Unit zu passen scheint(s. Anhang).
Angehängte Dateien
Dateityp: c d3des_149.c (15,7 KB, 4x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von chaosben
chaosben

Registriert seit: 27. Apr 2005
Ort: Görlitz
1.358 Beiträge
 
Delphi XE2 Professional
 
#4

Re: vnc Passwort setzen

  Alt 26. Aug 2008, 20:09
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.
Benjamin Schwarze
If I have seen further it is by standing on the shoulders of Giants. (Isaac Newton)
  Mit Zitat antworten Zitat
noi

Registriert seit: 17. Aug 2008
4 Beiträge
 
#5

Re: vnc Passwort setzen

  Alt 26. Aug 2008, 21:40
Danke für deine Hilfe.
Zitat von chaosben:
Was ist denn u für ein Typ?
Da deine Funktion DES_Encrypt einen String zurrückgibt habe ich u auch als string gewählt. Hier also der Code der kompletten Procedure
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;
  Mit Zitat antworten Zitat
Benutzerbild von chaosben
chaosben

Registriert seit: 27. Apr 2005
Ort: Görlitz
1.358 Beiträge
 
Delphi XE2 Professional
 
#6

Re: vnc Passwort setzen

  Alt 27. Aug 2008, 05:36
Ok, mit der gefixten Version von hier und dem Code sollte es gehen:
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;
Benjamin Schwarze
If I have seen further it is by standing on the shoulders of Giants. (Isaac Newton)
  Mit Zitat antworten Zitat
noi

Registriert seit: 17. Aug 2008
4 Beiträge
 
#7

Re: vnc Passwort setzen

  Alt 27. Aug 2008, 23:07
Funktioniert mit Tightvnc wunderbar 8)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:01 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz