1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. WhiteLion

Beiträge von WhiteLion

  • installer erstellt, nur wie mache ich einen uninstaller und verküpfungen ?

    • WhiteLion
    • 16. Februar 2012 um 22:02

    danke, die methode von dieter ist großartig :D
    progandy ... die methoden aus dem artikel sind recht aufschlussreich, richten sich aber nur an win95 - XP user ... also etwas altbacken das ganze, aber wenigstens ein guter C snippet drin ... mal testen :) thx

  • Fremddateien "includen" (ohne FileInstall)

    • WhiteLion
    • 16. Februar 2012 um 21:40

    diese feststellung habe ich gemacht, deshalb fragte ich... der liebe bugfix hat ja für so einiges lösungen :)

  • Fremddateien "includen" (ohne FileInstall)

    • WhiteLion
    • 16. Februar 2012 um 14:31

    mal eine frage: kann man auch dlls einbinden ohne die auf die platte zu droppen ?
    also quasi speicher reservieren und das array mit den binärdaten der dll direkt in selbigen injezieren
    quasi dll injection auf den scripteigenen prozess und dann die dll verwenden ?

  • Computer-Info

    • WhiteLion
    • 16. Februar 2012 um 13:03

    schau mal direkt über deinem beispiel: "Computer-Info1.8a.au3" ... da kannst du speichern, ansonsten füge bei der version auf seite 1 doch einfach ein: _ArrayDisplay($aInfo) so z.B.:

    [autoit]

    EndSwitch
    If Not @error Then
    For $i = 1 To UBound($aInfo) - 1
    Switch $iFunctionNr
    Case 0, 4, 12, 14
    GUICtrlCreateListViewItem('', $ahContent[$iFunctionNr])
    Case Else
    GUICtrlCreateListViewItem($i & '.| ', $ahContent[$iFunctionNr])
    EndSwitch
    For $j = 0 To UBound($aInfo, 2) - 1
    GUICtrlCreateListViewItem($aInfo[0][$j] & '|' & $aInfo[$i][$j], $ahContent[$iFunctionNr])
    Next
    GUICtrlCreateListViewItem(' | ', $ahContent[$iFunctionNr])
    Next
    _ArrayDisplay($aInfo)
    Else

    [/autoit]
  • Das Thema mit den Virenscanner

    • WhiteLion
    • 15. Februar 2012 um 16:13

    meine erfahrungen sind da andere, ich kann nicht nachvollziehen das es ein paar tage nach dem upload weniger scanner als "false positiv" melden. im gegenteil, wenn du die dinger hochlädtst werden sie generisch gescannt, da setzt sich kein mensch hin und prüft von hand. (hochstens wenn du dich über einen fehlalarm beschwerst, was aber monate dauern kann.). du bekommst also nach dem hochladen ein paar tage später mehr "false positive" meldungen als vorher, da die signaturen der generischen scanns erst später erstellt und eingepflegt werden. anschließend wird die signatur noch von den av herstellern getauscht bzw verkauft.... und schon hast du den salat! - es reichen übrigens 2 negativmerkmale um das passieren zu lassen... negativmerkmale sind: autostart eintrag erstelen, ausführen von anderen exe-dateien, benutzen eines exe packers oder protectors, droppen von exe-dateien, hiden GUI sowie diverse ablauffolgen bei API calls .....usw.

    also alles schön bei dem programm vermeiden und das script ungeschützt/decompilierbar dem kunden geben ... danke liebe av hersteller und ein großes FU :)

  • installer erstellt, nur wie mache ich einen uninstaller und verküpfungen ?

    • WhiteLion
    • 15. Februar 2012 um 14:27

    komisch, ich dachte schon, dass ich diesbezüglich eine antwort gegeben habe ... wo ist sie denn nur hin ?
    also batch ... ja batch :( neee iiiihhh :)
    ich habs inzwischen so gelöst:
    reg schlüssel mit install dir wird beim installieren durch installer gesetzt.
    beim erneuten starten des installers wird dann geprüft und selbiger fungiert als deinstaller.

    habt dank für eure mühen ....

    PS: was macht das eigentlich unter "Skripte" ? Bitte in "hilfe" verschieben!

  • XM-Player

    • WhiteLion
    • 15. Februar 2012 um 00:04

    ich find das ding ja genial, aber leider crasht das programm beim beenden oder bei verwendung des exit befehls unter WinXP32. ... habt ihr eine idee woran das liegen kann ?
    (ich habs sowohl bei mir, als auch bei einem freund in verschieden VMs versucht immer mit WinXP 32 -> crash)

    und jetzt bitte nicht sagen, dass die resourcen nicht richtig entladen werden ... lieber sagen, wie´s funktioniert :D

    EDIT: so ich bin jetzt auf das hier umgestiegen (Fmod): Play Chip Sound from Memory

  • installer erstellt, nur wie mache ich einen uninstaller und verküpfungen ?

    • WhiteLion
    • 14. Februar 2012 um 00:32

    danke mein guter !!! .... damit ist das link-problem vom tisch.
    verbleibt noch das deinstallations problem.... ich könnte natürlich eine exe schreiben die dann zumindest die dateien löscht, aber bei den verknüpfungen wirds unter umständen schon tricky... unlösbar erscheint mir eine sich selbst löschende exe--- zumindest in autoit... in C++ hab ich mal entsprechende routinen gesehen.

  • das erste mal GDI+ - wie gezeichnetes zeugs entfernen ?

    • WhiteLion
    • 13. Februar 2012 um 21:06

    danke :D das hat geholfen.

  • installer erstellt, nur wie mache ich einen uninstaller und verküpfungen ?

    • WhiteLion
    • 13. Februar 2012 um 21:01

    ja, bis dahin auch kein problem ... nur wer löscht den uninstaller aus dem verzeichnis? :P
    - wo in die reg muss was genau eingetragen werden ?
    - wie erstelle ich die verknüpfungen auf dem desktop und im win startmenü ?

  • installer erstellt, nur wie mache ich einen uninstaller und verküpfungen ?

    • WhiteLion
    • 13. Februar 2012 um 18:48

    hiho,
    ich hab meinen installer so weit fertig, das er alles alle meine dateien in eine verzeichnis installiert...etc.
    nur frage ich mich, wie erstelle ich jetzt die verknüpfungen z.B. auf dem desktop/startmenü.
    weiterhin würde ich gerne wissen wie man das ganze entspechend deinstalliert bekommen kann über den
    windows uninstaller.... danke für die tipps :D

  • das erste mal GDI+ - wie gezeichnetes zeugs entfernen ?

    • WhiteLion
    • 13. Februar 2012 um 11:17

    moin,
    ich probiere mich gerade an GDI ... habs immer ausgelassen :) dementsprechend einfach ist meine frage:

    ich zeichne einen kreis:

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

    ....
    _GDIPlus_Startup()
    $hPen = _GDIPlus_PenCreate(0xFFFFFFFF, 8)
    $hGraphic1 = _GDIPlus_GraphicsCreateFromHWND($hChild)
    $hGraphic2 = _GDIPlus_GraphicsCreateFromHWND($hChild)
    ....
    Func _loop()
    _GDIPlus_GraphicsDrawEllipse($hGraphic1, 798, 68, 15, 15, $hPen)
    Sleep(50)
    _GDIPlus_GraphicsDrawEllipse($hGraphic2, 798, 68, 15, 15, $hPen)
    Sleep(50)
    EndFunc

    [/autoit]

    ... jetzt möchte ich in dem loop eine kleine animation erstellen, was so natürlich nicht geht,
    da der eine kreis erstmal entfert werden muss... genau das bekomme ich nicht hin.

    EDIT: der titel ist etwas irreführend, denn wenn ich noch einen zweiten kreis oder sonstwas gezeichnet habe, dann möchte ich natürlich
    nicht das alles entfernt wird, sondern nur der eine kreis der dann durch den kleineren überzeichnet wird soll weg.

  • GUICtrlCreateMenuItem <- Menüeintrag ausblenden

    • WhiteLion
    • 8. Februar 2012 um 15:40

    danke das funktioniert ;)

  • GUICtrlCreateMenuItem <- Menüeintrag ausblenden

    • WhiteLion
    • 8. Februar 2012 um 09:55

    hiho liebe leute :)

    zwei fragen:

    ich erstelle ein menüitem so:
    $exportitem = GUICtrlCreateMenuItem("Export", $MenuItem)
    und würde es anschließend gerne komplett aus dem menü ausblenden, was aber so nicht klappt:
    GUICtrlSetState($exportitem , $GUI_HIDE)

    Wie bekomme ich es ausgeblendet ???

    zweite frage:

    z.Z. nutze ich noch AutoIt 3.3.60 ... wenn ich jetzt auf 3.3.81 update, gibts dort wieder komplikationsprobleme so das
    man seinen code anpassen muss, so wie ich das aus der vergangenheit in erinnerung habe ?

    danke im voraus! :D

  • Xor auf prozessID

    • WhiteLion
    • 3. Dezember 2011 um 20:49

    danke für die antwort .... ich glaube ich hatte einen wurm im kopf.... 0x56 war richtig ... ich hatte nur probiert.

  • Xor auf prozessID

    • WhiteLion
    • 3. Dezember 2011 um 19:32

    ich bekomme einen xor ^0x56 einfach nicht auf meine ausgelesene prozessid hin ... ich bin schon wie wild am splitten aber irgendwas haut immer nicht hin.... hat jemand eine "xor-idee" ? - danke

    [autoit]


    $pid1 = ProcessExists("chrome.exe")
    ;~ MsgBox(0,"$pid",$pid1)
    ;~ if $pid1 <> 0 or $pid1 <> "" Then
    ;~ $pid = Binary($pid1)
    ;~ MsgBox(0,"test", $pid)
    ;~ $1 = StringMid($pid,17,2)
    ;~ MsgBox(0,"test", $1)
    ;~ $2 = StringMid($pid,15,2)
    ;~ MsgBox(0,"test", $2)
    ;~ $3 = StringMid($pid,13,2)
    ;~ $4 = StringMid($pid,11,2)
    ;~ EndIf

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

    MsgBox(0,"$pidorg",$pid1)
    $pid = Binary($pid1)
    MsgBox(0,"$pidhex",$pid)
    $pid = StringTrimLeft($pid, 2)
    MsgBox(0,"$pid",dec("90A340"))
    $c = BitXOR($pid, 0x17)

    [/autoit]
  • profifrage: datei encodieren / decodieren - methode zu langsam :(

    • WhiteLion
    • 12. November 2011 um 21:40

    leider hilfts nicht, ich glaube am besten kommen wir weiter, wenn du es mal bei dir testest ... oder hast du das getan ?

  • profifrage: datei encodieren / decodieren - methode zu langsam :(

    • WhiteLion
    • 12. November 2011 um 13:28

    ja, allerdings hatte ich den pfad wieder angepasst.
    die änderungen hab ich vorgenommen, leider hats nix gebracht

  • profifrage: datei encodieren / decodieren - methode zu langsam :(

    • WhiteLion
    • 12. November 2011 um 13:05

    ich hatte mich mal vor 2 jahren mit der 7zip vergeblich rumgeschlagen... die udf hatte bei mir gar nicht funktioniert. ...leider sind dinge auch komplett in zip ... ich weiss gar nicht ob man das überhaupt mit 7zip als "normals" packen und entpacken kann.....
    leider rennt die funktion von dir doch noch nicht so ganz ....
    - es rennt zwar mit errcode 0 durch, aber speichert die datei nicht. (decode)
    - bei encode (Siehe anhang/neues script): array out of range fehler bei " If $a_AArr[$i] = "0" And $a_AArr[$i + 1] = "x" Then ContinueLoop"
    den kann ich fixen mit: "For $i = 1 To $a_AArr[0] -1" statt "For $i = 1 To $a_AArr[0]"
    das ganze wird zwar dann laut debug beendet ohne fehler (siehe anhang), aber leider ist die gespeicherte ergebnis-datei dann fast leer.

    Spoiler anzeigen
    Code
    @@ Debug(202) : $len = 2013114
    >Error code: 0
    @@ Debug(203) : $count = 1
    >Error code: 0
    @@ Debug(206) : $k = 1
    >Error code: 0
    @@ Debug(210) : $i = 100000
    >Error code: 0
    @@ Debug(210) : $i = 200000
    >Error code: 0
    @@ Debug(210) : $i = 300000
    >Error code: 0
    @@ Debug(210) : $i = 400000
    >Error code: 0
    @@ Debug(210) : $i = 500000
    >Error code: 0
    @@ Debug(210) : $i = 600000
    >Error code: 0
    @@ Debug(210) : $i = 700000
    >Error code: 0
    @@ Debug(210) : $i = 800000
    >Error code: 0
    @@ Debug(210) : $i = 900000
    >Error code: 0
    @@ Debug(210) : $i = 1000000
    >Error code: 0
    @@ Debug(210) : $i = 1100000
    >Error code: 0
    @@ Debug(210) : $i = 1200000
    >Error code: 0
    @@ Debug(210) : $i = 1300000
    >Error code: 0
    @@ Debug(210) : $i = 1400000
    >Error code: 0
    @@ Debug(210) : $i = 1500000
    >Error code: 0
    @@ Debug(210) : $i = 1600000
    >Error code: 0
    @@ Debug(210) : $i = 1700000
    >Error code: 0
    @@ Debug(210) : $i = 1800000
    >Error code: 0
    @@ Debug(210) : $i = 1900000
    >Error code: 0
    @@ Debug(210) : $i = 2000000
    >Error code: 0
    @@ Debug(250) : $t = 0
    >Error code: 0
    Alles anzeigen


    Spoiler anzeigen
    [autoit]


    ;~ #include <AVIConstants.au3>
    ;~ #include <ButtonConstants.au3>
    ;~ #include <EditConstants.au3>
    ;~ #include <GUIConstantsEx.au3>
    ;~ #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <Array.au3>
    #include <File.au3>
    ;~ #include <GUIConstants.au3>
    ;~ #include <GuiListView.au3>
    ;~ #include <GuiImageList.au3>
    ;~ #include <Constants.au3>
    ;~ #include <inet.au3>
    ;~ #include <GuiEdit.au3>
    ;~ #include <GuiStatusBar.au3>
    ;~ #include <ScrollBarConstants.au3>
    ;~ #include <sendmessage.au3>
    #include <string.au3>
    #include <Zip32.au3>

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

    FileInstall("zip32.dll", @ScriptDir & "\zip32.dll")
    FileInstall("unzip32.dll", @ScriptDir & "\unzip32.dll")
    Global $destdirectory, $sourcefile, $sourcedirtozip, $destzipname, $timestring

    _StatsSaver()

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

    Func _StatsSaver() ; StatsSaver GUI
    $h10Gui = GUICreate("Stats Unpacker V0.01", 200, 200, -1, -1, $WS_MINIMIZEBOX)
    ;$Label61 = GUICtrlCreateLabel("Thanx for idea to ", 40, 70)
    ;GUICtrlCreatePic(@TempDir & "\logo.jpg", 10, 10, 425, 55)
    $QuitStats = GUICtrlCreateButton("X", 179, 0, 15, 15, 0)
    $RestoringStats = GUICtrlCreateButton("Restore Stats", 10, 120, 100, 15, 0)
    $SaveStats = GUICtrlCreateButton("Save Stats", 10, 140, 100, 15, 0)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Sleep(20)
    Switch $nMsg
    Case $QuitStats
    GUIDelete($h10Gui)
    ExitLoop
    Case $RestoringStats
    $sourcefile = FileOpenDialog("Select a vfile (.v archive)", @ScriptDir, "vfiles (*.v)")
    if $sourcefile <> "" Then
    $splitted = StringSplit($sourcefile,"\")
    _ArrayDisplay($splitted)
    _checkifstatsbackupexists2()
    $createdir = StringTrimRight($splitted[$splitted[0]], 2)
    MsgBox(0,"",$createdir)
    DirCreate(@ScriptDir & "\extracted-vfiles\" & $createdir)
    $decoded = _Decodefile($sourcefile)
    FileWrite(@ScriptDir & "\extracted-vfiles\"&$createdir&"-decoded.v", $decoded)
    _unpack(@ScriptDir & "\extracted-vfiles\"&$createdir&"-decoded.v", @ScriptDir & "\extracted-vfiles\"&$createdir)
    EndIf
    Case $SaveStats
    $sourcefile = FileSelectFolder("Select a directroy where vfiles where extracted", @ScriptDir)
    if $sourcefile <> "" Then
    $splitted = StringSplit($sourcefile,"\")
    $savedir = $splitted[$splitted[0]]
    _checkifstatsbackupexists()
    _pack($sourcefile, @ScriptDir & "\vfiles\"&$savedir&"-packed.v")
    $s_FileName = @ScriptDir & "\vfiles\"&$savedir&"-packed.v"
    $encoded = _Encodefile($s_FileName)
    FileWrite(@ScriptDir & "\vfiles\"&$savedir&".v", $encoded)
    EndIf
    EndSwitch
    WEnd
    EndFunc ;==>_tatsSaver

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

    Func _unpack($sourcefile, $destdirectory)
    _UnZip_Init("_UnZIP_PrintFunc", "UnZIP_ReplaceFunc", "_UnZIP_PasswordFunc", "_UnZIP_SendAppMsgFunc", "_UnZIP_ServiceFunc")
    _UnZIP_SetOptions()
    _UnZIP_Unzip($sourcefile, $destdirectory)
    If @error Then
    MsgBox(16, "Error", "Restorings stats and Archive unpacking error")
    Else
    MsgBox(64, "Success", "Restoring stats and archive unpacking successful")
    EndIf
    EndFunc

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

    Func _pack($sourcedirtozip, $destzipname)
    _Zip_Init("_ZIPPrint", "_ZIPPassword", "_ZIPComment", "_ZIPProgress")
    If @error Then
    MsgBox(16, "Error", "Zip32.dll did not initialize")
    Exit
    EndIf
    ; Global $sDate = 0, $sEncrypt = 0, $sSys = 1, $sEmptyFolder = 0, $sExcludeDate = 0, $sIncludeDate = 0, $sJunkDir = 0, $sMove = 0, $sUpdate = 0,
    ; $sFresh = 0, $sLatestTime = 0, $sComment = 0, $sPrivilege = 1, $sRecurse = 1, $sLevel = 9

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

    _ZIP_SetOptions(0,0,1,0,0,0,1)
    If @error Then
    MsgBox(16, "Error", "Options sets error")
    Exit
    EndIf

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

    _ZIP_Archive($destzipname, $sourcedirtozip)
    If @error Then
    MsgBox(16, "Error", "Saving stats and archive creating error")
    Else
    MsgBox(64, "Success", "Saving stats and archive creating successful")
    EndIf
    EndFunc

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

    Func _checkifstatsbackupexists()
    if DirGetSize(@ScriptDir & "\vfiles") = -1 then DirCreate(@ScriptDir & "\vfiles")
    EndFunc

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

    Func _checkifstatsbackupexists2()
    if DirGetSize(@ScriptDir & "\extracted-vfiles") = -1 then DirCreate(@ScriptDir & "\extracted-vfiles")
    EndFunc

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

    Func _createtimestring()
    Global $timestring = ("__date_"&@MON&"_"&@MDAY&"_"&@YEAR&"__time_"&@HOUR&"_"&@MIN&"_"&@SEC)
    EndFunc

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

    ;==========================# ZIP Dll-callback functions #======================================
    Func _ZIPPrint($sFile, $sPos)
    ConsoleWrite("!> _ZIPPrint: " & $sFile & @LF)
    EndFunc

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

    Func _ZIPPassword($sPWD, $sX, $sS2, $sName)
    Local $iPass = InputBox("Archive encrypting set", "Enter the password", "", "", 300, 120)

    If $iPass = "" Then Return 1

    Local $PassBuff = DllStructCreate("char[256]", $sPWD)
    DllStructSetData($PassBuff, 1, $iPass)
    EndFunc

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

    Func _ZIPComment($sComment)
    Local $iComment = InputBox("Archive comment set", "Enter the comment", "", "", 300, 120)
    If $iComment = "" Then Return 1

    Local $CommentBuff = DllStructCreate("char[256]", $sComment)
    DllStructSetData($CommentBuff, 1, $iComment)
    EndFunc

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

    ;~ Func _ZIPProgress($sName, $sSize)
    ;~ ;Return 1 for abort the zip!
    ;~ $CurZipSize += Number($sSize)
    ;~ Local $iPercent = Round(($CurZipSize / $UnCompSize * 100))
    ;~ GUICtrlSetData($progress, $iPercent)
    ;~ GUICtrlSetData($edit, $sName & @CRLF, 1)
    ;~
    ;~ ConsoleWrite("!> Name: " & $sName & @LF)
    ;~ EndFunc

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

    ;==========================# UnZIP Dll-callback functions #========================================
    Func _UnZIP_PrintFunc($sName, $sPos)
    ConsoleWrite("---> _UnZIP_PrintFunc: " & $sName & @LF)
    EndFunc

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

    Func UnZIP_ReplaceFunc($sReplace)
    If MsgBox(4 + 32, "Overwrite", "File " & $sReplace & " is exists." & @LF & "Do you want to overwrite all file?") = 6 Then
    Return $IDM_REPLACE_ALL
    Else
    Return $IDM_REPLACE_NONE
    EndIf
    EndFunc

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

    Func _UnZIP_PasswordFunc($sPWD, $sX, $sS2, $sName)
    ConsoleWrite("!> UnZIP_PasswordFunc: " & $sPWD & @LF)

    Local $iPass = InputBox("Password require", "Enter the password for decrypt", "", "", 300, 120)
    If $iPass = "" Then Return 1

    Local $PassBuff = DllStructCreate("char[256]", $sPWD)
    DllStructSetData($PassBuff, 1, $iPass)
    EndFunc

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

    Func _UnZIP_SendAppMsgFunc($sUcsize, $sCsize, $sCfactor, $sMo, $Dy, $sYr, $sHh, $sMm, $sC, $sFname, $sMeth, $sCRC, $fCrypt)
    ;ConsoleWrite("!> _UnZIP_SendAppMsgFunc: " & $sUcsize & @LF)
    EndFunc

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

    Func _Encodefile($s_FileName)
    Local $a_AArr, $s_Mid, $read, $s_ret, $i_done, $len, $count, $exitdo = 0, $maxstringlenght = 16777215, $pos = 0
    $hFile = FileOpen($s_FileName, 16)
    $hFile2 = FileOpen(@ScriptDir & "\vfiles\"&$s_FileName&"-packed2.v", 17)
    FileWrite($hFile2, "0x")
    Do
    $read = FileRead($hFile, $maxstringlenght)
    $len = StringLen($read)
    If $len < $maxstringlenght Then
    $exitdo = 1
    Else
    If $pos = 0 Then
    FileSetPos($hFile, $pos + 1, 0)
    Else
    FileSetPos($hFile, $pos, 0)
    EndIf
    $pos += $maxstringlenght
    EndIf
    $i_done = 1
    $count = Ceiling($len / 16777215)
    ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $len = ' & $len & @crlf & '>Error code: ' & @error & @crlf) ;### Debug Console
    ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $count = ' & $count & @crlf & '>Error code: ' & @error & @crlf) ;### Debug Console
    For $k = 1 To $count
    $s_ret = ""
    ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $k = ' & $k & @crlf & '>Error code: ' & @error & @crlf) ;### Debug Console
    $s_Mid = StringMid($read, $i_done, 16777215)
    $a_AArr = StringSplit($s_Mid, "")
    For $i = 1 To $a_AArr[0]
    If IsInt($i/100000) Then ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $i = ' & $i & @crlf & '>Error code: ' & @error & @crlf) ;### Debug Console
    If $a_AArr[$i] = "0" And $a_AArr[$i + 1] = "x" Then ContinueLoop
    If $a_AArr[$i] = "x" And $a_AArr[$i - 1] = "0" Then ContinueLoop
    Switch $a_AArr[$i]
    Case "0"
    $a_AArr[$i] = "5"
    Case "1"
    $a_AArr[$i] = "4"
    Case "2"
    $a_AArr[$i] = "7"
    Case "3"
    $a_AArr[$i] = "6"
    Case "4"
    $a_AArr[$i] = "1"
    Case "5"
    $a_AArr[$i] = "0"
    Case "6"
    $a_AArr[$i] = "3"
    Case "7"
    $a_AArr[$i] = "2"
    Case "8"
    $a_AArr[$i] = "D"
    Case "9"
    $a_AArr[$i] = "C"
    Case "A"
    $a_AArr[$i] = "F"
    Case "B"
    $a_AArr[$i] = "E"
    Case "C"
    $a_AArr[$i] = "9"
    Case "D"
    $a_AArr[$i] = "8"
    Case "E"
    $a_AArr[$i] = "B"
    Case "F"
    $a_AArr[$i] = "A"
    EndSwitch
    Next
    $i_done += 16777215
    $t = FileWrite($hFile2, $s_ret)
    ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $t = ' & $t & @crlf & '>Error code: ' & @error & @crlf) ;### Debug Console
    Next
    Until $exitdo = 1
    FileClose($hFile)
    FileClose($hFile2)
    Return 1
    EndFunc ;==>_Decodefile

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

    Func _Decodefile($s_FileName)
    Local $a_AArr, $s_Mid, $read, $s_ret, $i_done, $len, $count, $exitdo = 0, $maxstringlenght = 16777215, $pos = 0
    $hFile = FileOpen($s_FileName, 16)
    $hFile2 = FileOpen(@ScriptDir & "\extracted-vfiles\test-decoded.v", 17)
    FileWrite($hFile2, "0x")
    Do
    $read = FileRead($hFile, $maxstringlenght)
    $len = StringLen($read)
    If $len < $maxstringlenght Then
    $exitdo = 1
    Else
    If $pos = 0 Then
    FileSetPos($hFile, $pos + 1, 0)
    Else
    FileSetPos($hFile, $pos, 0)
    EndIf
    $pos += $maxstringlenght
    EndIf
    $i_done = 1
    $count = Ceiling($len / 16777215)
    ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $len = ' & $len & @crlf & '>Error code: ' & @error & @crlf) ;### Debug Console
    ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $count = ' & $count & @crlf & '>Error code: ' & @error & @crlf) ;### Debug Console
    For $k = 1 To $count
    $s_ret = ""
    ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $k = ' & $k & @crlf & '>Error code: ' & @error & @crlf) ;### Debug Console
    $s_Mid = StringMid($read, $i_done, 16777215)
    $a_AArr = StringSplit($s_Mid, "")
    For $i = 1 To $a_AArr[0]
    If IsInt($i/100000) Then ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $i = ' & $i & @crlf & '>Error code: ' & @error & @crlf) ;### Debug Console
    If $a_AArr[$i] = "0" And $a_AArr[$i + 1] = "x" Then ContinueLoop
    If $a_AArr[$i] = "x" And $a_AArr[$i - 1] = "0" Then ContinueLoop
    Switch $a_AArr[$i]
    Case "5"
    $s_ret &= "0"
    Case "4"
    $s_ret &= "1"
    Case "7"
    $s_ret &= "2"
    Case "6"
    $s_ret &= "3"
    Case "1"
    $s_ret &= "4"
    Case "0"
    $s_ret &= "5"
    Case "3"
    $s_ret &= "6"
    Case "2"
    $s_ret &= "7"
    Case "D"
    $s_ret &= "8"
    Case "C"
    $s_ret &= "9"
    Case "F"
    $s_ret &= "A"
    Case "E"
    $s_ret &= "B"
    Case "9"
    $s_ret &= "C"
    Case "8"
    $s_ret &= "D"
    Case "B"
    $s_ret &= "E"
    Case "A"
    $s_ret &= "F"
    EndSwitch
    Next
    $i_done += 16777215
    $t = FileWrite($hFile2, $s_ret)
    ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $t = ' & $t & @crlf & '>Error code: ' & @error & @crlf) ;### Debug Console
    Next
    Until $exitdo = 1
    FileClose($hFile)
    FileClose($hFile2)
    Return 1
    EndFunc ;==>_Decodefile

    [/autoit]
  • profifrage: datei encodieren / decodieren - methode zu langsam :(

    • WhiteLion
    • 12. November 2011 um 11:45

    jo, sauber, daran lags ... zwar dauerts schon recht lange(war ja nicht anders zu erwarten bei autoit), aber wenigstens gehts! DANKE für deine zeit! hast du paypal ? würde mich gerne etwas erkenntlich zeigen.
    jetzt muss ich nurnoch eine ordentlich zip-funktion finden ... meine entpackt zwar, aber gibt trotzdem eine fehlermeldung ... hab da schon ewig dran rumgefummelt und wenn die unter win64 auch nicht geht ist es ja doof.

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™