Andere Datei aus der Ressource starten



  • Hey,

    Ich wollte fragen ob ich eine Datei in die Ressource meines Programmes packen könnte und diese Datei auch von da aus starten kann, ohne das ich die Datei erst aus der Ressource auf die Festplatte extrahieren muss. Wenn es gehen sollte, wie kann es ich es am besten realisieren? Gibts noch andere Möglichkeiten Programme zu starten ohne das diese sich auf der Festplatte befinden?



  • B3ng_> schrieb:

    Hey,

    Ich wollte fragen ob ich eine Datei in die Ressource meines Programmes packen könnte und diese Datei auch von da aus starten kann, ohne das ich die Datei erst aus der Ressource auf die Festplatte extrahieren muss. Wenn es gehen sollte, wie kann es ich es am besten realisieren? Gibts noch andere Möglichkeiten Programme zu starten ohne das diese sich auf der Festplatte befinden?

    nein, zum Glueck duerfte es keine Moeglichkeit geben.

    gruss
    Dirk



  • Warum zum Glück? Was ist daran so schlimm?



  • Einfach mal richtig suchen - es gibt massig Beispiele im Netzt zum laden von DLLs und EXEs aus dem Speicher.



  • B3ng_> schrieb:

    Warum zum Glück? Was ist daran so schlimm?

    Viren, Wuermer und sonstiges Getier....



  • dbu schrieb:

    B3ng_> schrieb:

    Warum zum Glück? Was ist daran so schlimm?

    Viren, Wuermer und sonstiges Getier....

    halbgare Aussage!



  • Viren, Wuermer und sonstiges Getier....

    Würde der Virenscanner dann nicht trotzdem anspringen und eine Meldung ausgeben?

    Mhh... hatte sowas eigendlich nicht vor.
    Aber es geht mir eher darum, dass ich ein Script habe, was ich in einer anderen Sprache geschrieben.
    Das Script kann sonnst jeder mit einem Decompiler dekompilieren und genau das wollte ich nicht.
    Packer oder Crypter die man im Internet findet sorgen dafür, dass das Script nicht mehr funktioniert und einfach nur als Virus angezeigt wird.
    Deswegen bin ich auf diese Idee gekommen, da der Decompiler sehr wahrscheinlich nicht die Datei noch erst aus der Ressouce extrahiert.
    Das man das Script im Endeffekt sowieso aus der Ressource bekommen könnte, ist mir vollkommen klar,
    doch so kann wenigstens nicht jeder mit Halbwissen an meine Source.

    Aber im Internet finde ich auch nichts gescheites zu dieser Methode, nichtmals hier im Forum. 😕



  • Mit einem Rssourceneditor kommt man ohne weiteres wieder an dieses Script dran. Du müsstest es also verschlüsselt in der Ressource ablegen. Da dein Programm es aber auch wieder entschlüsseln muss, muss auch der Schlüssel im Programmcode hinterlegt sein. Womit der Haustürschlüssel praktisch wieder unter der Fußmatte liegt.

    Was ist den an dem Script so geheimnisvoll, dass man es nicht lesen darf?



  • Das man im Endeffekt sowieso an die Datei kommt weiß ich und hab ich ja auch schon erwähnt...
    Das Programm besteht aus mehreren Dateien, das Script ist nur ein kleiner Teil davon, wenn das Programm verkauft werden sollte, dann kann jeder die Datei in den Decompiler ziehen und fertig.
    Genau das will ich eigendlich nur vermeiden, das mit der Verschlüsselung sollte für mich auch kein Problem da stellen, das einzige wo ich nicht weiter komme ist, dass ich nicht weiß wie ich die Datei aus der Ressource starten kann.
    Das ich die Datei in den RAM laden sollte und dann somit starte bezweifel ich noch, im Internet gabs dazu nicht allzuviel.



  • Ein Script kann man nicht decompilieren. Ein Script wird erst zur Laufzeit vom Interpreter interpretiert und ausgeführt. Ein Script besteht also immer aus einem lesbaren Quelltext im Texteditor.

    Und das mit der Verschlüsselung hast du nicht verstanden. Es bringt dir nichts es verschlüsselt in der Ressource abzulegen, weil du das zugehörige Passwort in der Exe mit ablegen musst. Und damit ist die Ressource wieder frei zugänglich.

    Noch mal, was ist an dem Script so geheimnisvoll, dass es keiner lesen darf?



  • Ein Script kann man nicht decompilieren. Ein Script wird erst zur Laufzeit vom Interpreter interpretiert und ausgeführt. Ein Script besteht also immer aus einem lesbaren Quelltext im Texteditor.

    Ich rede hier von nem AutoIt script. AutoIt Scripte werden sehr wohl kompiliert.

    Was das Script bewirkt, ist egal. Es gehört zum Programm und trägt einige Funktionen mit sich. Es geht mir nicht darum das Script perfekt abzusichern, dafür ist es einfach nicht Wert genug.



  • Also wenn du dein AutiIt Script kompiliert hast und es sich somit um einer Exe-Datei handelt, dann ist sie genauso sicher vor Dekompilierung wie die Exe deines Hauptprogramms, das in C oder C++ geschrieben ist.



  • Verschlüssel die Exe und lad sie in die resource section - vor dem Laden (aus dem Speicher) entschlüsseln sie. Wenn du dir eine einfache Verschlüsselung selbst strickst, z.B. Vertaischen+XOR von Bytes, brauchst du auch kein Passwort im Klartext zu speichern. Das sollte zumindest noobies davon abhalten an deine Exe/Script zu kommen.



  • @B3ng_>
    Das wird irgendwie alle paar Monate mal gefragt. Es geht auch, in einigen der Threads hier im Forum wurde gezeigt wie.
    Ich hab' mir aber keine Links dazu aufgehoben, du müsstest gucken ob du die entsprechenden Threads selbst findest.

    Ich halte zwar genau gar nix davon was du machen willst, aber das musst du selbst wissen. Nur ein Hinweis: du kannst davon ausgehen, dass ein Programm das sowas macht, nicht unbedingt sehr kompatibel sein wird. D.h. es kann mit jeder neuen Windows-Version bzw. jedem Update zu Problemen kommen.
    Frag dich ob dir das die Sache Wert ist.



  • Ich unterstell das jetzt mal so, der einzige Grund der mir einfällt eine andere ausführbare Datei in das eigene Programm zu integrieren ist folgender, man besitzt nicht den Quellcode dieser Datei, weil man das Program nicht selber geschrieben hat. Es gibt ja unzählige UIs die das so machen.


Log in to reply