![]() |
AW: Wie bekomme ich die exe kleiner?
Um meine Exen kleiner zu bekommen nehme ich mpress.
Reduziert die Größe um mehr als die Hälfte UND : der Große Vorteil gegenüber UPX ist, dass bisher KEIN Virenscanner darauf angeschlagen hat |
AW: Wie bekomme ich die exe kleiner?
Exe Packer haben Nachteile, die nicht von der Hand zu weisen sind: Falsch positive durch Virenscanner mal außen vor, sorgen sie für eine ungünstige Arbeitsspeichernutzung. Und Arbeitsspeicher gibt es deutlich weniger als Plattenplatz. In diesem Thread wurde das bis zur totalen...äh... Abwendung vom Thema...mmmh, diskutiert:
![]() Sherlock |
AW: Wie bekomme ich die exe kleiner?
Zitat:
|
AW: Wie bekomme ich die exe kleiner?
Hallo,
MadExcept verhindert schon mal das Komprimieren, wohl, weil es da einen eigenen Memory-Manager gibt. |
AW: Wie bekomme ich die exe kleiner?
Danke allen für die Antworten!
und besonders dem Delphi-"Laien" für die sorgsame Liste. Ich werden die Tips einmal von oben nach unten ausprobieren. Insb. das ganz naheliegende mit "release" hatte ich nicht bedacht, da ich keine Verkaufssoftware erstelle. Cheryll |
AW: Wie bekomme ich die exe kleiner?
Zitat:
Hast du eine Zielgröße? |
AW: Wie bekomme ich die exe kleiner?
Am meisten mach das aus:
{$SetPEFlags IMAGE_FILE_RELOCS_STRIPPED} Das muss im DPR platziert werden, am besten nach den uses und vor dem {$R *.res}. Dein 15 MB bringst du aber wohl kaum unter 10-12 MB egal was du machst. Seit RTTI aktiviert ist, ist leider die Grösse der Exe's explodiert. Also als Alternative könntest du dein Projekt auf z.B. D7 "downgraden" und dann wäre es vermutlich nur noch um die 7-8 MB gross. Was willst du aber damit erreichen? |
AW: Wie bekomme ich die exe kleiner?
IMAGE_FILE_RELOCS_STRIPPED:
Und damit blockierst du gleich ein Sicherheitsfeature des Betriebssystems. Dort werden (wenn aktiv) die DLLs/EXEn im RAM willkürlich verschoben, damit mit böse Häcker in ihren Viren/Trojanern/... nicht einfach mit statischen Adressen in fremdem RAM Programmcode umschreiben können, weil das Gewünschte dann ja jedes Mal wo anders liegt. (beliebt z.B. in Buffer Overflow Exploits) Und für DLLs ist es auch noch fatal, wenn an dieser Adresse eine andere DLL oder die EXE bereits geladen ist und Windows somit deine DLL verschieben müsste, was es aber nicht mehr kann, vor allem auch deswegen, weil kaum jemand die ImageBase definiert und 99,99% aller Delphi-DLLs und EXEn eigentlich auf der selben Adresse liegen. ($00400000) Es gibt auch Progrämmchen und EXE-Packer, welche nachträglich diese Reallocation-Table entfernen. (die ist dafür da, damit Windows beim Verschieben alle Zeiger im Code anpassen kann -> auf Prozeduren, Konstanten, Typen, globale Variablen, ...............) |
AW: Wie bekomme ich die exe kleiner?
Zitat:
![]() |
AW: Wie bekomme ich die exe kleiner?
Zitat:
![]() mit ca 70 Virenschutzprogrammen Dein Kompilat testen, und meine hochgeladenen Dateien, auch wenn mit UPX gepackt, wurden noch nie bemängelt. Trotzdem danke für den Tipp mit mpress, werde ich mir genauer anschauen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:19 Uhr. |
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 by Thomas Breitkreuz