Ich habe mir mal die Zeit genommen ein FUN Programm zu machen, welches einen eingegebenen Text mit verschiedenen Methoden "verschlüsselt" und auch wieder "entschlüsseln" kann. Der so entstandene Code ist mit einem selbst festgelegtem Passwort geschützt. Es hat noch weitere kleine Features:
Features:
->"verschlüsseln & entschlüsseln mit Passwort
-> Zurzeit 3 verschiedene Methoden zum Verschlüsseln & Entschlüsseln
->öffnen/speichern
->aus Zwischenablage Text/Code kopieren/einfügen
->Transparenz des Fensters (0%,25%,50%,75%)
->(zu Traymenu) Minimieren/Maximieren
Nutzen:
->Spaß weil Text nicht lesbar ist :=)
->"geheime" Nachrichten wersenden
Dank an:
-> Alle die mir bei meinen Fragen geholfen haben
-> an OSCAR, weil er 1 Methode geschrieben hat
-> Alle die es nutzen
[Blockierte Grafik: http://www.bilder-space.de/thumb/18.06itUqhWOPttkpHC5.jpg]
Freue mich auf konstruktive Kritik.
Hier ist das Script:
Spoiler anzeigen
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_icon=..\..\pencil.ico
#AutoIt3Wrapper_outfile=Test_coder.exe
#AutoIt3Wrapper_UseUpx=n
#AutoIt3Wrapper_Add_Constants=n
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <GUIConstantsEx.au3>
#include <GUIConstants.au3>
#include <EditConstants.au3>
#include <WindowsConstants.au3>
#include <ComboConstants.au3>
#include <EditConstants.au3>
#Include <GuiComboBox.au3>
#Include <String.au3>
opt("traymenumode",1)
opt("GUIResizeMode",1)
#Region ### START Koda GUI section ### Form=c:\dokumente und einstellungen\sebastian\desktop\autoit\coder\coder.kxf
$Form1_1 = GUICreate("Text(de-)codierer", 786, 465, 244, 224)
$Group1 = GUICtrlCreateGroup("Codieren", 8, 0, 377, 441)
$Group3 = GUICtrlCreateGroup("Codierter Text", 16, 208, 361, 225)
$text_cod = GUICtrlCreateInput("", 24, 224, 345, 200,$WS_VSCROLL+$ES_MULTILINE+$ES_WANTRETURN)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group5 = GUICtrlCreateGroup("Passwort:", 16, 120, 361, 81)
$pw_cod = GUICtrlCreateInput("", 24, 136, 345, 55,$WS_VSCROLL+$ES_MULTILINE+$ES_WANTRETURN)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group7 = GUICtrlCreateGroup("Einstellungen:", 16, 32, 361, 81)
$Label1 = GUICtrlCreateLabel("Methode, mit der codiert werden soll:", 24, 48, 214, 17)
GUICtrlSetFont(-1, 9, 800, 0, "MS Sans Serif")
$method_cod = GUICtrlCreateCombo("Methode 1", 24, 72, 321, 25, BitOR($CBS_DROPDOWNLIST,$CBS_AUTOHSCROLL))
GUICtrlSetData(-1, "Methode 2|Methode 3")
GUICtrlCreateGroup("", -99, -99, 1, 1)
$codieren = GUICtrlCreateButton("!!CODIEREN!!", 72, 8, 305, 25, 0)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group2 = GUICtrlCreateGroup("Decodieren", 400, 0, 377, 441)
$Group4 = GUICtrlCreateGroup("Decodierter Text", 408, 208, 361, 225)
$text_decod = GUICtrlCreateInput("", 416, 224, 345, 200,$WS_VSCROLL+$ES_MULTILINE+$ES_WANTRETURN)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group6 = GUICtrlCreateGroup("Passwort:", 408, 120, 361, 81)
$pw_decod = GUICtrlCreateInput("", 414, 135, 345, 55,$WS_VSCROLL+$ES_MULTILINE+$ES_WANTRETURN)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group8 = GUICtrlCreateGroup("Einstellungen:", 408, 32, 361, 81)
$Label3 = GUICtrlCreateLabel("Methode, mit der decodiert werden soll:", 421, 48, 228, 17)
GUICtrlSetFont(-1, 9, 800, 0, "MS Sans Serif")
$method_decod = GUICtrlCreateCombo("Methode 1", 416, 72, 321, 25, BitOR($CBS_DROPDOWNLIST,$CBS_AUTOHSCROLL))
GUICtrlSetData(-1, "Methode 2|Methode 3")
GUICtrlCreateGroup("", -99, -99, 1, 1)
$decodieren = GUICtrlCreateButton("!!DECODIEREN!!", 471, 8, 297, 25, 0)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$menu1 = GUICtrlCreateMenu("Öffnen...")
$menu2 = GUICtrlCreateMenu("Speichern...")
$menu3= GUICtrlCreateMenu("Zwischenablage...")
$exit=GUICtrlCreateMenu("Fenster...")
$exit3 = GUICtrlCreateMenu("&Programm...")
$mini= GUICtrlCreateMenuItem("Zu Traymenu minimieren",$exit,0)
$minis= GUICtrlCreateMenuItem("Zu Startleiste minimieren",$exit,1)
$maxi= GUICtrlCreateMenuItem("Maximieren",$exit,2)
$maxinormal= GUICtrlCreateMenuItem("Normale Größe",$exit,3)
GUICtrlCreateMenuItem("",$exit,4)
$trans_0 = GUICtrlCreateMenuItem("Keine Transperenz", $exit,5,1)
GUICtrlSetState($trans_0,$Gui_checked)
$trans_25 = GUICtrlCreateMenuItem("Transperenz (25%)", $exit,6,1)
$trans_50 = GUICtrlCreateMenuItem("Transperenz (50%)", $exit,7,1)
$trans_75 = GUICtrlCreateMenuItem("Transperenz (75%)", $exit,8,1)
$exi = GUICtrlCreateMenuItem("Beenden", $exit3,7)
$copy_code = GUICtrlCreateMenuItem("Code kopieren",$menu3)
$paste_text = GUICtrlCreateMenuItem("Text einfügen",$menu3)
GUICtrlCreateMenuItem("",$menu3)
$paste_code = GUICtrlCreateMenuItem("Code einfügen",$menu3)
$copy_text = GUICtrlCreateMenuItem("Text kopieren",$menu3)
$save_code = GUICtrlCreateMenuItem("Code speichern",$menu2)
$save_text = GUICtrlCreateMenuItem("Text speichern",$menu2)
$open_code = GUICtrlCreateMenuItem("Code öffnen",$menu1)
$open_text = GUICtrlCreateMenuItem("Text öffnen",$menu1)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
$maximieren = TrayCreateItem("Maximieren")
$exit2 = TrayCreateItem("Beenden")
$new_string_cod="Du hast noch nichts codiert."
While 1
$nMsg = GUIGetMsg()
$nmsg2 = Traygetmsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
case $exi
exit(1)
case $mini
GUISetState(@sw_hide)
case $minis
GUISetState(@SW_MINIMIZE)
case $maxi
GUISetState(@SW_MAXIMIZE)
case $maxinormal
GUISetState(@SW_RESTORE)
case $trans_0
WinSetTrans("Text(de-)codierer","",255)
case $trans_25
WinSetTrans("Text(de-)codierer","",191)
case $trans_50
WinSetTrans("Text(de-)codierer","",127)
case $trans_75
WinSetTrans("Text(de-)codierer","",63)
case $copy_code
clipput(guictrlread($text_cod))
case $paste_text
GUICtrlSetData($text_cod,clipget())
case $paste_code
GUICtrlSetData($text_decod,clipget())
case $copy_text
clipput(guictrlread($text_decod))
case $save_code
$savefile = FileSaveDialog("Code speichern",@scriptdir,"Code-Dateien (*.code)",2+16)
if not @error Then
if StringRight($savefile,5) = ".code" then
$text = GUICtrlRead($text_cod)
$open_file=fileopen($savefile,1)
filewrite($open_file,$text)
FileClose($open_file)
msgbox(0,"Erfolg","Das speichern war erfolgreich.")
Else
msgbox(0,"Error","Sie haben nicht die vorgesehene Dateiendung verwendet.")
endif
Else
msgbox(0,"Error","Es wurde keine Datei ausgewählt.")
endif
case $save_text
$savefile = FileSaveDialog("Decodierten Text speichern",@scriptdir,"DeCode-Dateien (*.decode)",2+16)
if not @error Then
if StringRight($savefile,7) = ".decode" then
$text = GUICtrlRead($text_decod)
$open_file=fileopen($savefile,1)
filewrite($open_file,$text)
FileClose($open_file)
msgbox(0,"Erfolg","Das speichern war erfolgreich.")
Else
msgbox(0,"Error","Sie haben nicht die vorgesehene Dateiendung verwendet.")
endif
else
msgbox(0,"Error","Es wurde keine Datei ausgewählt.")
endif
case $open_code
$file_open = FileOpenDialog("Code öffnen",@scriptdir,"Code-Dateien (*.code)",1+2)
if not @error Then
$open = FileOpen($file_open,0)
$read_file_open = FileRead($open)
FileClose($open)
guictrlsetdata($text_decod,$read_file_open)
Else
msgbox(0,"Error","Du hast keine Datei ausgewählt.")
endif
case $open_text
$file_open = FileOpenDialog("Decodierten Text öffnen",@scriptdir,"DeCode-Dateien (*.decode)",1+2)
if not @error Then
$open = FileOpen($file_open,0)
$read_file_open = FileRead($open)
FileClose($open)
guictrlsetdata($text_cod,$read_file_open)
Else
msgbox(0,"Error","Du hast keine Datei ausgewählt.")
endif
case $codieren
$read_text_cod = GUICtrlRead($text_cod)
$read_pw_cod = GUICtrlRead($pw_cod)
$read_method_cod = guictrlread($method_cod)
if $read_pw_cod <> "" Then
if $read_text_cod <> "" Then
$string_code ="<" & $read_pw_cod & ">" & $read_text_cod
;start Methode 1 code
if $read_method_cod = "Methode 1" Then
$new_string_code = _StringToHex($string_code)
GUICtrlSetData($text_cod,$new_string_code)
EndIf
; end Methode 1 code
;start Methode 2 code
if $read_method_cod = "Methode 2" Then
$new_string_code = StringTobinary($string_code)
GUICtrlSetData($text_cod,$new_string_code)
EndIf
; end Methode 2 code
;start Methode 3 code
if $read_method_cod = "Methode 3" Then
GUICtrlSetData($text_cod,_StringToBin($string_code))
EndIf
; end Methode 3 code
Else
MsgBox(0,"Error","Es wurde kein Text eingegeben, der codiert werden kann.")
endif
Else
msgbox(0,"Error","Es wurde kein Passwort eingegeben. Bitte gebe ein Passwort an.")
endif
case $decodieren
$read_text_decod = GUICtrlRead($text_decod)
$read_pw_decod = GUICtrlRead($pw_decod)
$read_method_decod = GUICtrlRead($method_decod)
if $read_pw_decod <> "" Then
if $read_text_decod <> "" Then
;start Methode 1 decode
if $read_method_decod = "Methode 1" Then
$new_string_decod = _HexToString($read_text_decod)
$string_pw_decod = _StringBetween($new_string_decod,"<",">")
if not @error then
if $string_pw_decod[0] == $read_pw_decod then
$new_string_without_pw=Stringsplit($new_string_decod,">")
GUICtrlSetData($text_decod,$new_string_without_pw[2])
Else
msgbox(0,"Error","Die Passwörter stimmen nicht überein.")
endif
Else
msgbox(0,"Error","Der Code kann nicht weiter decodiert werden.")
endif
EndIf
;end Methode 1 decode
;start Methode 2 decode
if $read_method_decod = "Methode 2" Then
$new_string_decod = BinaryToString($read_text_decod)
$string_pw_decod = _StringBetween($new_string_decod,"<",">")
if not @error then
if $string_pw_decod[0] == $read_pw_decod then
$new_string_without_pw=Stringsplit($new_string_decod,">")
GUICtrlSetData($text_decod,$new_string_without_pw[2])
Else
msgbox(0,"Error","Die Passwörter stimmen nicht überein.")
endif
Else
msgbox(0,"Error","Der Code kann nicht weiter decodiert werden.")
endif
endif
;end Methode 2 decode
;start Methode 3 decode
if $read_method_decod = "Methode 3" Then
$new_string_decod = _BinToString($read_text_decod)
$string_pw_decod = _StringBetween($new_string_decod,"<",">")
if not @error then
if $string_pw_decod[0] == $read_pw_decod then
$new_string_without_pw=Stringsplit($new_string_decod,">")
GUICtrlSetData($text_decod,$new_string_without_pw[2])
Else
msgbox(0,"Error","Die Passwörter stimmen nicht überein.")
endif
Else
msgbox(0,"Error","Der Code kann nicht weiter decodiert werden.")
endif
endif
;end Methode 3 decode
Else
MsgBox(0,"Error","Es wurde kein Text eingegeben, der codiert werden kann.")
endif
Else
msgbox(0,"Error","Es wurde kein Passwort eingegeben. Bitte gebe ein Passwort an.")
endif
EndSwitch
switch $nmsg2
case $maximieren
GUISetState(@sw_show)
case $exit2
exit(1)
endswitch
WEnd
;################## Verschlüsselungfunktionen von OSCAR aus http://www.autoit.de #########################################
Func _BinToString($bin)
Local $aChr = StringRegExp($bin, '.{8}', 3), $dec, $string = ''
For $k = 0 To UBound($aChr) - 1
$dec = 0
For $i = 8 To 1 Step -1
$dec += 2 ^ (8 - $i) * StringMid($aChr[$k], $i, 1)
Next
$string &= Chr($dec)
Next
Return $string
EndFunc ;==>_BinToString
Func _StringToBin($string)
Local $aChr = StringSplit($string, ''), $bin = ''
For $k = 1 To $aChr[0]
For $i = 7 To 0 Step -1
$bin &= (BitAND(Asc($aChr[$k]), 2 ^ $i) = 2 ^ $i) * 1
Next
Next
Return $bin
EndFunc ;==>_StringToBin
;########################################################################################################################
[/autoit]Ein Downlaod mit allen Dateien ist anbei.
Die Koda-Datei ist leider etwas veraltet