wie aus .asm .com machen
-
ich brauche unbedingt eine com und keine exe file. wie kann ich das ermöglichen?
-
benenne die exe einfach in com um
-
flat kompilierung, unter nasm mit dem schalter -f bin soweit ich mich erinnern kann.
-
wo finde ich eigentlich eine anständige dokumentation oder ein toturial von nasm?
-
NASN erstellt mit "-f bin" ein derartiges binary. Der Code muss bei .com-Dateien bei offset 100h anfangen.
Tutorials fuer NASM gibt's nicht viele...
Eine brauchbare Dokumentation wird mitgeliefert.idR. kann man .exe-Dateien nicht ohne weiteres wirklich in .com-Dateien umwandeln.
-
Nobuo T schrieb:
idR. kann man .exe-Dateien nicht ohne weiteres wirklich in .com-Dateien umwandeln.
falsch! Beweis: bei mir gehts:
-
nenenene schrieb:
Nobuo T schrieb:
idR. kann man .exe-Dateien nicht ohne weiteres wirklich in .com-Dateien umwandeln.
falsch! Beweis: bei mir gehts:
"[...] bei mir gehts:" ist kein Beweis.
Außerdem: "[...] ohne weiteres wirklich in [...]"
-
brauche unbedingt eine com und keine exe file.
benenne die exe einfach in com um
und auf die gleiche weise konvertiert man zb auch wav zu mp3.
-
hellihjb schrieb:
brauche unbedingt eine com und keine exe file.
benenne die exe einfach in com um
und auf die gleiche weise konvertiert man zb auch wav zu mp3.
rofl
-
hellihjb schrieb:
und auf die gleiche weise konvertiert man zb auch wav zu mp3.
hehe. erinnert mich an nen kumpel und seine erste eigene website.... war ein BMP mit knapp 1.2 MB drauf...
als ich dann meinte er soll doch ein JPEG draus machen, hat er es halt umbenannt.../EDIT: aber zum topic: IIRC konnte der inzwischen uralte DOS-EXE-Packer lzexe (oder so) dateien von EXE nach COM und vice versa converten. ob das ein echtes converten war, weiss ich auch nicht.
aber da eine COM maximal 64k oder so gross sein darf, geht es eben garantiert nicht immer.
-
Klar, mit einem Packer klappt das sehr gut, da hier eh nicht die urspruenglichen Strukturen des Programms direkt gespeichert werden.
Bei der erzeugten Datei handelt es sich schliesslich nur um das Dekomprimierungsprogramm (das unabhaengig vom urspruenglichen Programm entweder als .exe oder .com-Datei vorliegen kann), mit angehaengtem Datenblock, der das komprimierte Programm enthaelt.
Ich halte es fuer sehr wahrscheinlich, dass beim Entpacken immer das urspruengliche Programm komplett wiederhergestellt wird. -> Hier wird letztendlich also auch nicht wirklich aus einer .exe eine .com-Datei gezaubert.
-
Hi
Probier mal aPACK http://www.ibsensoftware.com/products_aPACK.html
und
upec http://www.brainwank.de/tools.htm.
-
Wenn du einfach die Endung änderst wird das zwar eine .COM datei hat aber struktur und funktioniert auch wie eine .exe . Das liegt am MZ am Anfang der Datei.
Du musst im .asm ein passendes Speichermodel wählen (is flat oder tiny (bin nicht 100% sicher) ) und .OFFSET 100h an den anfang schreiben. Dann die passenden Optionen einfügen und fertig ist die echte .COM
. Bleib aber bei einem einzigem Segment sonst geht es nicht#P.S. coms lassen sich auch in .exe umbennen geht trotzdem.
-
masterfreek64unreg schrieb:
Du musst im .asm ein passendes Speichermodel wählen (is flat oder tiny (bin nicht 100% sicher) ) und .OFFSET 100h an den anfang schreiben. Dann die passenden Optionen einfügen und fertig ist die echte .COM
. Bleib aber bei einem einzigem Segment sonst geht es nicht#dem schließe ich mich an.
Wenn ich mich noch richtig an die alten DOS-Zeiten erinnere:
Speichermodell 'tiny' (damals z.B. in Turbo C) wählen und dann die exe-Datei mit dem Programm 'exe2bin' (gibt's auch noch unter Win XP) in eine com-Datei konvertieren.