FileRead funzt nicht bei einer exe?

  • Hi,
    Ich habe heute versucht eine Exe einzulesen da ich mir nen hübschen UPX artigen Laufzeitpacker machen will damit ich ein Hello World kompilieren kann ohne das Avira gleich mit mit der Kettensäge auf die Exe losgeht(Will vielleicht ein Projekt im Projektforum starten).Nur es läuft so gar nicht.Als erstes fängt mein (wie ich zugeben muss äußerst betagter Lappi) an zu stottern wie verrückt und am Ende landet im Temp Verzeichnis eine leere Datei.Hier mal der Code:

    [autoit]

    #Include <File.au3>$readed = FileRead ( @UserProfileDir&"\Documents\testkarnickel5.exe" )$msgbox2 = _FileCreate ( @TempDir & "TEXT.txt" )$msgbox3 = FileWrite ( @TempDir & "TEXT.txt", $readed )MsgBox ( "1" , "errors" , $msgbox2&" "&$msgbox3 , "20" )

    [/autoit]


    Mich interessiert nur mal warum das nicht funktioniert.Alle Funcs geben keine Errors zurück wie man an den beiden einsen in der Box sehen kann.Also was könnte es sonst sein?Ich habe es auch mit ConsoleWrite probiert jedoch kam nur:>C:\program files\autoit3\autoit3.exe "C:\Users\Herbert\dasdsdsdsdsda.au3"
    MZ>Exit code: 0 Time: 0.307
    Eig schaut es normal aus bis auf das MZ davor.
    mfg masterplc


    EDIT:Danke Pain manchmal stehe ich auch echt aufm Schlauch xD
    Ich habe mich vor einer Woche von FileOpen verabschiedet da es mir einfach zu nervig war :D
    Danke!!!!

    2 Mal editiert, zuletzt von masterplc (26. September 2013 um 19:03)

  • Hier mal um eine Exe binär auszulesen:

    [autoit]

    $hFile_Read = FileOpen("test.exe", 16)
    $bFileRead = FileRead($hFile_Read)

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

    $hFile_Write = FileOpen("test.txt", 18)
    FileWrite($hFile_Write, $bFileRead)

    [/autoit]

    Beachte den Flag bei FileOpen!

    Und das MZ am Anfang einer .exe-Datei steht für Mark Zbikowski


    Und P.S: Die AutoIt-Befehle funktionieren und machen das, was sie sollen. Man muss nur wissen, wie man sie einsetzt. Also am besten die Hilfe lesen und nicht immer AutoIt beschuldigen, wenn etwas nicht funktioniert ;)

    Edit2: "readed" ist nicht die Vergangenheit von "read" - Ist ein irr. Verb - somit "read" - "read" - "read" :)

    There's a joke that C has the speed and efficieny of assembly language combined with readability of....assembly language. In other words, it's just a glorified assembly language. - Teh Interwebz

    C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do, you blow off your whole leg. - Bjarne Stroustrup
    Genie zu sein, bedeutet für mich, alles zu tun, was ich will. - Klaus Kinski

    Einmal editiert, zuletzt von PainTain (26. September 2013 um 19:06)

  • Hallo, wenn du ein Beitrag schreibst und Code einfügst geh dann bitte in den Quellcode-Tab (/Modus)
    In dem fall hast du das "\" vergessen.

    $msgbox3 = FileWrite ( @TempDir & "\TEXT.txt", $readed )

    [autoit]


    ;#Include <File.au3>
    $readed = FileRead ( @UserProfileDir&"\Documents\testkarnickel5.exe" )
    ;$msgbox2 = _FileCreate ( @TempDir & "\TEXT.txt" )
    $msgbox3 = FileWrite ( @TempDir & "\TEXT.txt", $readed )
    MsgBox ( "1" , "errors" , $msgbox3 , "20" )

    [/autoit]

    mit _FileCreate eine Datei zu erstellen ist nicht so wichtig, da FileWrite das auch normalerweise automartisch erledigt.

    Ps. Pain war schneller, ambesten benutzt du auch seine Methode^^

    Sind TV-Quizfragen zu einfach? A) Ja B) Harry Potter

    Spoiler anzeigen

    Ich gebe zu dieser Post hat wahrscheinlich nicht viel geholfen,
    aber ich versuche wenigstens zu helfen :rolleyes:

    Einmal editiert, zuletzt von PuReIroNie (26. September 2013 um 19:07)