Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Betriebssysteme (https://www.delphipraxis.net/27-betriebssysteme/)
-   -   Unterscheidung verschiedener Exe-Typen (https://www.delphipraxis.net/154535-unterscheidung-verschiedener-exe-typen.html)

xZise 15. Sep 2010 23:13

AW: Unterscheidung verschiedener Exe-Typen
 
Übrigens gibt es keine java-exen ;) Das sind meistens (native) Programme die einfach die jar starten.

MfG
Fabian

PS: Okay es kann java-exen geben, aber das hat dann nicht mehr mit der JVM zu tun!

p80286 16. Sep 2010 17:37

AW: Unterscheidung verschiedener Exe-Typen
 
Na es ist ja noch viel schlimmer
Man braucht nur eine "Ausführbare Dateiendung" damit der Doppelklick ein Programm startet.
Benenne einfach mal eine beliebige .EXE in .BAT um. Die startet so wie gewohnt.

Gruß
K-H

himitsu 16. Sep 2010 18:09

AW: Unterscheidung verschiedener Exe-Typen
 
Das ist eigentlich egal.

- die BAT läuft mit den selben Rechten, selbst wenn eine EXE drin steckt
- die BAT und die EXE können Dinge am System verändern (solange sie die nötigen Rechte besitzen)
- man weiß, daß bei Beiden (BAT und EXE) verschiedene Dinge passieren können

- im Endefekt kommt es also auf's Selbe raus, egal ob als EXE oder BAT (versteckte EXE)

implementation 16. Sep 2010 18:18

AW: Unterscheidung verschiedener Exe-Typen
 
Zitat:

Zitat von Satty67 (Beitrag 1049663)
Denke das jede EXE im Prinzip das Laden Ihrer Bibliothek selber macht. Delphi mit Laufzeitpackages ja auch.

Ich dachte, .Net-Programme würden erst zur Laufzeit aus der CIL in nativen Maschinencode kompiliert :gruebel:
Dann muss der JIT-Compiler ja schon geladen sein, sonst kann die EXE ja nichts tun.
Zitat:

Windows wird nur den PE-Header? prüfen, ob es eine gültige Executable ist... schon wegen DOS/16/32/64Bit
Den PE-Header werde ich noch unter die Lupe nehmen. Damit erübrigt sich wohl meine Frage.

Danke nochmal an alle!:thumb:

[OT]
Zitat:

PS. Ich kann mit einem Byte auch 257 Zustände speichern
Wie das? :lol:
Ich schaffe nur 256 :gruebel: 0, 1, 2, 3, ..., 255
Oder habe ich da einen Denkfehler?
[/OT]

himitsu 16. Sep 2010 18:33

AW: Unterscheidung verschiedener Exe-Typen
 
Du kannst ja mal auf Luckies Webseite oder im Forum nach dem Code suchen, welcher die CompileTime ausließt ... da hast du die Header mit enthalten, daß dieses dort ausgelesen wird.


Mit TreeStateBits bekommt man 6561 Werte da rein.
(Strom an, Strom aus oder so lala ... oder ... Minus, nix oder Plus)

Satty67 16. Sep 2010 18:39

AW: Unterscheidung verschiedener Exe-Typen
 
[OT]

Zitat:

Zitat von implementation (Beitrag 1050154)
Wie das? :lol:
Ich schaffe nur 256 :gruebel: 0, 1, 2, 3, ..., 255

Ich hab' ja auch die Aussage etwas verändert, erst dadurch wird es möglich:

Byte-Element (Object, Datenbankfeld) hat die Zustände: 0-255 oder null

An Chuck Norris komme ich nicht ran ;)

PS: Oder wenn ich himitsu's Hinweis lese, mit null für jedes Bit eben noch mehr.

[/OT]

implementation 16. Sep 2010 18:52

AW: Unterscheidung verschiedener Exe-Typen
 
Habe mir jetzt einfach mal Microsofts Spezifikation zu COFF heruntergeladen und überflogen
Interessant finde ich, dass .NET von Windows nicht als Subsystem angesehen wird:
Code:
Constant                              Value   Description
IMAGE_SUBSYSTEM_UNKNOWN               0        An unknown subsystem
IMAGE_SUBSYSTEM_NATIVE                1        Device drivers and native Windows processes
IMAGE_SUBSYSTEM_WINDOWS_GUI           2        The Windows graphical user interface (GUI) subsystem
IMAGE_SUBSYSTEM_WINDOWS_CUI           3        The Windows character subsystem
IMAGE_SUBSYSTEM_POSIX_CUI             7        The Posix character subsystem
IMAGE_SUBSYSTEM_WINDOWS_CE_GUI        9        Windows CE
IMAGE_SUBSYSTEM_EFI_APPLICATION       10       An Extensible Firmware Interface (EFI) application
IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER11       An EFI driver with boot services
IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER    12       An EFI driver with run-time services
IMAGE_SUBSYSTEM_EFI_ROM               13       An EFI ROM image
IMAGE_SUBSYSTEM_XBOX                  14       XBOX
Zu .NET taucht erst später ein Feld im Optional Header auf:
Code:
208/224   8   CLR Runtime Header   The CLR runtime header address and size. For more information, see section 6.10, “The .cormeta Section (Object Only).”
Dem Verweis zur .cormeta-Section bin ich gefolgt. Aber das "(Object Only)" irritiert mich. :shock:

Also kann's das nicht sein :glaskugel:

Aber sonst finde ich dort nirgends etwas dazu...

Kennt sich hier jemand genauer mit den Headern aus und hat vielleicht einen kleinen Hinweis für mich?

[EDIT]
Zitat:

Du kannst ja mal auf Luckies Webseite oder im Forum nach dem Code suchen, welcher die CompileTime ausließt ... da hast du die Header mit enthalten, daß dieses dort ausgelesen wird.
Werde ich mir anschauen, Danke!

[EDIT2]
Bin ich zu blöd, oder warum finde ich den Code nicht? :gruebel:
Wie heißt das Programm / die Unit / wasauchimmer denn?

mleyen 17. Sep 2010 09:55

AW: Unterscheidung verschiedener Exe-Typen
 
Zitat:

Zitat von implementation (Beitrag 1050161)
[EDIT2]
Bin ich zu blöd, oder warum finde ich den Code nicht? :gruebel:
Wie heißt das Programm / die Unit / wasauchimmer denn?

Ich tippe mal auf dies.

Zitat:

Zitat von implementation (Beitrag 1050154)
[OT]
Zitat:

PS. Ich kann mit einem Byte auch 257 Zustände speichern
Wie das? :lol:
Ich schaffe nur 256 :gruebel: 0, 1, 2, 3, ..., 255
Oder habe ich da einen Denkfehler?
[/OT]

Wenn man es schafft mehr als 8 Bits (in jeglicher Kombination) in 8 Bit zu komprimieren, dann könnte man
Delphi-Quellcode:
2^(UncompressedSize)-2^(8)
Zustände mehr in 8 Bit abspeichern. :thumb:
Also scheint sich Chuck Norris doch nur im Rahmen des Möglichen zu bewegen :stupid:
(Und ja, ich weiß das es den Komprimierungsalgo nicht geben kann)^^


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:05 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz