mehre exe-dateien einbinden und ausführen OHNE auf Festplatte auszulagern!

  • ich suche eine möglichkeit, wie ich mehrere exe-dateien in mein project einbinden und ausführen kann.
    allerdings finde ich es blöde, wenn die vorher auf festplatte ausgelagert werden. - TW ist es sogar hinderlich, da ich vorhabe selbige auf einen USB-stick zu packen und diesen auch von bootCDs nutzen zu wollen. gibt es eine möglichkeit die exe-dateien direkt in´s ram zu laden und dann auszuführen!?

    Einmal editiert, zuletzt von WhiteLion (1. Mai 2008 um 15:35)

  • Im EN-Forum gibts ne UDF um Dateien als Ressourcen einzubinden, Link hab ich aber leider nicht parat, musst mal suchen.

    Edit: Doch gefunden :D Link

    Projekte: Keine größeren (und fertigen)
    Gegen Internetzensur:
    https://epetitionen.bundestag.de/index.php?acti…s;petition=3860
    (Zeichnungsfrist abgelaufen)
    __________________________________________________________________________________________________________________________________
    Dieser Beitrag wurde bereits 264 mal editiert, zuletzt von »Fast2« (30. Februar 2009, 12:99)

    • Offizieller Beitrag

    gibt es eine möglichkeit die exe-dateien direkt in´s ram zu laden und dann auszuführen!?

    Habe es noch nicht selbst ausgeführt, aber mit Erstellen eines RAM-Drives sollte das möglich sein. Die erforderliche Software kannst du ja in dein Projekt einbinden. RAM-Drive erstellen, EXE dorthin installieren und ausführen. Soweit ich mich erinnern kann, waren die für Windows erhältlichen Freeware RAM-Drive Treiber aber sehr begrenzt von der zu reservierenden Speichermenge. Da muß man halt neidvoll eingestehen: Ein Windows ist nun mal kein Linux. ;)

  • BugFix .

    Ich glaube die kennen keine RAm-Drive mehr. Eigentlich eine gute Sache, gerade für das Grundproblem dieses Beitrages.

    Also ich habe das schon zu Batch Zeiten genutzt. Batch schreibt alles in die RAM-Drive und einmal PC neu starten lassen
    und alles ist weg. Ich kenne jemanden, der spielt sogar das Spiel Doom in der RAM-Drive seit es das Spiel gibt. Wann war
    das? Letztes Jahrhundert? LOL

    Nein diese Lösung von BugFix ist die beste: RAM-Drive erstellen, EXE dorthin installieren und ausführen.

    Nun komm aber nicht und frage, wie man die RAM-Drive erstellt. Das weiß ich unter AutoIT noch nicht. Weil normale wäre
    das ja ein Eintrag in der autoexec.bat, wenn ich auf dem Lehrgang richtig zugehört habe. Aber bei Windows geht das doch
    sicherlich beim autostart irgendwie über einen Registry-Eintrag? Ist nur mal so meine Denkensweise. Die einer Frau.


    Ich bin gespannt.

    LG, Crazy-A.

    Lieben Gruß,
    Alina

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

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • die idee ist ja ganz nett, aber wenn die lösung nur über den von bernd geschriebenen weg geht, ist das unbrauchbar.

    so wie ich das gesehen habe, muss man das teil erstmal in windows installieren und blabla ... also gaaaanz weit daneben.

    kann man nicht die applikation is ram schreiben/laden und per jump an den entrypoint starten ?

  • Hi,

    mit Zedna's UDF kannst Du Bitmaps und andere Resourcen laden.
    Mit dieser UDF ist es aber NICHT möglich ausführbare Dateien in den RAM zu laden und auszuführen.
    Dazu müsstest Du dich mit Filemapping beschäftigen.

    Sieh dir mal das hier an -> _WinAPI_LoadLibraryEx


    Gruß
    Greenhorn


  • Hi,

    mit Zedna's UDF kannst Du Bitmaps und andere Resourcen laden.
    Mit dieser UDF ist es aber NICHT möglich ausführbare Dateien in den RAM zu laden und auszuführen.
    Dazu müsstest Du dich mit Filemapping beschäftigen.

    Sieh dir mal das hier an -> _WinAPI_LoadLibraryEx


    Gruß
    Greenhorn

    ich finde in meiner deutschen hilfe nichtmal den befehl "_WinAPI_LoadLibraryEx"
    wo soll ich denn da gucken ?
    was APIs sind und wozu sie dienen, weiss ich.... auch wenn ich vom ansprechen bzw einbinden in programmen keine ahnung habe...

    was schlägst du vor, wo soll ich anfangen ?

  • Ich hab da auch schon ein paar mal was dafür gesucht:
    a) Es ist nicht einfach :)
    b) Mit dem "neuen" Speicherschutz von MS ist es noch schwieriger
    c) Hab noch kein funktionierendes Bsp. gefunden

    ... doch mit .NET geht es wieder, aber nur mit .NET-Code.

  • In der Original (englischen) AutoIt-Hilfe ? :whistling:

    ok, also liegts wohl daran, dass ich nur die deutsche hilfe datei habe....

    Ich hab da auch schon ein paar mal was dafür gesucht:
    a) Es ist nicht einfach :)
    b) Mit dem "neuen" Speicherschutz von MS ist es noch schwieriger
    c) Hab noch kein funktionierendes Bsp. gefunden

    ... doch mit .NET geht es wieder, aber nur mit .NET-Code.

    meinst du wirklich, dass es so schwer ist ????
    ich würde vorschlagen, dass du deinem namen mal ehre machst und das für uns rausfindest :)

  • Also, rein theoretisch - und praktisch eigentlich auch - geht es.
    Es gibt Proggies die das können, jedoch sind sie alle A***teuer.
    Also scheint es wirklich nicht einfach zu sein.

    Eines, das noch viel weiter geht, als nur ausführbare Dateien aus den Resourcen heraus zu starten, ist z.B. Thinstall.
    http://www.thinstall.com/products/virtualization_suite.php

    Falls jemand Programme kennt, die Ähnliches leisten, aber Open Source/Freeware sind, dann bitte melden!


    Gruß
    Greenhorn

    p.s. Software portabel zu machen ist ein kleines Hobby von mir ... :D
    Jemand 'ne Ahnung wie man so etwas wie Thinstall selbst proggen kann ?!?!?!?


    Einmal editiert, zuletzt von Greenhorn (4. Mai 2008 um 13:24)

  • Greenhorn

    diese möglichkeit mit Thinstall in alle ehren, aber das ist doch etwas völlig anderes.
    wir wollten unsere dinge per script einbinden und nicht mit Thinstall eine virtelle maschine
    um die eigenen programme legen.
    das ist übrigens auch die antwort auf deine frage. Thinstall fängt (system)aufrufe von dateien, registrierungsbefehle... etc ab!
    diese werden dann in einer virtellen maschine ala VM-ware emuliert!

    das wird sicher auch durch API-(un)hooking aus kernel-basis passieren... da kannste mit scripten ja mal gar nix machen :)