PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [VB.NET] Source NO-IP Base 64 Decrypten



Slawa
10.03.2010, 14:25
Hallo an alle, ich habe hier ein Source code (Teilweise selbst geschrieben), könnte sich das jemand anschauen, wo ist hier der fehler, bzw. ich komme hier nicht klar.

Code:

PublicFunction NOIP() AsString
Try
Catch ex AsException
 
Microsoft.Win32.Registry.GetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Vitalwerks\DUC\", "Username", Nothing)
Dim Hosts AsString = Microsoft.Win32.Registry.GetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Vitalwerks\DUC\", "Hosts", Nothing)
Dim Password AsString = Microsoft.Win32.Registry.GetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Vitalwerks\DUC\", "Password", Nothing)
Hosts = Hosts.Replace("#,", vbNewLine)
Hosts = Hosts.Replace("|", Nothing)
EndTry
EndFunction

Function DecryptBase64(ByVal Input As String) As String
On Error Resume Next
Dim InputByte() As Byte = System.Convert.FromBase64String(Input)
Return System.Text.Encoding.Default.GetString(InputByte)
Password = DecryptBase64(Password
End Function

EDIT: Bei mir kommt ein ERROR, was mache ich an dem code falsch, ausgelesen habe ich das richtig, aber das mit decrypten verstehe ich nicht s ganz, das kann bestimmt mir jemand erklären?

BlackCobra
10.03.2010, 14:30
fehlt da nicht ne Klammer nach Password = DecryptBase64(Password

Slawa
10.03.2010, 14:33
fehlt da nicht ne Klammer nach Password = DecryptBase64(Password


Die Klammer wurde wahrscheinlich jetzt nciht gesetzt, aber in meinem VB ist sie drinn, bei Password wird ein fehler engezeigt und bei end funktion.

Gruß

krusty
10.03.2010, 16:06
du hast totalen uatsch geschrieben.
du setzt eden try catch block falsch.
du hast eine funktion erstellt, die nichts zurück gibt.
100% hardcocet, du rufst die base64 funktion in der funktion selber auf.
Außerdem verwendest du die variable Passwort, die du in der Base64 funktion nicht deklariert hast, sondern in der NoIP fuktion, du hättest sie glubal deklarieren müssen.
DU brauchst 2 Funktionen, bzw eine FUnktion (die DecryptBase64 funktion)
und eine Sub, die das ganze in bewegung setzen soll.
Die Base64 Funktion entschlüsselt das Passwort. Sie erwartet nur einen Parameter und zwa das Verschlüsselte Passwort, sie gibt dir das entschlüsselte zurück:

Dim EntschlüsseltesPW as string = DecryptBase64(Microsoft.Win32.Registry.GetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Vitalwerks\DUC\", "Password", Nothing))
Msgbox("PW:" & EntschlüsseltesPW)
Wobei die Base64 FUnktion nur so aussehen sollte:


Function DecryptBase64(ByVal Input As String) As String
On Error Resume Next
Dim InputByte() As Byte = System.Convert.FromBase64String(Input)
Return System.Text.Encoding.Default.GetString(InputByte)
End Function

Slawa
11.03.2010, 05:23
Kann geschlssen werden, thema erledigt, habs hinbekommen.

Gruß

Slawa