AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein RTTI abschalten oder minimieren - HowTo ?
Thema durchsuchen
Ansicht
Themen-Optionen

RTTI abschalten oder minimieren - HowTo ?

Ein Thema von paule32.jk · begonnen am 7. Aug 2024 · letzter Beitrag vom 9. Aug 2024
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von paule32.jk
paule32.jk

Registriert seit: 24. Sep 2022
Ort: Planet Erde
356 Beiträge
 
Delphi 11 Alexandria
 
#11

AW: RTTI abschalten oder minimieren - HowTo ?

  Alt 8. Aug 2024, 14:10
nu.
- er meint sicherlich Sektor-Größe - die ist Standard 4.096 Bytes oder 4 KB groß.
- selbst mit Assembler habe ich keine gültige Windows .EXE programmieren können, die kleiner als 2.048 Bytes ist.

Man muss halt abwiegen:
- viele Dateien kleinere, kleine Sektor-Größe
- wenige Dateien größere Dateien, größere Sektor-Größe...

Ok, zurück:
Ich habe jetzt aus dem Verzeichnis:
C:\Program Files (x86)\Embarcadero\Studio\23.0\bin

- die rtl290.bpl in das Verzeichnis meiner "kleinen" Ausgabedatei kopiert
- vorher hat Windows gemekkert, das rtl290.bpl nicht auffindbar ist
- nun bekomme ich den Fehler 0x0007b - was auf ein Image-Fehler hindeutet
- die rtl290.bpl ist rund 12 MegaByte groß
Frag doch einfach
Alles was nicht programmiert werden kann, wird gelötet
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: RTTI abschalten oder minimieren - HowTo ?

  Alt 8. Aug 2024, 18:25
So kleine Dateien landen bei NTFS eh in der MFT, als Attribut am Datensatz, und nicht in einem eigenen Sector Cluster auf der Platte. (falls ich das richig verstanden hatte)

Das Meiste spart man ein, wenn einfach nur die Debuginfos nicht gelinkt werden. (RELEASE)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von paule32.jk
paule32.jk

Registriert seit: 24. Sep 2022
Ort: Planet Erde
356 Beiträge
 
Delphi 11 Alexandria
 
#13

AW: RTTI abschalten oder minimieren - HowTo ?

  Alt 8. Aug 2024, 18:42
ja, richtig: RELEASE.
Aber mich würde doch schonmal interessieren, warum da ein 0x007b Fehler kommt, wenn man die RT Pakete nicht mit einlinkt...
Wie der Peter schon schrieb, macht das ja auch irgendwann oder irgendwie Sinn.
Frag doch einfach
Alles was nicht programmiert werden kann, wird gelötet
  Mit Zitat antworten Zitat
Benutzerbild von paule32.jk
paule32.jk

Registriert seit: 24. Sep 2022
Ort: Planet Erde
356 Beiträge
 
Delphi 11 Alexandria
 
#14

AW: RTTI abschalten oder minimieren - HowTo ?

  Alt 8. Aug 2024, 20:07
ok.
ich habe es jetzt hindeicseln können:
in den Optionen:
- RELEASE
- ohne Packages (TRUE)
- Optimize

dann eine Batch-Datei (run.bat):

Code:
@echo off
set BDS=C:\Program Files (x86)\Embarcadero\Studio\23.0
set BDSINCLUDE=C:\Program Files (x86)\Embarcadero\Studio\23.0\include
set BDSCOMMONDIR=C:\Users\Public\Documents\Embarcadero\Studio\23.0
set FrameworkDir=C:\Windows\Microsoft.NET\Framework\v4.0.30319
set FrameworkVersion=v4.5
set FrameworkSDKDir=
set PATH=%FrameworkDir%;%FrameworkSDKDir%;C:\Program Files (x86)\Embarcadero\Studio\23.0\bin;C:\Program Files (x86)\Embarcadero\Studio\23.0\bin64;C:\Program Files (x86)\Embarcadero\Studio\23.0\cmake;%PATH%
set LANGDIR=DE
set PLATFORM=
set PlatformSDK=

.\win64\Release\<das programm.exe>
und der 0x007b Fehler fly away...

wenn ich nun auch noch upx.exe auf die bestehende DLL und die Startanwendung (EXE) losjage, dann bin ich bei 21 KB zu Hause.
Somit: Fall gelöst.
Frag doch einfach
Alles was nicht programmiert werden kann, wird gelötet
  Mit Zitat antworten Zitat
Benutzerbild von Sinspin
Sinspin
Online

Registriert seit: 15. Sep 2008
Ort: Dubai
678 Beiträge
 
Delphi 10.3 Rio
 
#15

AW: RTTI abschalten oder minimieren - HowTo ?

  Alt 9. Aug 2024, 11:02
Lade dein UPX-tes Programm mal bei VirusTotal hoch und schau dir an wieviele Scanner dein Programm als Virus erkennen.

UPX ist niemals eine clevere Idee wenn man sein Programm vielen Leuten weitergeben will. UPX-te Programme werden oft als Viren erkannt. Das wird sich auch nicht ändern.
Stefan
Nur die Besten sterben jung
A constant is a constant until it change.
  Mit Zitat antworten Zitat
