Obfuscator Error 2047 Solver

  • Ich hatte folgenden Fehler beim Obfuscator für mein Programm

    Zitat

    !File contains records longer than 2047 .. stopping process.
    !Ending Obfuscator program.

    Da ich sehr viele Includes hatte, mein Hauptscript aber in Ordnung war, habe ich ein kleines Script geschrieben, was alle Includes, die im Hauptscript angegeben sind und das Hauptscript selbst, durchsucht und die entsprechende Zeile und Datei ausgibt.
    Vielleicht kann es jemand nutzen!

    Spoiler anzeigen
    [autoit]

    #Include <File.au3>
    #Include <Array.au3>
    opt("MustDeclareVars", 1)
    Local $aArray2[1], $s1, $Scriptpath, $rows, $search, $split, $trim

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

    $s1 = Stringsplit(@AutoItExe, "autoit3.exe", 1 )
    $Scriptpath = FileOpenDialog("Script öffnen", @DesktopDir&"\", "Scriptfile (*.au3)" )
    $rows =_FileCountLines($Scriptpath)
    Local $aArray[$rows + 1]
    _FileReadToArray($Scriptpath, $aArray)
    $search = _ArrayFindAll($aArray, "#include", 0,0,0,1)
    For $k = 1 To $aArray[0]
    If StringLen($aArray[$k]) >= 2047 Then
    MsgBox(0, "2047", "Zeile "&$k&" in der Datei "&@ScriptName&" ist länger als 2047 Zeichen")
    EndIf
    Next
    For $i = 0 To UBound($search) -1
    $split = Stringsplit($aArray[$search[$i]], "<")
    $trim = Stringtrimright($split[2], 1)
    $rows =_FileCountLines($s1[1]&"Include\"&$trim)
    ReDim $aArray2[$rows + 1]
    _FileReadToArray($s1[1]&"Include\"&$trim, $aArray2)
    For $k = 1 To $aArray2[0]
    If StringLen($aArray2[$k]) >= 2047 Then
    MsgBox(0, "2047", "Zeile "&$k&" in der Datei "&$trim&" ist länger als 2047 Zeichen")
    EndIf
    Next
    Next

    [/autoit]

    Zum kürzen der Zeile ist

    [autoit]

    "Anzahl der Zeichen bis 2044"&_
    "zeichen Ab 2045"

    [/autoit]


    zu benutzen ( nur 2044, da "&_ noch hinzugefügt werden müssen)