ein Programm was mehrere Dateien hat und diese verwenden soll

  • Hallo, ich baue gerade für ein Spiel eine Zusammenstellung heißt was es für Charaktere gibt was es für Items usw. Dieses Programm greift nicht in das Spiel ein oder sonst der gleich nicht das hier der verdacht im raume Steht ich möchte Cheaten...


    Meine frage ist es möglich mit Autoit mehrere Skripte zu schreiben, ein Hauptskript ist die starter exe und die anderen Datein sind die Herzstücken dess Programmes. Mann kann ja mit Run oder ShellExecute eine andere Anwendung starten. Das Programm soll irgendwann später mal dann Diagramme bekommen, wo man sieht wie gut man war usw (eine ausführliche Statistik). Was wiederum dann in andere Datein abgespeichert wird so weit bin ich aber noch nicht und werde mich zu dem Thema nochmal melden da ich dort auch hilfe benötigen werde :/ egal.


    Perfektes beispiel sind Spiele dort gibt es eine Anwendung/exe wo man startet und dann sind dort Datein die man so nicht öffnen kann. Bei C&C Generals Zero Hour sind es .big Datein, ich besitze den FinalBIG converter womit ich für das Spiel die Datein auslesen kann oder Bearbeiten kann.


    Und das möchte ich auch gerne das Programm was ich mache soll später mal veröffentlicht werden, ich möchte aber nicht jede au3 Datei in eine exe verwandeln. So das sie ausgeführt werden kann (es soll ausgelesen werden/gestartet werden) Ich möchte einfach nicht das später mal einer kommt und dann anfängt das Programm von mir umzuprogrammieren und dann neu veröffentlicht wird. Sowas ist schei***e, um dieses Problem zu lösen möchte ich gerne die Dateien so verpacken, das nicht gleich jeder zugriff hat. ich bau das Programm auch so aus das man kein Autoit braucht um es zu starten.


    Ist einbisschen blöd von mir erklärt, ich weiß aber auch nicht wie ich das beschreiben soll was ich vorhabe. Vielleicht weiß der eine oder andere was ich meine und hat vielleicht einen rat/tool für mich.


    Ich bin über jede Hilfe dankbar :)

    gruß Whitey

  • Moin.

    Ja, wieso soll das nicht gehen? Ich selber habe auch ein Script, das verschiedene Programm startet und laufen lässt.
    Aber um genaueres zu sagen müsste man sich das ganze Vorhaben genauer ansehen.

    Was das umprogrammieren an geht, da muss ich Dir sagen, das es keine 100% Sicherheit gibt. Man kann es nur sehr schwer machen.
    Warum *.au3 Dateien mitsenden? Das was Du später evtl. ändern oder je nach Spieler anpassen möchtest kann man in einer Text-Datei / INI-Datei oder der Gleichen speichern und dann werden dort die Änderungen / Anpassungen vorgenommen.

    ...... Lieben Gruß, ........
    ...........
    Alina ............

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Ich habe die Deutsche Hilfe auf meinem PC und
    OrganizeIncludes ist beim Scripten mein bester
    Freund. Okay?

  • Naja ich muss dazu sagen ich habe auch viele GUI's, jeder Button in dem Programm macht eine neue GUI auf und um es zu öffnen muss es eine exe sein wenn andere (außerhalb kein Autoit haben). Kann man auch die exe in eine Datei verschieben die verschlüsslt ist, die mit dem richtigen Pfad geöffnent werden kann so das mann die Hauptanwendung nutzen muss?

  • Erstmal: Mehrere/Viele GUIs sind kein Grund, mehrere Scripte zu schreiben. Das kann alles in ein Script, bzw. auch eine Datei.

    Der einzige Grund, warum man in AutoIt mehrere Anwendungen (.exe - Dateien) benötigt, bzw. eine Anwendung mehrmals ausführen muss ist multiprocessing. Wenn man mehrere Dinge gleichzeitig verarbeiten will, wobei Geschwindigkeit wichtig ist, sodass man mehrere Prozessorkerne nutzen muss.

    Deshalb vermute ich gerade, dass du einen Design/Denk Fehler hast, weshalb du die ganzen Scripte eig. gar nicht benötigst. Macht also ggf. Sinn, wenn du uns deinen Code zeigst, bzw. deinen genauen Grund für mehrere Scripte.


    Ansonsten zu deiner eigentlichen Frage: Wenn du eine mit AutoIt compilierte .exe hast kann die meines Wissens nach andere .au3 Dateien ausführen. Hab ich aber selbst noch nie gebraucht/gemacht, solltest du aber finden, wenn du danach suchst.

    Alles was du hier mit verschlüsseln,... machst wird niemanden, der wirklich will, davon abhalten, dass er an den Code rankommt. AutoIt ist eine Scriptsprache, es ist also ohne Probleme möglich an den Code (auch von der .exe) zu kommen. Du betreibst also nur Obfuskation.

  • Ansonsten zu deiner eigentlichen Frage: Wenn du eine mit AutoIt compilierte .exe hast kann die meines Wissens nach andere .au3 Dateien ausführen. Hab ich aber selbst noch nie gebraucht/gemacht, solltest du aber finden, wenn du danach suchst.

    Jede mit AutoIt 'kompilierte' .exe-Datei enthält auch den Interpreter selbst. Daher kann eine .au3 oder .a3x-Datei über den eingebundenen Interpreter dieser .exe gestartet werden.


    Einfacher wäre es aber, den Interpreter, also die AutoIt3.exe (ggf. auch die AutoIt3_x64.exe), separat mitzuliefern (ist laut Nutzungsbedingungen zulässig), sofern auf dem jeweiligen PC keine AutoIt Installation vorliegt. Das hat zudem den Vorteil, dass der Interpreter, im Gegensatz zu eigenen .exe-Dateien, von den Virenscannern meist akzeptiert wird.


    Der Start von .au3/.a3x Dateien kann z.B. über eine kleine .cmd oder eine Desktopverknüpfung erfolgen. CMD-Beispiel ( Skript(e) und Interpreter im selben Verzeichnis) :

    Code
    @echo off
    CLS
    cd %~dp0
    Start "Mein Skript" /wait "AutoIt3.exe" "MeinSkript.au3"

    (das /wait ist optional)

    Deshalb vermute ich gerade, dass du einen Design/Denk Fehler hast

    Sehe ich auch so.

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."

  • Die Variante mit den .au3 Dateien funktioniert ja nicht, wenn sein

    Zitat

    "Ich möchte einfach nicht das später mal einer kommt und dann anfängt das Programm von mir umzuprogrammieren "

    Bei Textdateien (was au3 Dateien ja nun mal sind) wird sich dieser Umstand nicht erfüllen lassen, da der Quelltext lesbar wäre.

    Ich denke der einzige Weg wäre über .dll Dateien aber selbst die kannst du wieder lesbar machen (soweit ich weiß).

    Da ist die Verwendung von fertig kompilierten exe Dateien der bessere Weg, da deren entschlüsselung nicht ganz so einfach ist (meines Wissens muss man dazu erst mal wissen in welcher Programmiersprache diese geschrieben sind oder sehr gut in Assembler sein).

    WhiteHorse : Binde deine *.exe Dateien doch an Bedingungen, die (nicht sichtbar für den Nutzer) im Hintergrund liegen. Zugriff auf eindeutige (zur Laufzeit verändernde) Registryeinträge etc. ohne die deine Nebenprogramme nicht laufen wenn das Hauptprogramm nicht läuft oder das Nebenprogramm kann nur mit bestimmten Parametern gestartet werden usw.

  • Ich denke der einzige Weg wäre über .dll Dateien aber selbst die kannst du wieder lesbar machen (soweit ich weiß).

    Das ist sicher ein Weg (sofern man die programmiertechnischen Fähigkeiten zum Erstellen einer .DLL besitzt), aber nicht der Einzige  ;) .

    Und das möchte ich auch gerne das Programm was ich mache soll später mal veröffentlicht werden, ich möchte aber nicht jede au3 Datei in eine exe verwandeln.

    ... Ich möchte einfach nicht, dass später mal einer kommt und dann anfängt das Programm von mir umzuprogrammieren und dann neu veröffentlicht wird.

    1.

    Eine mit AutoIt erstellte .exe-Datei ist, wie bereits erwähnt, im Wesentlichen ein Bundle aus dem AutoIt Interpreter selbst und dem Skript (inklusive eingebundener UDF's , also den #Include 's) im Format .a3x (tokenized). Du könntest also gleich die .a3x-Variante verwenden.

    Vom Sicherheitsaspekt sind beide identisch unsicher. Um zu verhindern, dass DAU's im Code herumbasteln mag es aber ausreichen. Natürlich kann man die Schraube noch anziehen, aber letztlich erhöht das nur den Aufwand.

    Das Schreiben von z.B. Einträgen in die Registry erfordert, dass dein Programm mit entsprechenden Rechten gestartet wird - sicher auch nicht jedermanns Sache. Ich würde eine .exe nur ausführen, wenn sie von einer mir vertrauten Person kommt.


    Ist dein Programm so besonders, dass sich überhaupt jemand die Mühe macht es zu 'knacken' ;) ?


    2.

    Da Du das Programm später mal veröffentlichen möchtest, wirst Du bei .exe Dateien häufig mit der 'false positives'-Problematik konfrontiert. Das Format .a3x ist diesbezüglich weniger anfällig.


    Alternativ schau Dir mal die Lösung au3tocmd des Users Exit an.

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."

  • WhiteHorse : Binde deine *.exe Dateien doch, wie Moombas schon schrieb an Bedingungen.
    Wenn Du sie "verstecken" möchtest, kannst Du die *.exe Dateien ja ins Script einbinden (Stichwort: FileInstall).
    Wenn dann die exe Datei 1 benötigt wird, entbindest Du sie via Scriptzeile. Evtl. noch die Datei "hidden", so das sie nicht gleich zu finden ist und gut. Wird die Datei nicht mehr benötigt, den Prozess "killen" und Datei lösen.

    Aber wenn wir bessere Informationen hätten, was Du vor hast, könnten wir Dir bestimmt viel besser helfen.

    Wir beißen nicht und es gibt keine "dummen Fragen" bzw. "dumme Probleme" ! ! ! ALSO Raus mit den Informationen ! ! !

    ...... Lieben Gruß, ........
    ...........
    Alina ............

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Ich habe die Deutsche Hilfe auf meinem PC und
    OrganizeIncludes ist beim Scripten mein bester
    Freund. Okay?

  • Erstmal finde ich es richtig super von euch das Ihr so hilfsbereit seit und so viele Vorschläge habt finde ich echt gut! :)


    Zu dem Programm ich kann das hochladen ist ein ganzer Ordner da es eine Sammlung ist sind natürlich auch die Soundtracks von dem Spiel sowie Bild material dabei. Ich habe noch nicht nachgefragt wie das läuft, da es später ja auch veröffentlicht werden soll und wiegesagt die Lieder und Bilder vom Spiel stammen. Da darf ich das doch garnicht so verbreiten oder wie läuft das jetzt? da wäre doch jetzt eine cut Version wo dieses rausgeschnitten ist besser um es hier zu teilen?


    gruß Whitey

  • Ich glaube es liegt ein kleines Missverständnis vor:

    Das du an der Entwicklung eines Spiels (das noch nicht fertig/veröffentlicht ist) arbeitest und nicht etwas für ein fremdes bereits erschienenes.

    Natürlich solltest du keine Dateien des Spiels veröffentlichen / bereitstellen das steht sicherlich unter "Schutz".


    Es ging um das reine autoitskript,

    Ich denke der Tipp von Alina (FileInstall) und zus. das Verwenden von Parametern könnte ein weg sein.

    Aber generell gilt: Wo ein Wille ist, ist auch ein weg. 100% Sicherheit wird es sicherlich nicht geben.

  • Grundsätzlich würde ich alles was irgendwie geht in ein Script schreiben und nur die Dateien via FileInstall einbinden, die nicht selber geschrieben / gescriptet sind.

    Und wie Moombas schon schrieb, wo ein Wille ist .... Ich habe am Anfang auch so gedacht wie Du, aber dank zahlreicher Hinweise und Erklärungen bin ich einsichtig gewesen und es ist dann auch irgendwie übersichtlicher.

    ...... Lieben Gruß, ........
    ...........
    Alina ............

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Ich habe die Deutsche Hilfe auf meinem PC und
    OrganizeIncludes ist beim Scripten mein bester
    Freund. Okay?

  • Das erste Zitat ist nur der Ladeprozess und das Logo einige Funktionen sind nicht aktiv da sie noch fehlen. Bild und Videomaterial sowie Sound fehlen wenn es garnicht geht muss ich eben den ganzen Ordner hier mal hochladen, vieles ist untereinander verbunden. Ich weiß jetzt nicht ob euch das hier jetzt was bringt, um hier durch zublicken. Wiegesagt ansonsten kann ich den Ordner mal hochladen oder ich mach mal ein Video und könnte darin erklären wie alles gemeint ist, natürlich würde ich das Video dann auf Youtube auf nicht gelistet stellen somit geht es nicht an die Öffentlichkeit und könnte später dann den Link hier posten.




    das Main menü die Buttons sind mit Bildern versehen


  • Moin,


    der Fenstertitel HUNT Showdown Expansion-Collection lässt bei mir den Eindruck entstehen, dass es doch um ein bereits existierendes kommerzielles Spiel geht. Du solltest näher erklären, was Dein Skript letztlich bewirken soll. Die Manipulation von Spielen ist eher nicht das Ziel von AutoIt.

  • Die Manipulation von Spielen ist eher nicht das Ziel von AutoIt.

    Wie oben schon beschrieben ist es auch nicht mein Ziel, es ist eine Zusammenstellung wo alle Sounds Tricks und Tipps sowie später eine gute Statistik gelistet wird das Programm soll nicht in das Spiel eingreifen, wird es auch nicht.