Benutzerbild von paule32.jk
paule32.jk

Registriert seit: 24. Sep 2022
Ort: Planet Erde
356 Beiträge
 
Delphi 11 Alexandria
 
#16

AW: RTTI abschalten oder minimieren - HowTo ?

  Alt 9. Aug 2024, 12:08
nu.
Ich will ja keinen Virus verbreiten.

Ich komme aus der MS-DOS Welt, wo Bits und Bytes noch sehr hoch im Kurs standen, soviel wie möglich, mit so wenig binary Code zu erzeugen.
Da hat man zum Beispiel ein "ClearScreen" programmiert, um den Bildschirm zu löschen.
Heute muss man einen weit aus höheren Aufwand betreiben, das ein Fenster als Vollbild dargestellt wird, und in diesen der dargestellte Text dann gelöscht werden soll, weil man eine weitere Bildschirm(text)seite darzustellen, aber dafür dann megabytes an binary auf der Festplatte zu verbraten.

Das ist so ziemlich der gröbste Wunsch von mir, wieder auf das Level zu kommen, wo man mit kleinen Programmen, viel schafft.

Aber: Ja, da gebe ich Euch recht, das Heute (aus welchen Gründen auch immer) Software immer schneller fertig werden muss, und es diese DLL Hell gibt, wenn ständig pätsches riliesed werden (müssen).
Frag doch einfach
Alles was nicht programmiert werden kann, wird gelötet
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: RTTI abschalten oder minimieren - HowTo ?

  Alt 9. Aug 2024, 12:14
UPX und Anderes kennen aber viele (ordentliche) Virenscanner und entpacken es vor der Analyse.
Was dann oft nur noch angemeckert wird, sind modifikationen/verschleierungen, welche dieses Entpacken verhindern sollen.

Was aber "normal" unpraktisch war, dass sowas z.B. Optimierungen für ein schnelleres Laden verhindert, durch Wiederverwenden und Teilen von vorbereitetem DLL-Speicher,
aber seit ASLR relativiert das sich etwas.

Die Ersparnis durch UPX war gegen die Nachteile nur noch minimal, da Speicher und Traffic diesbezüglich selbst eigentlich kein Problem mehr sind.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von paule32.jk
paule32.jk

Registriert seit: 24. Sep 2022
Ort: Planet Erde
356 Beiträge
 
Delphi 11 Alexandria
 
#18

AW: RTTI abschalten oder minimieren - HowTo ?

  Alt 9. Aug 2024, 12:28
nu.
Den UPX kann ich ja weg lassen, dann habe ich aber immernoch ein "kleines" Image.
Ich bin das erzeugte Image mal durchgegangen, und fand nur einen Eintrag auf rtl290.bpl.
Ich vermute aber, das dazu noch etliche DLL-images dazugehören... ?

Hat da schonmal Einer/Eine eine Liste gemacht, und so großzügig ist, diese zu teilen ?
Die Windows DLL images, sind schon klar (kernel32 und user32).
Frag doch einfach
Alles was nicht programmiert werden kann, wird gelötet
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.070 Beiträge
 
Delphi 10.4 Sydney
 
#19

AW: RTTI abschalten oder minimieren - HowTo ?

  Alt 9. Aug 2024, 13:09
Hat da schonmal Einer/Eine eine Liste gemacht, und so großzügig ist, diese zu teilen ?
Die Windows DLL images, sind schon klar (kernel32 und user32).
Sieht man alles im Event Log Window der IDE während des Debuggens, wenn man Module Messages aktiviert.

https://docwiki.embarcadero.com/RADS...nt_Log_Options
https://docwiki.embarcadero.com/RADS...ent_Log_Window
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.798 Beiträge
 
Delphi 12 Athens
 
#20

AW: RTTI abschalten oder minimieren - HowTo ?

  Alt 9. Aug 2024, 15:43
Ich will Dir wirklich nicht den Wind aus den Segeln nehmen, aber
Ich komme aus der MS-DOS Welt, wo Bits und Bytes noch sehr hoch im Kurs standen,...
MS-DOS ist eine Welt die schon lange untergegangen ist. Vielleicht fühlst Du Dich mit Unix wohler.
...und es diese DLL Hell gibt...
Da trägst Du gerade einen guten Anteil dazu bei, daß diese Hölle weiter bestand hat. Denn die BPL, die Du ab jetzt mit ausliefern musst, ist fix IDE versionsgebunden. Wenn also eine 12.2 oder ein 14.0 rauskommt, dann funktioniert Deine 10kB Exe nicht mehr mit den 12 MB von Delphi 12.1. Eine Stärke von Delphi ist die Möglichkeit monolithische EXEn zu erzeugen, die eine XCopy Installation ermöglichen. DLLs und BPL sollten eine bewusste Designentscheidung sein, und nicht einem vorgestrigen Zwang zur Größenreduktion entspringen.

Wenn Du das natürlich alles aus Spaß machst, dann viel Freude an der kleinen EXE mit der großen BPL.

Und UPX gepackte EXEn sind in nicht wenigen Firmen ein nogo.

O'Neill
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 12:48 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