AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Delphi-PRAXiS - Lounge Betriebssysteme Unterscheidung verschiedener Exe-Typen
Thema durchsuchen
Ansicht
Themen-Optionen

Unterscheidung verschiedener Exe-Typen

Ein Thema von implementation · begonnen am 14. Sep 2010 · letzter Beitrag vom 17. Sep 2010
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von implementation
implementation

Registriert seit: 5. Mai 2008
940 Beiträge
 
FreePascal / Lazarus
 
#1

Unterscheidung verschiedener Exe-Typen

  Alt 14. Sep 2010, 19:33
Betriebssystem: Win 98 / ME,Win 2000,Win XP,Win Vista,Win 7
Angenommen wir haben nun ein Programm Anwendung.exe.
Und wollen es ausführen.
Woher weiß Windows jetzt, um was für einen Anwendungstypen es sich handelt?
  • nativ
  • .Net
  • Java
Woher weiß Windows, dass es das .Net Framework oder die Java VM starten soll?
Kann man auch irgendwo eigene Typen festlegen?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Unterscheidung verschiedener Exe-Typen

  Alt 14. Sep 2010, 21:26
Java wird anhand der Endung erkannt (.class, .jar)
.Net ist ja eine Exe, die das Framework lädt
Nativ anhand der Endung (.exe, .com)
Markus Kinzler
  Mit Zitat antworten Zitat
Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#3

AW: Unterscheidung verschiedener Exe-Typen

  Alt 14. Sep 2010, 21:46
Denke das jede EXE im Prinzip das Laden Ihrer Bibliothek selber macht. Delphi mit Laufzeitpackages ja auch.

Windows wird nur den PE-Header? prüfen, ob es eine gültige Executable ist... schon wegen DOS/16/32/64Bit

PS. Ich kann mit einem Byte auch 257 Zustände speichern
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#4

AW: Unterscheidung verschiedener Exe-Typen

  Alt 14. Sep 2010, 22:01
Für .net gibt es ein spezielles Flag im PE-Header soweit ich weiß. Bei COM, EXE etc. weiß ich nicht, ob es überhaupt eine Unterscheidung gibt. Ich kann meine Exen problemlos in .com umbenennen und ausführen... (wird ja auch von Malware gerne mal gemacht um DAUs in die Irre zu führen).
  Mit Zitat antworten Zitat
Reinhard Kern

Registriert seit: 22. Okt 2006
772 Beiträge
 
#5

AW: Unterscheidung verschiedener Exe-Typen

  Alt 14. Sep 2010, 22:29
Denke das jede EXE im Prinzip das Laden Ihrer Bibliothek selber macht.
Kann sie zumindest. Alte Programme für Win16 enthielten einen Stub "Dieses Programm läuft unter Windows" oder so ähnlich, aber dieser Stub war ein echtes DOS-Konsolenprogramm, daher gab es Programme, die sowohl als DOS-Programm als auch als echtes Windows-Programm mit GUI liefen. Auch von MS selber, soweit ich mich erinnern kann, traf das für den Editor und das Backup zu.

Ich bin überzeugt, dass man sowas auch mit anderen Versionen hinkriegen kann, ausreichende Systemkenntnisse vorausgesetzt, so dass man etwa ein Programm schreiben könnte, das mit .NET läuft wenn vorhanden und sonst als Win32-Applikation. Das macht nur niemand, weil man die Software grossenteils 2 x schreiben müsste.

Gruss Reinhard
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Unterscheidung verschiedener Exe-Typen

  Alt 14. Sep 2010, 22:33
Soetwas wie Fat oder universal binaries unter MacOS bze MacOSX
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#7

AW: Unterscheidung verschiedener Exe-Typen

  Alt 15. Sep 2010, 09:32
Für .net gibt es ein spezielles Flag im PE-Header soweit ich weiß. Bei COM, EXE etc. weiß ich nicht, ob es überhaupt eine Unterscheidung gibt. Ich kann meine Exen problemlos in .com umbenennen und ausführen... (wird ja auch von Malware gerne mal gemacht um DAUs in die Irre zu führen).
Da gibt es durchaus einen Unterschied. Die .COM Dateien beinhalteten ein Speicherabbild. Die .COM-Datei wurde 1:1 den Speicher geladen, der IP wurde mit einem Wert initialisiert und los gings. Die Exe enthält, wenn man so will, die verschiedenen Bausteine eines Programms, die beim Laden erst zusammen gesetzt werden.

Ausserdem gab es, glaube ich, auch Größenbegrenzungen, eine .Com durfte nur 64K groß sein, aber da bin ich mir nicht sicher.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#8

AW: Unterscheidung verschiedener Exe-Typen

  Alt 15. Sep 2010, 10:38
Da gibt es durchaus einen Unterschied. Die .COM Dateien beinhalteten ein Speicherabbild. Die .COM-Datei wurde 1:1 den Speicher geladen, der IP wurde mit einem Wert initialisiert und los gings. Die Exe enthält, wenn man so will, die verschiedenen Bausteine eines Programms, die beim Laden erst zusammen gesetzt werden.

Ausserdem gab es, glaube ich, auch Größenbegrenzungen, eine .Com durfte nur 64K groß sein, aber da bin ich mir nicht sicher.
Ich weiß, dass es diese Unterschiede formal gibt, aber das Betriebssystem scheint sich dafür nicht zu interessieren. Ich kann auch Exen die größer als 64K sind in .com umbenennen und problemlos ausführen. [edit]Ob es umgekehrt auch geht, wieß ich nicht. Müsste ich mal ausprobieren. Allerdings hab ich gerade keine .com zur Hand.[/edit]
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.131 Beiträge
 
Delphi 12 Athens
 
#9

AW: Unterscheidung verschiedener Exe-Typen

  Alt 15. Sep 2010, 10:47
Windows bekommt über die EXE-Header mit, um was es sich handelt und jenachdem werden COM/EXE/DLL/... dann unterschiedlich behandelt.

Warum man ein EXE in 'ne COM umbenennen kann ich auch einfach erklärt werden.
> Der Teil, welcher diese Anwendungen analysiert/startet, ist der Selbe
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Dezipaitor

Registriert seit: 14. Apr 2003
Ort: Stuttgart
1.701 Beiträge
 
Delphi 7 Professional
 
#10

AW: Unterscheidung verschiedener Exe-Typen

  Alt 15. Sep 2010, 21:22
Warum kann man eine EXE Datei in COM umbenennen.

Letztendlich gibt Windows die EXE zum Ausführen auch nur an die einzelnen Subsysteme weiter (64,32,16...) und schlägt fehl, wenn keines davon erfolgreich war.
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:47 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz