Italia
Bugs und vermeintliche

XProfan X4 Runtime und UPX

 

Georg
Teles
Guten Tag,

anbei ein Problem bei UPX und möglicher Workaround Dank Rolands Art und Weise der Kompilate, wie diese in der EXE gesucht werden

Beim Linken der mit UPX zuvor komprimierten Runtime kommt folgender Fehler beim fertigen Programm



Es liegt daran, dass das fertige Kompilat an die EXE als Ressource angehängt wird (X4 hier) - da restliche Ressourcen bereits komprimiert sind, wird die EXE beim Ausführen dekomprimiert und versucht ergo das nicht kompimierte Kompilat zu dekomprimieren, was zu dem Fehler kommt - folgende Gründe liegen vor:

1. in erster Linier sucht das Runtime nach dem Kompilat, dieses darf in keinster Weise komprimiert sein - bedeutet, dass im Nachgang durch UPX zB komprimiertes Programm auch das Kompilat, das als Ressource vorhanden ist, komprimiert wird

2. wie oben erklärt, werden die Ressourcen beim Ausführen dekomprimiert - selbst wenn das Kompilat im Nachgang gelinkt wurde und die EXE zuvor komprimiert, kommt es ebenfalls zum o.g. Fehler. Hier wage ich zu vermuten, dass das Kompilat durch die EXE dekomprimiert wird (weil UPX Befehl = Ressourcen komprmiert, also dekomprimiere) obwohl das Kompilat sich im Original è

um dennoch mit UPX komprimierter Runtime zu arbeiten:

1. Lösung: Fertiges Programm komprimieren und den Befehl --compress-resources=0 verwenden - wie der Befehl schon sagt, werden die Ressourcen von der Komprimierung ausgenommen

2. Lösung: da das Kompilat durch Rolands Art und Weise, wie dieses durch die Runtime gesucht wird nicht zwangsläufig eine Ressource sein muss, kann zunächst die Runtime komprimiert werden (auch alle Ressourcen), danach die PRF gelinkt und einfach an die Runtime am Ende angehängt werden - hierzu auch den Befehl PROGEND am Ende des Quellcodes zur Sicherheit verwenden.
TIPP hier: Durch den Befehl --compress-icons=1 bei UPX sollte das erste Icon, dass man auch mit "USEICON" (bzw. Create("hIcon",...) als Fenstericon verwenden will, nicht komprimiert werden (wird bei mir in beiden Fällen nicht geladen - komprimierte Bitmaps, Strings etc. werden problemlos geladen).

Für die 2. Lösung in diesem Sinne habe ich parallel aus dem Jahr 2013 ein Programm hochgeladen, falls jemand das nicht selbst manuell machen möchte:  [...] 
 
Alle Sprachen
TC-Programming [...] 
XProfan 8.0 - 10.0 - X2 - X3 - X4

02.01.2023  
 



Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

894 Views

Untitledvor 0 min.
Wilfried Friebe28.05.2023
Walter01.05.2023
Uwe ''Pascal'' Niemeier13.03.2023
Paul Glatz06.03.2023
Di più...

Themeninformationen

Dieses Thema hat 1 subscriber:

Georg Teles (1x)


Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie