Autor |
Beitrag |
BlackSeven
Hält's aus hier
Beiträge: 5
|
Verfasst: Do 11.11.04 00:36
Kurz zu meinem Problem:
Habe ein Programm geschrieben, welches VNC (Server) sowie weitere Dienste auf die ausgewählten Netzwerkcomputer mit einem vordefinierten Passwort verteilt. Dies funktioniert bisher problemlos. Nun suche ich jedoch nach einer Möglichkeit, die in der Registry verschlüsselten Passwörter jederzeit ändern zu können.
Greetz
|
|
patrick
      
Beiträge: 1481
WIN2k, WIN XP
D6 Personal, D2005 PE
|
Verfasst: Do 11.11.04 10:29
könntest du die frage nochmal anders formulieren? ich komm leider nicht dahinter was dein problem ist
du kannst aber das alte passwort im registry einfach überschreiben, wenn du das meinst....
_________________ Patrick
im zweifelsfall immer das richtige tun!!!
|
|
Martin77
      
Beiträge: 282
XP Prof
D6 Prof, D7 Personal, D7 Enterprise, D8 personal
|
Verfasst: Do 11.11.04 10:43
So wie Ich das verstanden habe sucht er den Algo um die Passwörter zu verschlüsseln, also um sein neues zu setzen. Decrypt würde mich darauf schliessen lassen das er das alte auch lesen will, was aber für seinen Zweck (aus meiner SIcht) nicht notwendig ist.
Martin
|
|
BlackSeven 
Hält's aus hier
Beiträge: 5
|
Verfasst: Do 11.11.04 10:46
sorry, das ich mich nicht klar ausgedrückt habe...
hast schon recht, ich könnte im winvnc-server ein neues passwort generieren und das verschlüsselte passwort als registry-key abspeichern und auf den anderen rechnern verteilen...
ich brauche allerdings eine funktion, der ich ein passwort übergebe
z.b. 1234 - diese funktion sollte dann das passwort in verschlüsselter form (ab 38 a6 cf 30 44 d3 ff)
zurückgeben
function Encrypt(passwort : string) : string
begin
...
end;
|
|
Martin77
      
Beiträge: 282
XP Prof
D6 Prof, D7 Personal, D7 Enterprise, D8 personal
|
Verfasst: Do 11.11.04 12:58
Kenne den Aglo nicht den VNC verwendet, aber wenn Ich mich nicht recht irre gibt es auf der Seite doch auch einen Source download. Also laden, versuchen zu vertsehen und ihn dann nachbilden
Martin
|
|
patrick
      
Beiträge: 1481
WIN2k, WIN XP
D6 Personal, D2005 PE
|
Verfasst: Do 11.11.04 13:16
sowas macht man in der regel über prüfsummen.
am weitesten verbreitet ist der MD5 algo. wobei auch SHA stark im kommen ist.
source hab ich grad keinen da aber es gibt bei torry unmengen von komponenten die das leisten.
eine prüfsumme ist eine art eineweg-verschlüsselung->sie lässt sich zwar encodieren aber nicht mehr decodierten.
wozu dann das ganze??
ganz einfach: die verschlüsselten daten sind nicht mehr rückführbar
man erstellt eine prüfsumme und speichert diese ab.
ein angreifer kann die prüfsumme zwar sehen aber weis nicht wie das dazugehörige passwort heißt->nicht decodierbar.
wenn du nun überprüfen willst, ob das passwort stimmt, musst du nur das passwort wieder encodieren und anschließend das ergebnis mit der gespeicherten checksumme vergleichen.
in der regel werden noch zusätzliche daten zu dem passwort hinzugefügt (wie z.b. <passwort>+abc)
damit sich ein angreifer nicht ohne weiteres eine eigene checksumme von einem beliebigen passwort erstellen kann und die gespeicherte einfach durch seine ersetzt
_________________ Patrick
im zweifelsfall immer das richtige tun!!!
Zuletzt bearbeitet von patrick am Mi 17.11.04 10:21, insgesamt 1-mal bearbeitet
|
|
matze
      
Beiträge: 4613
Erhaltene Danke: 24
XP home, prof
Delphi 2009 Prof,
|
Verfasst: Do 11.11.04 15:32
saug dir den quellcode von VNC und schau dir den durch !
_________________ In the beginning was the word.
And the word was content-type: text/plain.
|
|
BlackSeven 
Hält's aus hier
Beiträge: 5
|
Verfasst: Di 16.11.04 23:09
nicht gerade leicht, das in delphi code umzusetzen
|
|
matze
      
Beiträge: 4613
Erhaltene Danke: 24
XP home, prof
Delphi 2009 Prof,
|
Verfasst: Mi 17.11.04 11:27
das denk ich mir.
du kannst den C code ja spasseshalber mal hier posten !
_________________ In the beginning was the word.
And the word was content-type: text/plain.
|
|
BlackSeven 
Hält's aus hier
Beiträge: 5
|
Verfasst: Fr 18.02.05 23:41
hab da soeben was entdeckt: das ganze wäre mit einer dll zu lösen
doch wie setze ich das nun in delphi um?
muss zugeben, dass ich mich mit vb6 überhaupt nicht auskenne
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21:
| Private Declare Function vncDec Lib "vncauth.dll" Alias "vncDecryptPasswd" (ByVal sEncPass As String) As String Private Declare Function vncEnc Lib "vncauth.dll" Alias "vncEncryptPasswd" (ByVal sUncPass As String) As String Private Declare Function vncHex Lib "vncauth.dll" Alias "vncMakeHexFromBytes" (ByVal sEncPass As String) As String Private Declare Function vncBty Lib "vncauth.dll" Alias "vncMakeBytesFromHex" (ByVal sHexPass As String) As String
Examples (for use with VB6): To encrypt a password use: sEncryptedPasswd = vncEnc(sPasswd) sEncryptedPasswd = Left$(sEncryptedPasswd, InStr(sEncryptedPasswd, vbNullChar) - 1) To decrypt a password use: sPasswd = vncDec(sEncryptedPasswd) sPasswd = Left$(sPasswd, InStr(sPasswd, vbNullChar) - 1) To make a hexdump out of the encrypted password: sHexEncrypted = vncHex(sEncryptedPasswd) sHexEncrypted = Left$(sHexEncrypted, InStr(sHexEncrypted, vbNullChar) - 1) To convert a hexdump back to the encrypted password: sEncryptedPasswd = vncBty(sHexEncrypted) sEncryptedPasswd = Left$(sEncryptedPasswd, InStr(sEncryptedPasswd, vbNullChar) - 1) |
thx & greetz
|
|