An Dateien anhängen

Hey Leute!
Wollte mir heute einen Joiner mal selbstzusammenprogrammieren. Einfach zwei Exes nehmen und in eine exe packen. wenn diese gestartet wrid, solllen beide exe aufgerufen werden....

Ich hab folgendes schon probiert
Datei 2 binär geöffnet und an Datei 1 am schluß drangehängt....

Datei 1 funktioniert immer noch, jedcoh wird datei 2 nicht aufgerufen!
Kann mir jemand helfen?

P.S. Hört sich vielleicht so an, aber ich will keinen Virus programmieren!! Mich würde nur interressieren wie sog. Joiner funktionieren
 
du musst dich mit dem aufbau einer exe befassen. ich glaube die ersten bytes geben die groeße deiner datei an. wenn da weniger stehen, als die datei groß ist, fällt der erst eben weg.
 
zwei Programme starten

Moin,

so auf den ersten Blick glaube ich nicht, daß es so funktionieren wird, weil:

Die "Starter-Routine" des OS (welches ist egal) ist dafür programmiert, EIN Programm zu starten und nicht zwei.

Ich würde spontan eher an ein drittes Programm denken, welches dann die beiden anderen nachstartet.

Früher, unter GFA-Basic, hätte man die beiden Programme z.B. in DATA-Zeilen abgelegt, sich ein Stück Speicher geholt, den Code da reingeschrieben und die Anfangsadresse an TOS zum Starten übergeben.

Unter UNIX kann man, wenn der Source-Code vorliegt, beide Programme zu einem zusammenlinken und mittels fork() den Prozeß aufteilen. Vater läßt dann Programm A ablaufen, der Sohn Programm B. Unter Windows heißt so etwas, glaube ich, Thread.

Mit bestehenden EXE's wird's wahrscheinlich daraus hinauslaufen, daß du zuerst ein Assemblerprogramm brauchst, welches das Nachstarten erledigt. Dahinter packst du, wie du schon beschrieben hast, die beiden EXE's.

Poste mal den Fortschritt deiner Untersuchungen...;-)

as3jg
 
eine normale dos exe besteht aus einer ansammlung von anweisungen. es ist sehr wohl möglich eine bestehende exe um weitere anweisungen zu erweitern. man muss halt nur wissen, welcher teil der exe anweisungen sind, und welcher der header mit anderen infos.
 
Stimmt, aber nur durch die Erweiterung EINER bestehenden EXE erreichst du noch nicht, daß ZWEI (ehemalige) EXE's gestartet werden, sondern nur ein einziges.
 
es ist wie mit einer bitmap, wenn du herausfindest, was die eigentlichen bilddaten sind, und wo die infos zu laenge und breite stehen, kannst du zwei miteinander verknüpfen. wenn ich morgen meine mdl. abi pruefung hinter mir habe, schreib ich das mal als beispielprogramm.
 
Zurück
Oben