Hatte langeweile, seht selbst im Anhang.
Was kann man damit machen?
Programme um Geheimtexte auszutauschen die nur derjenige lesen kann, der den Key hat.
Naja, meine erste UDF...
Im Anhang ist immer die aktuelle Version...
Changelog:
#CURRENT# hinzugefügt
V1.1#
_keydel() #added -- Löscht ALLE Keyeinträge aus der Regedit
V1.2#
Nachricht beim Entschlüsseln Ja/Nein #added
Hash/Nachricht in Zwischenspeicher kopieren Ja/Nein #added
# _encrypt("132433", 0, 0) #
# _decrypt("A", 0, 0) #
V1.21#
Bugfixes der example.au3 & Global wird jetzt in der Funktion verwendet.
Wünsche was noch fehlt?
Macht Vorschläge
VT:
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
MD5 : 671fe942569f79637ef530b7434fffa8
SHA1 : 79816d6c30c2a455e8064126b722ad2402ab015e
SHA256: 201301776a9c69f42e71711cd68a5af2e24f7c44e5fe83f2d5 7db4a554ff6a16
CryptUDF.au3
example.au3
Was kann man damit machen?
Programme um Geheimtexte auszutauschen die nur derjenige lesen kann, der den Key hat.
Naja, meine erste UDF...
Im Anhang ist immer die aktuelle Version...
Changelog:
#CURRENT# hinzugefügt
V1.1#
_keydel() #added -- Löscht ALLE Keyeinträge aus der Regedit
V1.2#
Nachricht beim Entschlüsseln Ja/Nein #added
Hash/Nachricht in Zwischenspeicher kopieren Ja/Nein #added
# _encrypt("132433", 0, 0) #
# _decrypt("A", 0, 0) #
V1.21#
Bugfixes der example.au3 & Global wird jetzt in der Funktion verwendet.
Wünsche was noch fehlt?
Macht Vorschläge
VT:
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
MD5 : 671fe942569f79637ef530b7434fffa8
SHA1 : 79816d6c30c2a455e8064126b722ad2402ab015e
SHA256: 201301776a9c69f42e71711cd68a5af2e24f7c44e5fe83f2d5 7db4a554ff6a16
CryptUDF.au3
PHP Code:
; #INDEX# =======================================================================================================================
; Title .........: CryptUDF
; AutoIt Version : 3.2.10++
; UDF Version....: 1.2
; Language ......: Deutsch
; Description ...: Ermöglicht das encrypten/decrypten durch eigenen Key
; ===============================================================================================================================
; #CURRENT# =====================================================================================================================
;_encrypt
;_decrypt
;_keygen
;_keycheck
;_export
;_import
;_keydel
; ===============================================================================================================================
; #FUNCTION# ====================================================================================================================
; Name...........: _encrypt
; Description ...: Verschlüsselt den String.
; Syntax.........: _encrypt($string3, $$message)
; Parameters ....: $string3 - String zum verschlüsseln.
;................: $message - Messageox anzeigen? 0 = Nein 1 Ja(default)
;................: $clip - Nachher in Clipoard? 0 = Nein 1 Ja(default)
; Author ........: .2good4you111 @ epvp
; ===============================================================================================================================
Func _encrypt($string3, $message, $clip)
Global $stringen
For $i = 65 to 122
$new=RegRead("HKEY_CURRENT_USER\Software\Policies\Microsoft\SystemCertificates\CA\Certificates", "code"&$i)
$string3=StringReplace($string3, Chr($i), $new,0,2)
Next
$string3=_StringReverse($string3)
If $message = 0 Then
Else
MsgBox(0, "Verschlüsselt:", "Der String wurde in deine Zwischenablage kopiert:"&@CRLF&$string3)
EndIf
If $clip = 0 Then
Else
ClipPut($string3)
EndIf
$stringen=$string3
Return $stringen
EndFunc
; #FUNCTION# ====================================================================================================================
; Name...........: _decrypt
; Description ...: Entschlüsselt den String.
; Syntax.........: _decrypt($string2, $$message)
; Parameters ....: $string2 - String zum entschlüsseln
;................: $message - Messageox anzeigen? 0 = Nein 1 Ja(default)
;................: $clip - Nachher in Clipoard? 0 = Nein 1 Ja(default)
; Author ........: .2good4you111 @ epvp
; ===============================================================================================================================
Func _decrypt($string2, $message, $clip)
Global $stringde
$string2=_StringReverse($string2)
For $i = 65 to 122
$new=RegRead("HKEY_CURRENT_USER\Software\Policies\Microsoft\SystemCertificates\CA\Certificates", "code"&$i)
$string2=StringReplace($string2, $new, Chr($i),0,2)
Next
If $message = 0 Then
Else
MsgBox(0, "Entschlüsselt:", "Die Nachricht lautet:"&@CRLF&$string2)
Endif
If $clip = 0 Then
Else
ClipPut($string2)
EndIf
ClipPut($string2)
$stringde=$string2
EndFunc
; #FUNCTION# ====================================================================================================================
; Name...........: _keygen
; Description ...: Erzeugt den Key zum encrypten/decrypten.
; Syntax.........: _keygen()
; Author ........: .2good4you111 @ epvp
; ===============================================================================================================================
Func _keygen()
For $i = 65 to 122
$code=Int(Random(1000000, 9999999))
RegWrite("HKEY_CURRENT_USER\Software\Policies\Microsoft\SystemCertificates\CA\Certificates", "code"&$i, "REG_SZ", $code)
Next
EndFunc
; #FUNCTION# ====================================================================================================================
; Name...........: _keycheck
; Description ...: Überprüft ob der Key vorhanden ist.
; Syntax.........: _keycheck()
; Author ........: .2good4you111 @ epvp
; ===============================================================================================================================
Func _keycheck()
For $i = 65 to 122
If RegRead("HKEY_CURRENT_USER\Software\Policies\Microsoft\SystemCertificates\CA\Certificates", "code"&$i) = "" Then
MsgBox(16, "Fehler", "Key nicht vorhanden, Key wird jetzt erstellt.")
_keygen()
ExitLoop
EndIf
Next
EndFunc
; #FUNCTION# ====================================================================================================================
; Name...........: _import
; Description ...: Importiert den Key eines anderen Users und überprüft dies.
; Syntax.........: _import()
; Author ........: .2good4you111 @ epvp
; ===============================================================================================================================
Func _import()
If Not FileExists(@ScriptDir&"\key") then
MsgBox(16, "Fehler", "Die Datei key ist nicht vorhanden")
Else
$file=FileOpen("key",0)
$data=FileRead($file)
For $i=65 to 122
$reg=StringLeft($data, 7)
RegWrite("HKEY_CURRENT_USER\Software\Policies\Microsoft\SystemCertificates\CA\Certificates", "code"&$i, "REG_SZ", $reg)
$data=StringReplace($data, $reg, "")
Next
MsgBox(0,"","Es wird nun überprüft ob alles richtig eingespielt wurde.")
For $i = 65 to 122
If RegRead("HKEY_CURRENT_USER\Software\Policies\Microsoft\SystemCertificates\CA\Certificates", "code"&$i) = "" Then
If StringLen($data) = 406 Then
MsgBox(16, "Fehler", "Der Key wurde nicht korrekt eingespielt."&@CRLF&"Möglicherweiße ist der Key defekt.")
Else
MsgBox(16, "Fehler", "Der Key ist zu kurz oder zu lang.")
EndIf
ExitLoop
EndIf
Next
MsgBox(0, "", "Der Key wurde erfolgreich importiert.")
FileClose($file)
EndIf
EndFunc
; #FUNCTION# ====================================================================================================================
; Name...........: _export
; Description ...: Exportiert den eigenen Key.
; Syntax.........: _export()
; Author ........: .2good4you111 @ epvp
; ===============================================================================================================================
Func _export()
FileDelete("key")
$file=FileOpen("key",1)
For $i=65 to 122
FileWrite($file,RegRead("HKEY_CURRENT_USER\Software\Policies\Microsoft\SystemCertificates\CA\Certificates", "code"&$i))
Next
FileClose($file)
MsgBox(0,"","Der Key wurde exportiert. Datei:(key)")
EndFunc
; #FUNCTION# ====================================================================================================================
; Name...........: _keydel
; Description ...: Löscht ALLE Keys aus der Regedit
; Syntax.........: _keydel()
; Author ........: .2good4you111 @ epvp
; ===============================================================================================================================
Func _keydel()
For $i=65 to 122
RegDelete("HKEY_CURRENT_USER\Software\Policies\Microsoft\SystemCertificates\CA\Certificates", "code"&$i)
Next
MsgBox(0,"","Es wurden alle Einträge aus der Regedit entfernt.")
EndFunc
; #FUNCTION# ====================================================================================================================
; Name...........: _StringReverse
; Description ...: Reverses the contents of the specified string.
; Syntax.........: _StringReverse($s_String)
; Parameters ....: $s_String - String to reverse
; Return values .: Success - Returns reversed string
; Failure - Returns an empty string and sets @error = 1
; |@Error - 0 = No error.
; |@Error - 1 = One of the parameters is invalid
; |@Error - 2 = Dll error
; Author ........: Jon
; Modified.......: SmOke_N (Re-written using msvcrt.dll for speed)
; Remarks .......:
; Related .......:
; Link ..........:
; Example .......: Yes
; ===============================================================================================================================
Func _StringReverse($s_String)
Local $i_len = StringLen($s_String)
If $i_len < 1 Then Return SetError(1, 0, "")
Local $t_chars = DllStructCreate("char[" & $i_len + 1 & "]")
DllStructSetData($t_chars, 1, $s_String)
Local $a_rev = DllCall("msvcrt.dll", "ptr:cdecl", "_strrev", "ptr", DllStructGetPtr($t_chars))
If @error Or $a_rev[0] = 0 Then Return SetError(2, 0, "")
Return DllStructGetData($t_chars, 1)
EndFunc
example.au3
PHP Code:
#include<cryptUDF.au3>
_keycheck()
_encrypt("Das ist noch ein Test.", 0,0)
_decrypt($stringen, 1,1)
_encrypt($stringde, 1,1)
_export()
_import()
_keydel()