Variablen in einer Datei, welche im Internet ist (InetRead)

  • Heyho,


    ich hab Variablen in einer Exe-Datei verbaut, welche im Internet ausgelesen werden sollen, weiß aber nun nicht wie ich das genau verpacke.


    Im Internet steht in einer .php-Datei die Variable $name drinne. Ich kann die Datei aber nicht per InetGet herunterladen, da sonst der $name fix gesetzt wird. Also wie löse ich das?


    Grüße

  • Hi,


    schreibe den Inhalt der Variablen in eine Datei, lade diese mit InetGet herunter und lese diese aus.
    Kann dein Problem nicht ganz nachvollziehen, auch verstehe ich zum Teil die Problembeschreibung nicht (was hat die PHP-Datei mit der Exe-Datei zutun?).


    Gruß stay

  • howdy


    $download = InetRead($variablenort,1)
    $content = BinaryToString($download)


    bei bedarf musst du natürlich die variable erstmal rausfiltern falls mehr als die gewünschte variable ausgelesen wird.

  • ah okay.. hätte zweimal lesen sollen!^^


    an den eigentlich programmcode kommst du ja garnicht herran und das aus gutem grund.. wärst du berechtigt die daten einzusehen hättest du uns warscheinlich nach einer FTP verbindung gefragt.


    wie wärs also wenn du uns genau erläuterst was du da eigentlich vor hast^^

  • $download = InetRead($variablenort,1) $content = BinaryToString($download)


    Dies ist definitiv nicht das was funktioniert. Beim Kompelieren zu einer Exe-Datei werden die Werte fix gesetzt.

    Zitat

    an den eigentlich programmcode kommst du ja garnicht herran und das aus gutem grund.. wärst du berechtigt die daten einzusehen hättest du uns warscheinlich nach einer FTP verbindung gefragt.


    Nun, es gibt keinen Programmcode welcher im Internet veröffentlicht ist. Nur eine .php-Datei welche ich selber erstellt habe und wo ich natürlich auch mit FTP hinkann. Aber wieso FTP benutzen, wenn Inetread auch funktioniert?
    Wie gesagt ist mein Problem, dass sobald ich einmal die Datei runtergeladen habe und die AutoIt-Werte die in der PHP-datei stehen, welche auch für PHP nutzbar sind, auslese und dann die Datei als exe-datei umwandle, die verschiedene Werte fix sind. Also ein auslesen wie SgtIgram vorgeschlagen funktioniert überhaupt nicht mehr. Die Werte werden nicht neu eingelesen, obwohl vorhanden.


    Wie kann ich das umgehen oder ändern? Ich bastel schon seit 12 Stunden daran rum...




  • also... nur um festzuhalten..


    nach dem kompilieren deines scripts, führt dein programm den download nichtmehr aus sondern greift auf einen wert vor(während) dem kompilieren zurück???


    klingt nämlich etwas eigenartig^^

  • also... nur um festzuhalten..


    nach dem kompilieren deines scripts, führt dein programm den download nichtmehr aus sondern greift auf einen wert vor(während) dem kompilieren zurück???


    klingt nämlich etwas eigenartig^^


    Es ist sogar noch merkwürdiger. Ich gebe einmal den Ablauf bekannt.


    Es gibt auf der webseite eine php-Datei in der viele Autoit-Variablen deklariert wurden.
    Diese Datei wird heruntergeladen und umgewandelt und eingelesen. Was funktioniert.
    Nun wird daraus eine exe-Datei gemacht. In dieser exe-Datei wird derselbe vorgang immer und immer wieder ausgeführt, da sich meine Variablen in der php-Datei ja natürlich dauernd ändern, PHP erigbt ja sonst keinen Sinn.
    Dieser Download und die Umwandlung etc funktioniert auch. Nur in der GUI werden noch die Variablen angezeigt, welche in dem kompilierten Zustand vorhanden waren angezeigt. Die neuen Werte interessiert die GUI nicht einmal.
    Aber download funktioniert. Nur werden die neuen Variablen nicht eingebunden!? Sie werden beim kompelieren fix gesetzt... 8|

  • Was wäre, wenn du eine Ini-Datei erstellst?
    Du hast ja FTP-Zugang.


    Die wird dann z.B. beim Script-Start heruntergeladen und die werden Werte eingelesen :D


    Mfg

    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

  • komm nich ganz dahinter was da eigentlich genau abgeht aber stell am besten sicher das nichts aus dem cache geholt wird und du die werte immer neu lädst. und solange du nicht fileinstall bei deiner heruntergeladenen datei verwendest, fällt mir nicht ein wieso dein programm sich so verhält

  • Nun, ich verstehe es auch nicht, außer wie gesagt, dass die Werte halt fix gesetzt werden können. Mit einer Ini-Datei habe ich mich noch nie beschäftigt, bin aber natürlich als Webseiteninhaber dagegen eine FTP-Verbindung aufzubauen, da diese dann das Masterpasswort beinhalten müsste :rock:


    Habe mir grade einmal die INI-Datei angeschaut und mir erschließt sich der unterschied zwischen der php-Datei welche ich umwandle in ein beliebiges Format, z.B. txt und INI nicht?!?


    Wie überprüfe ich, ob aus meinem Cache der CPU nichts geholt wird? Was ich zumal nicht glaube, da die Variablen in dem normalen Skript ja einwandfrei funktionieren. Nur der Zustand der exe-Datei ist falsch, xD

  • wenn irgendwelche werte "fix" sind, dann, meiner meinung nach, unterläuft beim erstellen der neuen datei irgendein fehler.. wie gesagt.. entweder wird was aus dem cache gezogen oder die vorherige datei kann nicht gelöscht werden.. lass dir das am besten immer überprüfen.. schau immer ob dir ein true zurückgegeben wird und ob dein programm auch zugriff hat.. möglicherweise fehlen die adminrechte zum anlegen der heruntergeladenen datei.. mach mal rechtsklick+als administrator ausführen bei deiner kompilierten exe.. irgendwas beschränkt die möglichkeit deine neue datei anzulegen

  • Natürlich habe ich auf meinem Rechner UAC ausgeschaltet und vorsichtshalber #RequireAdmin eingefügt :D


    Bei mir ist es halt so, dass ich diese eine Datei als #include "data.sol" eingefügt habe (.sol hat nichts zubedeuten, könnte auch .txt sein, xD).
    Ansonsten wüsste ich nicht wie ich andere Variablen einfügen sollte? Liegt vielleicht genau hier mein Fehler?

  • Nun, ich verstehe es auch nicht, außer wie gesagt, dass die Werte halt fix gesetzt werden können. Mit einer Ini-Datei habe ich mich noch nie beschäftigt, bin aber natürlich als Webseiteninhaber dagegen eine FTP-Verbindung aufzubauen, da diese dann das Masterpasswort beinhalten müsste :rock:

    Muss es nicht - schau dir mal InetGet an.


    Da musst du nur den Download-Link einbauen z.B.:InetGet("www.deinewebsite.de/daten.ini", @ScriptDir & "\daten.ini")


    Mfg

    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

  • *bam bam baaam*
    ja natürlich!^^
    das #include ist für UDFs gedacht und nicht für variable dateien^^
    nutze einfach das downloadverfahren was ich gepostet hatte und darüber kannst du die variablen direkt nutzen ohne dateien erstellen zu müssen..


    wenn du allerdings autoit code später in der kompilierten form ausführen lassen möchtest ist das extrem unsicher aber machbar:

    Zitat
  • Natürlich habe ich auf meinem Rechner UAC ausgeschaltet und vorsichtshalber #RequireAdmin eingefügt :D


    Bei mir ist es halt so, dass ich diese eine Datei als #include "data.sol" eingefügt habe (.sol hat nichts zubedeuten, könnte auch .txt sein, xD).
    Ansonsten wüsste ich nicht wie ich andere Variablen einfügen sollte? Liegt vielleicht genau hier mein Fehler?

    Befinden sich in dieser data.sol-Datei die Variablen, die du aus der PHP-Datei holst?
    Wenn ja, dann ist genau das das Problem, denn das #include wird beim Kompilieren einmalig eingebunden und ist in der Exe nicht mehr 'dynamisch'. Deshalb hast du die fixen Werte...

  • Nun gut, da habe ich wohl #include falsch verstanden, ok dann ist klar, dass diese Werte fix gesetzt werden. Aber mit InetGet(www.deinewebsite.de/members/martyn.php, etc) habe ich schon einmal gearbeitet und es hat nicht funktioniert. FÜr mich fehlt da auch das verständnis, da der inhalt ja auch nicht ausgelesen wird. Wie "include" ich denn nun die Variablen, welche in dieser Datei stehen? Was so an die 40 sind...




    Und was ist gemeint mit "Zeig mal den Codeabschnitt, in dem die *.exe-Datei erzeugt wird." Ich kann doch jetzt nicht 5000 Zeilen Code posten? Oder welcher Teil ist gemeint? Denn wo wird explizit eine exe-Datei erzeugt? Dies geschieht doch erst mit F7? Ich glaube ich verstehe hier was falsch, xD :thumbsup:


  • Hm, nein ich erzeuge keine weitere Exe-Datei. Woraus hast Du das gelesen?


    Ich schau mir die INI-Befehle mal genau an, und teste damit. Ich melde mich die Tage übernochmal, aber bis jetzt :thumbup: ^^ :whistling: