Bat2Exe

  • Hallo Leute
    ich weiß nicht ob ihr das Problem kennt:
    Ihr schreibt eine .bat-Datei und wollt sie weitergeben.
    Nun wollt ihr aber nicht dass jemand euren Quelltext sieht
    naja zumindestens ist es mir so gegangen bevor ich AutoIt konnte
    und nun bin ich vorgestern wieder auf dieses Problem gestoßen und hab das auch gleich umgesetzt
    rausgekommen ist das hier:

    Spoiler anzeigen
    [autoit]


    #AutoIt3Wrapper_Compression=4
    #AutoIt3Wrapper_Res_Comment=Bat2Exe by Padmak
    #AutoIt3Wrapper_Res_Description=Bat2Exe
    #AutoIt3Wrapper_Res_Fileversion=1.0.0.0
    #AutoIt3Wrapper_Res_LegalCopyright=(c) by Padmak
    #AutoIt3Wrapper_Res_Language=1031
    #Obfuscator_Parameters=/cs 1 /cf 1 /cv 1
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    FileInstall("lang.ini", "lang.ini")
    $ini = @ScriptDir & "\lang.ini"
    If Not FileExists($ini) Then
    MsgBox(64, "Error", "Unable to load lang.ini")
    Exit
    Else
    $source = IniRead($ini, "Source-Label", "data", "Error")
    $ts1 = IniRead($ini, "Tabsheet-1", "data", "Error")
    $ts2 = IniRead($ini, "Tabsheet-2", "data", "Error")
    $commentlabel = IniRead($ini, "Comment-Label", "data", "Error")
    $descriptionlabel = IniRead($ini, "Description-Label", "data", "Error")
    $descriptionedit = IniRead($ini, "Description-Edit", "data", "Error")
    $versionlabel = IniRead($ini, "Version-Label", "data", "Error")
    $copyrightlabel = IniRead($ini, "Legal Copyright-Label", "data", "Error")
    $iconlabel = IniRead($ini, "Icon-Label", "data", "Error")
    $searchbutton = IniRead($ini, "Search-Button", "data", "Error")
    $outputlabel = IniRead($ini, "Output-Label", "data", "Error")
    $outputbutton = IniRead($ini, "Output-Button", "data", "Error")
    EndIf

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Opt("GUIOnEventMode", 1)
    $Form1 = GUICreate("Bat2Exe by Padmak", 647, 493, -1, -1)
    $Tab1 = GUICtrlCreateTab(8, 8, 633, 409)
    GUICtrlSetResizing(-1, $GUI_DOCKWIDTH + $GUI_DOCKHEIGHT)
    $TabSheet1 = GUICtrlCreateTabItem($ts1)
    GUICtrlSetState(-1, $GUI_SHOW)
    $Edit1 = GUICtrlCreateEdit("", 20, 65, 609, 345)
    GUICtrlSetData(-1, "")
    $Label1 = GUICtrlCreateLabel($source, 20, 41, 228, 17)
    $TabSheet2 = GUICtrlCreateTabItem($ts2)
    $Label3 = GUICtrlCreateLabel($commentlabel, 48, 40, 60, 17)
    $Edit2 = GUICtrlCreateEdit("", 112, 40, 513, 65, BitOR($ES_AUTOVSCROLL, $ES_AUTOHSCROLL, $ES_WANTRETURN))
    GUICtrlSetData(-1, "Created by Padmak's Bat2Exe")
    $Label4 = GUICtrlCreateLabel($descriptionlabel, 32, 112, 72, 17)
    $Edit3 = GUICtrlCreateEdit("", 112, 112, 513, 41, BitOR($ES_AUTOVSCROLL, $ES_AUTOHSCROLL, $ES_WANTRETURN))
    GUICtrlSetData(-1, $descriptionedit)
    $Label5 = GUICtrlCreateLabel($versionlabel, 64, 160, 42, 17)
    $Input2 = GUICtrlCreateInput("1.0.0.0", 112, 160, 121, 21)
    $Label6 = GUICtrlCreateLabel($copyrightlabel, 24, 192, 80, 17)
    $Input3 = GUICtrlCreateInput("(c) by Padmak", 112, 192, 153, 21)
    $Label7 = GUICtrlCreateLabel($iconlabel, 72, 224, 28, 17)
    $Input4 = GUICtrlCreateInput("", 112, 224, 225, 21)
    $Button1 = GUICtrlCreateButton($searchbutton, 344, 224, 91, 25, 0)
    GUICtrlCreateTabItem("")
    $Button2 = GUICtrlCreateButton($outputbutton, 344, 448, 291, 25)
    $Input1 = GUICtrlCreateInput("Myfile.exe", 8, 448, 257, 21)
    $Label2 = GUICtrlCreateLabel($outputlabel, 8, 424, 120, 17)
    GUICtrlSetOnEvent($Button1, "search")
    GUICtrlSetOnEvent($Button2, "_Compile")
    GUISetOnEvent($GUI_EVENT_CLOSE, "spezial")
    GUISetOnEvent($GUI_EVENT_MINIMIZE, "spezial")
    GUISetState(@SW_SHOW)

    [/autoit] [autoit][/autoit] [autoit]

    Func search()
    $icon = FileOpenDialog("Icon suchen", @ScriptDir, "Icon-Dateien (*.ico)")
    GUICtrlSetData($Input4, $icon)
    EndFunc ;==>search

    [/autoit] [autoit][/autoit] [autoit]

    Func spezial()
    If @GUI_CtrlId = $GUI_EVENT_CLOSE Then Exit
    If @GUI_CtrlId = $GUI_EVENT_MINIMIZE Then GUISetState(@SW_MINIMIZE)
    EndFunc ;==>spezial

    [/autoit] [autoit][/autoit] [autoit]

    Func _Compile()
    $pfad = GUICtrlRead($Input1)
    $text = GUICtrlRead($Edit1)
    $compilename = "~DF" & Random(1,999,1) & "D" & Random(1,999,1) & ".tmp"
    $name = @TempDir & "\" & $compilename
    $fertigname = StringSplit($pfad, ".exe", 1)
    $comment = GUICtrlRead($Edit2)
    $description = GUICtrlRead($Edit3)
    $version = GUICtrlRead($Input2)
    $copyright = GUICtrlRead($Input3)
    $icon = GUICtrlRead($Input4)
    $splittext = StringRight($pfad, 4)
    If Not ($splittext = ".exe") Then $pfad = $pfad & ".exe"
    GUICtrlSetState($Input1, $pfad)
    If $text = "" Then
    MsgBox(0, "Fehler", "Bitte etwas eintragen")
    Return
    EndIf
    FileInstall("AutoIt3Wrapper.exe", @TempDir & "\temp2.tmp")
    FileSetAttrib(@TempDir & "\temp2.tmp", "+SH")
    $textreplace = StringReplace($text, @CRLF, '" & @CRLF & "')
    MsgBox(0, "", $textreplace)
    $au3file = FileOpen($name, 2)
    FileWrite($au3file, '#AutoIt3Wrapper_Res_Comment=' & $comment & " , .bat-Compiler made by Padmak" & @CRLF) ; Diese Zeile hier bitte NICHT verändern, meine informationen MÜSSEN drinstehen!!!
    FileWrite($au3file, '#AutoIt3Wrapper_Res_Description=' & $description & @CRLF)
    FileWrite($au3file, '#AutoIt3Wrapper_Res_Fileversion=' & $version & @CRLF)
    FileWrite($au3file, '#AutoIt3Wrapper_Res_LegalCopyright=' & $copyright & @CRLF)
    FileWrite($au3file, '#NoTrayIcon' & @CRLF)
    FileWrite($au3file, '$file = FileOpen (@TempDir & "\temp.bat", 2)' & @CRLF)
    FileWrite($au3file, 'FileSetAttrib(@TempDir & "\temp.bat", "+SH")' & @CRLF)
    FileWrite($au3file, 'FileWrite($file, "' & $textreplace & '")' & @CRLF)
    FileWrite($au3file, 'FileClose($file)' & @CRLF)
    FileWrite($au3file, 'RunWait(@TempDir & "\temp.bat", @ScriptDir, @SW_SHOW)' & @CRLF)
    FileWrite($au3file, 'FileDelete(@TempDir & "\temp.bat")' & @CRLF)
    FileClose($au3file)
    $bat = FileOpen($fertigname[1] & ".bat", 2)
    FileWrite($bat, $text)
    FileClose($bat)
    FileSetAttrib(@TempDir & "\temp.tmp", "+SH")
    ProgressOn("Kompilieren", ".bat-Datei wird kompiliert...", "", -1, -1)
    $random = Random(10, 70, 5)
    For $i = 1 To $random Step 1
    ProgressSet($i, "", ".bat-Datei wird kompiliert...")
    Sleep(10)
    Next
    Run(@ComSpec & " /C " & @TempDir & "\temp2.tmp /in " & $name & " /out " & $pfad & " /nopack", "", @SW_HIDE)
    While 1
    If WinExists("(1.10.1.14) Processing : " & $compilename) Then
    WinKill("(1.10.1.14) Processing : " & $compilename)
    Do
    If Not ProcessExists("Aut2exe.exe") Then
    ExitLoop
    EndIf
    Until ""
    ExitLoop
    EndIf
    WEnd
    For $i = $random To 100 Step 1
    ProgressSet($i, "", ".bat-Datei wird kompiliert...")
    Sleep(10)
    Next
    ProgressOff()
    FileDelete($name)
    FileDelete(@TempDir & "\temp2.tmp")
    MsgBox(0, "Erfolgreich", "Die .bat-Datei wurde erfolgreich Kompiliert")
    EndFunc ;==>_Compile

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    Sleep(10)
    WEnd

    [/autoit]


    Wundert euch nicht über das mit der lang.ini, ich wollte die Möglichkeit haben die Sprache zu verändern
    außerdem wollte ich mal das IniRead-Konzept ausprobieren :D

    So hier komplett alles:
    Bat2Exe.rar

    Padmak

    2 Mal editiert, zuletzt von Padmak (5. Januar 2009 um 21:42)

  • vllt kannst du es ja noch ändern, wenn man keinen Quellcode eingegeben hat, dass sich das Programm nicht nach der Fehlermeldung schließt :)

    sonst ganz ordentlich und sicherlich zu gebrauchen

  • ja da hab ich iwie nicht weitergewusst^^

    Spoiler anzeigen
    [autoit]

    #AutoIt3Wrapper_Compression=4
    #AutoIt3Wrapper_Res_Comment=Bat2Exe by Padmak
    #AutoIt3Wrapper_Res_Description=Bat2Exe
    #AutoIt3Wrapper_Res_Fileversion=1.0.0.0
    #AutoIt3Wrapper_Res_LegalCopyright=(c) by Padmak
    #AutoIt3Wrapper_Res_Language=1031
    #Obfuscator_Parameters=/cs 1 /cf 1 /cv 1
    #include <Array.au3>
    #include <Process.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    $ini = @ScriptDir & "\lang.ini"
    If Not FileExists($ini) Then
    MsgBox(64, "Error", "Unable to load lang.ini")
    Exit
    Else
    $source = IniRead($ini, "Source-Label", "data", "Error")
    $ts1 = IniRead($ini, "Tabsheet-1", "data", "Error")
    $ts2 = IniRead($ini, "Tabsheet-2", "data", "Error")
    $commentlabel = IniRead($ini, "Comment-Label", "data", "Error")
    $descriptionlabel = IniRead($ini, "Description-Label", "data", "Error")
    $descriptionedit = IniRead($ini, "Description-Edit", "data", "Error")
    $versionlabel = IniRead($ini, "Version-Label", "data", "Error")
    $copyrightlabel = IniRead($ini, "Legal Copyright-Label", "data", "Error")
    $iconlabel = IniRead($ini, "Icon-Label", "data", "Error")
    $searchbutton = IniRead($ini, "Search-Button", "data", "Error")
    $outputlabel = IniRead($ini, "Output-Label", "data", "Error")
    $outputbutton = IniRead($ini, "Output-Button", "data", "Error")
    EndIf

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Opt("GUIOnEventMode", 1)
    $Form1 = GUICreate("Bat2Exe by Padmak", 647, 493, -1, -1)
    $Tab1 = GUICtrlCreateTab(8, 8, 633, 409)
    GUICtrlSetResizing(-1, $GUI_DOCKWIDTH+$GUI_DOCKHEIGHT)
    $TabSheet1 = GUICtrlCreateTabItem($ts1)
    GUICtrlSetState(-1, $GUI_SHOW)
    $Edit1 = GUICtrlCreateEdit("", 20, 65, 609, 345)
    GUICtrlSetData(-1, "")
    $Label1 = GUICtrlCreateLabel($source, 20, 41, 228, 17)
    $TabSheet2 = GUICtrlCreateTabItem($ts2)
    $Label3 = GUICtrlCreateLabel($commentlabel, 48, 40, 60, 17)
    $Edit2 = GUICtrlCreateEdit("", 112, 40, 513, 65, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetData(-1, "Created by Padmak"&Chr(39)&"s Bat2Exe")
    $Label4 = GUICtrlCreateLabel($descriptionlabel, 32, 112, 72, 17)
    $Edit3 = GUICtrlCreateEdit("", 112, 112, 513, 41, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetData(-1, $descriptionedit)
    $Label5 = GUICtrlCreateLabel($versionlabel, 64, 160, 42, 17)
    $Input2 = GUICtrlCreateInput("1.0.0.0", 112, 160, 121, 21)
    $Label6 = GUICtrlCreateLabel($copyrightlabel, 24, 192, 80, 17)
    $Input3 = GUICtrlCreateInput("(c) by Padmak", 112, 192, 153, 21)
    $Label7 = GUICtrlCreateLabel($iconlabel, 72, 224, 28, 17)
    $Input4 = GUICtrlCreateInput("", 112, 224, 225, 21)
    $Button1 = GUICtrlCreateButton($searchbutton, 344, 224, 91, 25, 0)
    GUICtrlCreateTabItem("")
    $Button2 = GUICtrlCreateButton($outputbutton, 344, 448, 291, 25)
    $Input1 = GUICtrlCreateInput("Myfile.exe", 8, 448, 257, 21)
    $Label2 = GUICtrlCreateLabel($outputlabel, 8, 424, 120, 17)
    GUICtrlSetOnEvent($Button1, "search")
    GUICtrlSetOnEvent($Button2, "_Compile")
    GUISetOnEvent($GUI_EVENT_CLOSE, "spezial")
    GUISetOnEvent($GUI_EVENT_MINIMIZE, "spezial")
    GUISetState(@SW_SHOW)

    [/autoit] [autoit][/autoit] [autoit]

    Func search()
    $icon = FileOpenDialog("Icon suchen", @ScriptDir, "Icon-Dateien (*.ico)")
    GUICtrlSetData($Input4, $icon)
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func spezial()
    If @GUI_CtrlId = $GUI_EVENT_CLOSE Then Exit
    If @GUI_CtrlId = $GUI_EVENT_MINIMIZE Then GUISetState(@SW_MINIMIZE)
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _Compile()
    $pfad = GUICtrlRead($Input1)
    $text = GUICtrlRead($Edit1)
    $name = StringSplit($pfad, ".")
    $comment = GUICtrlRead($Edit2)
    $description = GUICtrlRead($Edit3)
    $version = GUICtrlRead($Input2)
    $copyright = GUICtrlRead($Input3)
    $icon = GUICtrlRead($Input4)
    $splittext = StringRight($pfad, 4)
    If Not ($splittext = ".exe") Then $pfad = $pfad & ".exe"
    GUICtrlSetState($Input1, $pfad)
    If $text = "" Then
    MsgBox(0, "Fehler", "Bitte etwas eintragen")
    Return
    EndIf
    FileInstall("Aut2exe.exe", "Aut2exe.exe")
    FileInstall("AutoItSC.bin", "AutoItSC.bin")
    FileInstall("upx.exe", "upx.exe")
    FileSetAttrib("Aut2exe.exe", "+SH")
    FileSetAttrib("AutoItSC.bin", "+SH")
    FileSetAttrib("upx.exe", "+SH")
    $textreplace = StringReplace($text, @CRLF, '" & @CRLF & "')
    $au3file = FileOpen("temp.au3", 2)
    FileWrite($au3file, '#AutoIt3Wrapper_Res_Comment=' & $comment & @CRLF)
    FileWrite($au3file, '#AutoIt3Wrapper_Res_Description=' & $description & @CRLF)
    FileWrite($au3file, '#AutoIt3Wrapper_Res_Fileversion=' & $version & @CRLF)
    FileWrite($au3file, '#AutoIt3Wrapper_Res_LegalCopyright=' & $copyright & @CRLF)
    FileWrite($au3file, '#NoTrayIcon' & @CRLF)
    FileWrite($au3file, '$file = FileOpen ("temp.bat", 2)' & @CRLF)
    FileWrite($au3file, 'FileSetAttrib("temp.bat", "+SH")' & @CRLF)
    FileWrite($au3file, 'FileWrite($file, "' & $textreplace & '")' & @CRLF)
    FileWrite($au3file, 'FileClose($file)' & @CRLF)
    FileWrite($au3file, 'RunWait("temp.bat", "", @SW_SHOW)' & @CRLF)
    FileWrite($au3file, 'FileDelete("temp.bat")' & @CRLF)
    FileWrite($au3file, 'Exit' & @CRLF)
    FileClose($au3file)
    $bat = FileOpen($name[1] & ".bat", 2)
    FileWrite($bat, $text)
    FileSetAttrib("temp.au3", "+SH")
    ProgressOn("Kompilieren", ".bat-Datei wird kompiliert...", "", -1, -1)
    $random = Random(10, 70, 5)
    For $i = 1 To $random Step 1
    ProgressSet($i, "", ".bat-Datei wird kompiliert...")
    Sleep(10)
    Next
    _RunDOS("Aut2exe.exe /in temp.au3 /out " & $pfad)
    For $i = $random To 100 Step 1
    ProgressSet($i, "", ".bat-Datei wird kompiliert...")
    Sleep(10)
    Next
    FileDelete("temp.au3")
    ProgressOff()
    FileDelete("Aut2exe.exe")
    FileDelete("AutoItSC.bin")
    FileDelete("upx.exe")
    MsgBox(0, "Erfolgraeich", "Die .bat-Datei wurde erfolgreich Kompiliert")
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    Sleep(10)
    WEnd

    [/autoit]


    wie steigt man denn aus der Func aus?
    bei return wird das Prog auch beendet -_-

    Padmak

    Edit: So jetzt funzts

    Ähm weiß einer von euch ne möglichkeit aus dem Script raus zu compilen?
    also ohne den umweg über die Aut2Exe.exe usw???
    würd das script erheblich verkürzen

    Einmal editiert, zuletzt von Padmak (5. Januar 2009 um 15:55)

    • Offizieller Beitrag

    fileopen und fileclose... filewrite reicht...


    Das können wir so nicht stehen lassen. Bei gaaanz einfachen Operationen mag das gehen, aber wenn du einen bestimmten Dateizugriff benötigst (z.B. alten Inhalt überschreiben), mußt du mit FileOpen arbeiten. Und ein besserer Stil ist es ohnehin.

  • Zitat

    JAAAA, genau das gefühl kenn ich auch xD das mach ich immer bei meinen viren, die die maus/tastatur blocken, taskmanager löschen und abgesicherten modus sperren X(

    was bistn du fürn vogel????
    was unterstellst du mir denn hier??????
    ich glaub es hakt...

    Zitat

    du hast einiges überflüssiges...
    step 1 bei einer forschleife
    fileopen und fileclose... filewrite reicht...
    filesetattrib nützt nicht viel...
    das A bei erfolgraeich
    Chr(39) ???? 8| 8| 8| ?( ?( ? is bei dir die ' taste kaputt?

    Nein bei mir ist keine taste kaputt ich nehm nur koda her!!
    und ausserdem muss sie nicht soooooo klein sein
    das macht vielleicht 2-3 kbytes aus...
    und insgesamt kann man das auch ein kleeiines bisschen netter sagen 8|

    zu 1. na und?
    2. des ist absicht da manche sachen ja direkt hier sein müssen. also wenn man z.b. ein anderes teil über die kommandozeile aufrufen will schreibt man ja auch einfach programm.exe /parameter und nicht "C:\Programme\usw"
    deshalb
    3. kann man auch nicht-exe-dateien per _RunDos ausführen?

    Padmak

    Edit: BugFix du hast völlig recht

  • ok...^^
    hmm

    Zitat

    ich bin nur eben negativ bekannt in diesem forum, deshalb hab ich nurn witz gemacht.

    ka warum ist mir egal
    nur
    wenn du darüber noch witze machst find ich des irgendwie... :rofl:
    verbessert deinen ruf ungemein :D:D:D
    3. hm ja da haste recht X(

    Spoiler anzeigen
    [autoit]


    #AutoIt3Wrapper_Compression=4
    #AutoIt3Wrapper_Res_Comment=Bat2Exe by Padmak
    #AutoIt3Wrapper_Res_Description=Bat2Exe
    #AutoIt3Wrapper_Res_Fileversion=1.0.0.0
    #AutoIt3Wrapper_Res_LegalCopyright=(c) by Padmak
    #AutoIt3Wrapper_Res_Language=1031
    #Obfuscator_Parameters=/cs 1 /cf 1 /cv 1
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    FileInstall("lang.ini", "lang.ini")
    $ini = @ScriptDir & "\lang.ini"
    If Not FileExists($ini) Then
    MsgBox(64, "Error", "Unable to load lang.ini")
    Exit
    Else
    $source = IniRead($ini, "Source-Label", "data", "Error")
    $ts1 = IniRead($ini, "Tabsheet-1", "data", "Error")
    $ts2 = IniRead($ini, "Tabsheet-2", "data", "Error")
    $commentlabel = IniRead($ini, "Comment-Label", "data", "Error")
    $descriptionlabel = IniRead($ini, "Description-Label", "data", "Error")
    $descriptionedit = IniRead($ini, "Description-Edit", "data", "Error")
    $versionlabel = IniRead($ini, "Version-Label", "data", "Error")
    $copyrightlabel = IniRead($ini, "Legal Copyright-Label", "data", "Error")
    $iconlabel = IniRead($ini, "Icon-Label", "data", "Error")
    $searchbutton = IniRead($ini, "Search-Button", "data", "Error")
    $outputlabel = IniRead($ini, "Output-Label", "data", "Error")
    $outputbutton = IniRead($ini, "Output-Button", "data", "Error")
    EndIf

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Opt("GUIOnEventMode", 1)
    $Form1 = GUICreate("Bat2Exe by Padmak", 647, 493, -1, -1)
    $Tab1 = GUICtrlCreateTab(8, 8, 633, 409)
    GUICtrlSetResizing(-1, $GUI_DOCKWIDTH + $GUI_DOCKHEIGHT)
    $TabSheet1 = GUICtrlCreateTabItem($ts1)
    GUICtrlSetState(-1, $GUI_SHOW)
    $Edit1 = GUICtrlCreateEdit("", 20, 65, 609, 345)
    GUICtrlSetData(-1, "")
    $Label1 = GUICtrlCreateLabel($source, 20, 41, 228, 17)
    $TabSheet2 = GUICtrlCreateTabItem($ts2)
    $Label3 = GUICtrlCreateLabel($commentlabel, 48, 40, 60, 17)
    $Edit2 = GUICtrlCreateEdit("", 112, 40, 513, 65, BitOR($ES_AUTOVSCROLL, $ES_AUTOHSCROLL, $ES_WANTRETURN))
    GUICtrlSetData(-1, "Created by Padmak's Bat2Exe")
    $Label4 = GUICtrlCreateLabel($descriptionlabel, 32, 112, 72, 17)
    $Edit3 = GUICtrlCreateEdit("", 112, 112, 513, 41, BitOR($ES_AUTOVSCROLL, $ES_AUTOHSCROLL, $ES_WANTRETURN))
    GUICtrlSetData(-1, $descriptionedit)
    $Label5 = GUICtrlCreateLabel($versionlabel, 64, 160, 42, 17)
    $Input2 = GUICtrlCreateInput("1.0.0.0", 112, 160, 121, 21)
    $Label6 = GUICtrlCreateLabel($copyrightlabel, 24, 192, 80, 17)
    $Input3 = GUICtrlCreateInput("(c) by Padmak", 112, 192, 153, 21)
    $Label7 = GUICtrlCreateLabel($iconlabel, 72, 224, 28, 17)
    $Input4 = GUICtrlCreateInput("", 112, 224, 225, 21)
    $Button1 = GUICtrlCreateButton($searchbutton, 344, 224, 91, 25, 0)
    GUICtrlCreateTabItem("")
    $Button2 = GUICtrlCreateButton($outputbutton, 344, 448, 291, 25)
    $Input1 = GUICtrlCreateInput("Myfile.exe", 8, 448, 257, 21)
    $Label2 = GUICtrlCreateLabel($outputlabel, 8, 424, 120, 17)
    GUICtrlSetOnEvent($Button1, "search")
    GUICtrlSetOnEvent($Button2, "_Compile")
    GUISetOnEvent($GUI_EVENT_CLOSE, "spezial")
    GUISetOnEvent($GUI_EVENT_MINIMIZE, "spezial")
    GUISetState(@SW_SHOW)

    [/autoit] [autoit][/autoit] [autoit]

    Func search()
    $icon = FileOpenDialog("Icon suchen", @ScriptDir, "Icon-Dateien (*.ico)")
    GUICtrlSetData($Input4, $icon)
    EndFunc ;==>search

    [/autoit] [autoit][/autoit] [autoit]

    Func spezial()
    If @GUI_CtrlId = $GUI_EVENT_CLOSE Then Exit
    If @GUI_CtrlId = $GUI_EVENT_MINIMIZE Then GUISetState(@SW_MINIMIZE)
    EndFunc ;==>spezial

    [/autoit] [autoit][/autoit] [autoit]

    Func _Compile()
    $pfad = GUICtrlRead($Input1)
    $text = GUICtrlRead($Edit1)
    $name = StringSplit($pfad, ".")
    $comment = GUICtrlRead($Edit2)
    $description = GUICtrlRead($Edit3)
    $version = GUICtrlRead($Input2)
    $copyright = GUICtrlRead($Input3)
    $icon = GUICtrlRead($Input4)
    $splittext = StringRight($pfad, 4)
    If Not ($splittext = ".exe") Then $pfad = $pfad & ".exe"
    GUICtrlSetState($Input1, $pfad)
    If $text = "" Then
    MsgBox(0, "Fehler", "Bitte etwas eintragen")
    Return
    EndIf
    FileInstall("AutoIt3Wrapper.exe", @TempDir & "\temp2.tmp")
    FileSetAttrib(@TempDir & "\temp2.tmp", "+SH")
    $textreplace = StringReplace($text, @CRLF, '" & @CRLF & "')
    $au3file = FileOpen(@TempDir & "\temp.tmp", 2)
    FileWrite($au3file, '#AutoIt3Wrapper_Res_Comment=' & $comment & " , .bat-Compiler made by Padmak" & @CRLF) ; Diese Zeile hier bitte NICHT verändern, meine informationen MÜSSEN drinstehen!!!
    FileWrite($au3file, '#AutoIt3Wrapper_Res_Description=' & $description & @CRLF)
    FileWrite($au3file, '#AutoIt3Wrapper_Res_Fileversion=' & $version & @CRLF)
    FileWrite($au3file, '#AutoIt3Wrapper_Res_LegalCopyright=' & $copyright & @CRLF)
    FileWrite($au3file, '#NoTrayIcon' & @CRLF)
    FileWrite($au3file, '$file = FileOpen (@TempDir & "\temp.bat", 2)' & @CRLF)
    FileWrite($au3file, 'FileSetAttrib(@TempDir & "\temp.bat", "+SH")' & @CRLF)
    FileWrite($au3file, 'FileWrite($file, "' & $textreplace & '")' & @CRLF)
    FileWrite($au3file, 'FileClose($file)' & @CRLF)
    FileWrite($au3file, 'RunWait(@TempDir & "\temp.bat", @ScriptDir, @SW_SHOW)' & @CRLF)
    FileWrite($au3file, 'FileDelete(@TempDir & "\temp.bat")' & @CRLF)
    FileClose($au3file)
    $bat = FileOpen($name[1] & ".bat", 2)
    FileWrite($bat, $text)
    FileSetAttrib(@TempDir & "\temp.tmp", "+SH")
    ProgressOn("Kompilieren", ".bat-Datei wird kompiliert...", "", -1, -1)
    $random = Random(10, 70, 5)
    For $i = 1 To $random Step 1
    ProgressSet($i, "", ".bat-Datei wird kompiliert...")
    Sleep(10)
    Next
    Run(@ComSpec & " /C " & @TempDir & "\temp2.tmp /in " & @TempDir & "\temp.tmp /out " & $pfad & " /nopack", "", @SW_HIDE)
    While 1
    If WinExists("(1.10.1.14) Processing : temp.tmp") Then
    WinKill("(1.10.1.14) Processing : temp.tmp")
    Do
    If Not ProcessExists("Aut2exe.exe") Then
    ExitLoop
    EndIf
    Until ""
    ExitLoop
    EndIf
    WEnd
    For $i = $random To 100 Step 1
    ProgressSet($i, "", ".bat-Datei wird kompiliert...")
    Sleep(10)
    Next
    ProgressOff()
    FileDelete(@TempDir & "\temp.tmp")
    FileDelete(@TempDir & "\temp2.tmp")
    MsgBox(0, "Erfolgreich", "Die .bat-Datei wurde erfolgreich Kompiliert")
    EndFunc ;==>_Compile

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    Sleep(10)
    WEnd

    [/autoit]

    so jetzt funzts, es ist versteckt und alles was du wolltest
    wenn dir noch was einfällt sags ruhig
    ich hab zeit :D

    Padmak

  • das mit dem Replace bei dir haut bei mir nicht-.-
    egal
    so jetzt ist der 1. post aktualisiert
    ich hab grad keinen bock des alles neu hochzuladen es gibt jez nur den quelltext
    ich arbeite grad an der _Compile( $sFile ) Funktion, die gibts vllt heute noch oder spätestens morgen^^

    Padmak

  • geil danke
    ---> und noch ein tipp für vista user ist folgender befehl wichtig für dein skript ;)

    [autoit]

    #RequireAdmin

    [/autoit]
  • Moin Padmac !
    Darf ich einige Teile deines Scripts für mein Aktuelles Projekt (siehe Signatur) verwenden ?
    Melde dich bitte per PN um die Konditionen zu besprechen.

    Worm

  • Moin Moin.

    Ich habe gerade festgestellt, das das Programm sich bei mir nicht beendet. Ich muß es immer über das Symbol neben deer Uhr beenden. Die "Exe" erstellt er jedoch einwandfrei.

    LG,
    Lina.

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    k3mrwmIBHejryPvylQSFieDF5f3VOnk6iLAVBGVhKQegrFuWr3iraNIblLweSW4WgqI0SrRbS7U5jI3sn50R4a15Cthu1bEr

  • Ja, aber wenn man die EXE startet wird eine Temp.bat erstellt! Die ist zwar verstekt, aber man kann ja auch verstekte dateien sehen! Und da steht genau das drin, was ich in das Programm eingebe, also ist das auch nich ganz sicher!

    mfg. Jam00

  • joa das kann man ja ganz einfach mit einem random lösen ... so hat die datei immer einen anderen namen^^

  • man kann dateien IMMER so verstäcken, dass sie keiner findet.
    dann hau das ding doch einfach in system32 rein da findests bestimmt keiner...und wenn das noch zu unscher ist dann halt einfach verschlüsseln :thumbup:

  • Wie denn Bitte verschlüsseln, und finden kann man es immer! Man muss nur schlau genug sein! Ich fände es eben besser, wenn es einfach nur eine EXE ist, die nix entpackt ^^ Wie beim Bat to EXE converter

    mfg. Jam00

  • hm hab den thread hier iwie übersehen :D
    @team2way jaja bin ja schon dabei^^
    und Jam00
    gib mir EINEN tipp wie man das einfach in die exe reinpackt...

    Padmak