![]() |
AW: RTTI abschalten oder minimieren - HowTo ?
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ß :coder2: |
AW: RTTI abschalten oder minimieren - HowTo ?
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) |
AW: RTTI abschalten oder minimieren - HowTo ?
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. |
AW: RTTI abschalten oder minimieren - HowTo ?
ok.
ich habe es jetzt hindeicseln können: in den Optionen: - RELEASE - ohne Packages (TRUE) - Optimize dann eine Batch-Datei (run.bat):
Code:
und der 0x007b Fehler fly away...
@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> 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. |
AW: RTTI abschalten oder minimieren - HowTo ?
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. |
AW: RTTI abschalten oder minimieren - HowTo ?
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). |
AW: RTTI abschalten oder minimieren - HowTo ?
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. |
AW: RTTI abschalten oder minimieren - HowTo ?
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). |
AW: RTTI abschalten oder minimieren - HowTo ?
Zitat:
![]() ![]() |
AW: RTTI abschalten oder minimieren - HowTo ?
Ich will Dir wirklich nicht den Wind aus den Segeln nehmen, aber
Zitat:
Zitat:
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 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:56 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-2025 by Thomas Breitkreuz