Hallo Leute,
ich habe ein PRoblem mit meiner Encrypt-Funktion.
Ich habe im @ScriptDir eine verschlüsselte GPW.ini, die ich einlese, im Script entschlüssel und dann soll der Inhalt in eine temporäre Datei geschrieben werden, um
1. eine Kontrolle zu haben
2. weiter mit den Daten arbeiten zu können.
Das Encrypttool bastelt mit aber die entschlüsselte INI immer in den übergeordneten Ordner mit folgendem Dateinamen: Skin_Installer_NEU_480x272_SkinV21GPW.ini
Dieser Name setzt sich aus dem @ScriptDir und GPW.ini zusammen.... und ich habe keine Ahnung warum...
Hier ist die betreffende au3:
Spoiler anzeigen
Local $chars, $text, $text1, $inifile, $inifile_1, $i_EncryptLevel, $s_EncryptPassword, $text, $file
TraySetState(4)
GUICtrlDelete($Install)
GUICtrlDelete($Abbruch)
GUICtrlDelete($label6)
If FileExists(@ScriptDir & "\dummy.txt") Then
MsgBox(0, "ACHTUNG", "Es wird mit den Daten der DUMMY.TXT gearbeitet", 5)
FileCopy(@ScriptDir & "\dummy.txt", $pfad & "hardware.txt", 1)
Else
$progress = GUICtrlCreateProgress(144, 296, 470, 29, BitOR($PBS_SMOOTH, $WS_BORDER))
$label6 = GUICtrlCreateLabel("PNA Analysescripte werden kopiert", 144, 248, 470, 24, BitOR($SS_CENTER, $SS_CENTERIMAGE))
RunWait($pfad & 'rapistart.exe ' & '"' & '\my flash disk\temp\hardware.exe' & '"', @ScriptDir, @SW_HIDE)
GUICtrlDelete($label6)
$label6 = GUICtrlCreateLabel("PNA Hard- und Software wird analysiert", 144, 248, 470, 24, BitOR($SS_CENTER, $SS_CENTERIMAGE))
For $x = 1 To 100 Step 1
GUICtrlSetData($progress, $x)
Sleep(90)
Next
RunWait($pfad & 'cecopy.exe /s ' & '"' & 'dev:\temp\hardware.txt' & '"' & ' ' & '"' & $pfad & 'hardware.txt' & '"', @TempDir, @SW_HIDE)
EndIf
If FileExists($pfad & 'hardware.txt') Then
$hardware1 = FileRead($pfad & 'hardware.txt')
GUICtrlDelete($progress)
GUICtrlDelete($label6)
$hardware = StringSplit($hardware1, "|")
$file = FileOpen(@ScriptDir & "\GPW.ini", 0)
If $file = -1 Or "" Then
MsgBox(0, "ACHTUNG", "GPW.ini fehlt oder ist leer " & @CRLF & "oder beschädigt. " & @CRLF & " Bitte die INI erneut downloaden " & @CRLF & "und in den Install-Ordner legen!", 10)
endscript()
Exit
EndIf
$chars = FileRead($file)
FileClose($file)
;~ Encrypt-Funktion der INI
$sEncryptPassword = 'test'
$iEncryptLevel = '2'
$text = _StringEncrypt(0, $chars, $sEncryptPassword, $iEncryptLevel)
$inifile = FileOpen(@ScriptDir & "\GPW_1.ini", 2)
FileWrite($inifile, $text)
FileClose($inifile)
;~ Encrypt-Ende
$var = IniReadSection(@ScriptDir & "\GPW_1.ini", "version_path")
$ini = IniReadSection(@ScriptDir & "\GPW_1.ini", "version_size")
For $i = 1 To $ini[0][0]
If $ini[$i][1] = $hardware[4] Then
$version = $ini[$i][0]
ExitLoop
FileClose($inifile)
Else
$version = "----"
EndIf
Next
If $version = "----" Then
$fh = MsgBox(64, "Update", "Das Programm hat die GoPal-Version" & @CRLF & "nicht erkannt!" & @CRLF & '' & @CRLF & "Möchten Sie Online auf ein Update prüfen?")
If $fh = 1 Then
;~ ###################### Neue Funktion zum Update der GPW.INI
;~####### FTP-Daten
$server = 'testserver.de'
$username = 'tester'
$pass = 'test'
$path = '/skin_ini_updater/'
$version_file = (@ScriptDir & "\Update.txt")
$version_line = FileReadLine($version_file, 2)
$DownloadFile_1 = (@ScriptDir & "\1Update.txt") ;~ dito
$Ftp_FileName_1 = "Update.txt" ;~ Dateiname in Var schreiben
$Open = _FTP_Open('MyFTP Control') ;~ Öffne FTP
If @error=1 Then ftperror() ;~ Wenn kein FTP möglich, dann gehe in Fehler
$label4 = GUICtrlCreateLabel("FTP wird geöffnet...", 144, 200, 470, 24, BitOR($SS_CENTER, $SS_CENTERIMAGE))
Sleep(500)
$Conn = _FTP_Connect($Open, $server, $username, $pass) ;~ Verbinden mit dem FTP
If @error=1 Then ftperror() ;~ Wenn kein FTP möglich, dann gehe in Fehler
GUICtrlDelete($label4)
$label4 = GUICtrlCreateLabel("Anmelden am Server....", 144, 200, 470, 24, BitOR($SS_CENTER, $SS_CENTERIMAGE))
Sleep(500)
$FtpDir = _FTP_DirSetCurrent($Conn, $path) ;~ Wechseln des Standart-Verzeichnisses
If @error=1 Then ftperror() ;~ Wenn kein FTP möglich, dann gehe in Fehler
GUICtrlDelete($label4)
Local $Ftpd_1 = _FTP_ProgressDownload($Conn, $DownloadFile_1, $Ftp_FileName_1) ;~ Download mit Progressbar
If $Ftpd_1 = 1 Then ;~ Kontrolle, ob File da ist
Local $Ftpc = _FTP_Close($Open) ;~ FTP wieder schliessen
If FileExists($DownloadFile_1) Then ;~ Wenn File da ist
$version_line_1 = FileReadLine($DownloadFile_1, 2) ;~ Lese Zeile 2
EndIf
If $version_line = $version_line_1 Then ;~ Vergleiche Original-Update.txt mit neuer
$version = "----"
$goGPW = MsgBox(36, " Fehler", "Ihre Gopal-Version wird nicht unterstützt." & @CRLF & "Sie haben die Möglichkeit dem GopalWorld-Skin-Team durch einen Klick auf YES ihre Gopal-Version mitzuteilen. Das Goaplworld-Skin-Team wird daraufhin ihre Version kompatibel machen." & @CRLF & @CRLF & "Möchten Sie uns Ihre Gopal-Version mitteilen?")
If $goGPW = 6 Then
ShellExecute("http://dingsbums.de/gopal.php?size=" & $hardware[4] & "&pna=" & $hardware[5] & "&version=" & $hardware[6] & "&installer= GPW-Skin-Installer V2.1_470x272")
endscript()
Exit
Else
MsgBox(4096, " Fehler", "Diese Gopal Version " & @CRLF & "ist nicht mit diesem Skin kompatibel." & @CRLF & "Programm wird beendet.")
endscript()
Exit
EndIf
Else
MsgBox(64, "Update!", "Es ist eine Neue Version verfügbar!")
$fg = MsgBox(4, "Updaten?", "Möchten Sie jetzt Updaten?")
If $fg = 6 Then
$DownloadIniFile = ("\GPW_1.ini") ;~ Pfad in Var schreiben
$Ftp_IniName = "GPW.ini" ;~ Dateiname in Var schreiben
$Open = _FTP_Open('MyFTP Control') ;~ Öffne FTP
If @error=1 Then ftperror()
$label4 = GUICtrlCreateLabel("FTP wird geöffnet...", 144, 200, 470, 24, BitOR($SS_CENTER, $SS_CENTERIMAGE))
Sleep(500)
$Conn = _FTP_Connect($Open, $server, $username, $pass) ;~ Verbinden mit dem FTP
If @error=1 Then ftperror() ;~ Wenn kein FTP möglich, dann gehe in Fehler
GUICtrlDelete($label4)
$label4 = GUICtrlCreateLabel("Anmelden am Server....", 144, 200, 470, 24, BitOR($SS_CENTER, $SS_CENTERIMAGE))
Sleep(500)
$FtpDir = _FTP_DirSetCurrent($Conn, $path) ;~ Wechseln des Standart-Verzeichnisses
If @error=1 Then ftperror() ;~ Wenn kein FTP möglich, dann gehe in Fehler
GUICtrlDelete($label4)
Local $Ftpd_2 = _FTP_ProgressDownload($Conn, $DownloadIniFile, $Ftp_IniName) ;~ Download mit Progressbar
If $Ftpd_2 = 1 Then ;~ Kontrolle, ob File da ist
Local $Ftpc = _FTP_Close($Open) ;~ FTP wieder schliessen
Else
$label4 = GUICtrlCreateLabel("DATEI WURDE NICHT GELADEN!", 144, 200, 470, 24, BitOR($SS_CENTER, $SS_CENTERIMAGE))
Local $Ftpc = _FTP_Close($Open) ;~ FTP wieder schliessen
Sleep(3000)
endscript()
Exit
EndIf
Sleep(200)
$file_1 = FileOpen("\GPW_1.ini", 0)
If $file_1 = -1 Or "" Then
MsgBox(0, "ACHTUNG", "GPW.ini fehlt oder ist leer " & @CRLF & '' & @CRLF & "oder beschädigt." & @CRLF & "Bitte den Skin erneut downloaden " & @CRLF & "und in den Install-Ordner legen!", 10)
endscript()
Exit
EndIf
$chars_1 = FileRead($file_1)
FileClose($file_1)
;~ Encrypt-Funktion der INI
$sEncryptPassword_1 = 'test'
$iEncryptLevel_1 = '2'
$text_1 = _StringEncrypt(0, $chars_1, $sEncryptPassword_1, $iEncryptLevel_1)
[/autoit] [autoit][/autoit] [autoit]$inifile_1 = FileOpen("\GPW_1.ini", 2)
FileWrite($inifile_1, $text_1)
FileClose($inifile_1)
;~ Encrypt-Ende
$var = ''
$ini = ''
Sleep(100)
$var = IniReadSection("\GPW_1.ini", "version_path")
$ini = IniReadSection("\GPW_1.ini", "version_size")
If @error=1 Then
MsgBox(0, "ACHTUNG", "GPW.ini ist leer " & @CRLF & "oder beschädigt. " & @CRLF & " Bitte den Skin erneut downloaden " & @CRLF & "und in den Install-Ordner legen!", 10)
endscript()
Exit
EndIf
For $i = 1 To $ini[0][0]
If $ini[$i][1] = $hardware[4] Then
$version = $ini[$i][0]
ExitLoop
FileClose($inifile_1)
Else
$version = "----"
EndIf
Next
FileClose($inifile_1)
If $version = "----" Then
fehler()
EndIf
Else
fehler()
EndIf
EndIf
Else
ftperror()
EndIf
EndIf
EndIf
;~ ######################Ende der neuen Funktion
$version_type = StringLeft($version, StringLen($version) - 3)
$version_number = StringRight($version, 3)
AdlibUnRegister()
[/autoit] [autoit][/autoit] [autoit]GUICtrlDelete($label2)
[/autoit] [autoit][/autoit] [autoit]If $hardware[6] = "-" Then
MsgBox(16, "ACHTUNG", " Keine Speicher-Karte vorhanden " & @CRLF & "oder Speicher-Karte voll!" & @CRLF & '' & @CRLF & " Bitte Karte einsetzen und Programm neu starten.", 10)
endscript()
Exit
EndIf
$pfad1 = $pfad & '\' & 'GoPalWorld-Skin'
$dirsize = (DirGetSize($pfad1, 0))
$dirsizeround = Round($dirsize / 1024 / 1024, 2)
$installsize = ($dirsizeround - 4.00)
$speicher = Round($hardware[7] / 1024 / 1024, 2)
If $speicher <= 0 Then
$speicher = ($speicher * - 1)
EndIf
$bedarf = ($installsize - $speicher)
If $speicher <= $installsize Then
MsgBox(16, "ACHTUNG", "Zu wenig Speicherplatz auf der Speicherkarte!" & @CRLF & '' & @CRLF & "Es sind nur " & $speicher & "MB statt benötigter " & $installsize & "MB frei!" & @CRLF & "Bitte Speicher-Karte um " & $bedarf & "MB bereinigen, " & @CRLF & "oder grössere Karte einsetzen und Programm neu starten!", 10)
endscript()
Exit
EndIf
GUICtrlDelete($label2)
$label2 = GUICtrlCreateLabel("Das Gerät ist ein ----> " & $hardware[5], 144, 152, 470, 24, BitOR($SS_LEFT, $SS_CENTERIMAGE))
If StringLeft(StringRight($hardware[5], 4), 1) = 5 Then
[/autoit] [autoit][/autoit] [autoit]$hardware[1] = "Sirf"
EndIf
GUICtrlDelete($label3)
GUICtrlDelete($label4)
GUICtrlDelete($label5)
GUICtrlDelete($label6)
$label3 = GUICtrlCreateLabel("Das System arbeitet mit einem " & $hardware[1] & " Prozessor. ", 144, 176, 470, 24, BitOR($SS_LEFT, $SS_CENTERIMAGE))
$label4 = GUICtrlCreateLabel("Folgende GoPal-Software ist installiert: " & $version_type & " " & $version_number, 144, 200, 470, 24, BitOR($SS_LEFT, $SS_CENTERIMAGE))
ConsoleWrite("Ordner= " &'GoPalWorld-Skin\' & $version_type & '' & $version_number & '\Atlas')
If $hardware[2] == "mfd" And $hardware[3] = "sd" Then
$label5 = GUICtrlCreateLabel("POIObserver-Sourcen gefunden, PoiObs anpassen ->", 144, 224, 420, 24, BitOR($SS_LEFT, $SS_CENTERIMAGE))
$poibs_ins = GUICtrlCreateCombo("", 560, 224, 50, 50)
GUICtrlSetData(-1, "--|mfd|sd", "mfd")
ElseIf $hardware[2] == "mfd" And $hardware[3] = "-" Then
$label6 = GUICtrlCreateLabel("POIObserver-Sourcen gefunden, PoiObs anpassen ->", 144, 224, 420, 24, BitOR($SS_LEFT, $SS_CENTERIMAGE))
$poibs_ins = GUICtrlCreateCombo("", 560, 224, 50, 50)
GUICtrlSetData(-1, "--|mfd", "mfd")
ElseIf $hardware[2] == "-" And $hardware[3] = "sd" Then
$label6 = GUICtrlCreateLabel("POIObserver-Sourcen gefunden, PoiObs anpassen ->", 144, 224, 420, 24, BitOR($SS_LEFT, $SS_CENTERIMAGE))
$poibs_ins = GUICtrlCreateCombo("", 560, 224, 50, 50)
GUICtrlSetData(-1, "--|sd", "sd")
Else
$label6 = GUICtrlCreateLabel("Keine POIOBServer-Sourcen gefunden", 144, 224, 470, 24, BitOR($SS_LEFT, $SS_CENTERIMAGE))
EndIf
TraySetIcon()
[/autoit] [autoit][/autoit] [autoit]$Install = GUICtrlCreateButton("", 504, 352, 101, 69, $BS_BITMAP)
GUICtrlSetImage(-1, $pfad & "\go.bmp", 0)
_GUICtrl_SetOnhover(-1, "_hover_Proc", "_Leave_hover_Proc", "PrimaryDown_Proc", "PrimaryUp_Proc")
$Abbruch = GUICtrlCreateButton("", 392, 352, 101, 69, $BS_BITMAP)
GUICtrlSetImage(-1, $pfad & "\stop.bmp", 0)
_GUICtrl_SetOnhover(-1, "_hover_Proc", "_Leave_hover_Proc", "PrimaryDown_Proc", "PrimaryUp_Proc")
If $hardware[7] = "-" Then
GUICtrlDelete($Install)
MsgBox(4096, " Fehler", "Keine Speicherkarte gefunden " & @CRLF & " Programm wird beendet")
endscript()
Exit
EndIf
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
endscript()
ExitLoop
Case $msg = $Install
#include "GPWs_func_3.au3"
ExitLoop
Case $msg = $Abbruch
endscript()
ExitLoop
EndSelect
WEnd
EndIf
Wie kriege ich es hin, dass der encrytper mir das in die gewünschte Datei schreibt, nämlich als 1_GPW.ini in den Ordner @ScriptDir????