Entwickler-Ecke

Open Source Projekte - UPXShell


Hinterwäldler - Mo 30.12.02 17:40
Titel: UPXShell
Auf vielfachen Wunsch wurde der Kopf dieses Beitrages verändert:
Ich habe hier mal meine UPX-Shell hochgeladen. Sie vereinfacht den Umgang mit dem Komprimierer UPX, bla bla bla ...

Das Programm compilert mit D3 mit RXVcl 2.75 findet ihr hier:
http://hometown.aol.de/FiebigManni/download/UPXShell_Exe03.zip

Die Source ab Delphi 3 mit RXVcl 2.75 hier klicken:
http://hometown.aol.de/FiebigManni/download/UPXShell_Src03.zip

und ohne RXVcl also nur Borland VCL findet Ihr hier:
http://hometown.aol.de/FiebigManni/download/UPXShell_Src031.zip

Eine kleine Einführung in die UPXSell incl. wichtiger und hochaktueller FAQ's (z.B.: Virenalarm) findet ihr hier:
http://hometown.aol.de/FiebigManni/UPXShell.html

Wichtig für alle Besucher, darin steht nur das, was auch hier schon besprochen wurde. Aber eben in einer komprimierten Form zum runterladen (beliebiger Browser, Menü Datei / Seite Speichern unter) !!!
-----------------------------------------------------------------------------------------------------------------------------
Jetzt beginnt der ursprüngliche Text.
-----------------------------------------------------------------------------------------------------------------------------

Ok, Ok - ich habe verstanden.

Ich bedauere nur den Member, der irgend wann einmal das Wesentliche vom Unwesentlichen aus Platz- und Übersichtsgründen trennen muß. Meine Absicht war es, eine Sachdiskussion UBX-interessierter Besucher und Member in die Spur zu bringen. Ein paar sachdienliche Hinweise habe ich von MathiasSimmack erhalten.

Ich hatte nicht die Absicht UBXShell hier auszuwalzen. Um das zu erreichen habe ich meine Homepage geschaffen. Das ist meines Wissens auch überall so üblich (siehe oben).

Da gibt es eine Frage von Mimi auf die ich eingehen möchte. UBX ist ein Tool für die Kommandozeile. Die Parameter haben die gleiche Bedeutung wie eine große Optionsseite in einem Programm mit Bedienoberfläche und die Parameter haben die Funktion von Radiobuttons und Checkboxen. Eine Shell ist also die programmtechnische Umsetzung der Kommandozeile in eine visuelle Ansicht. Natürlich kannst Du optimale Ergebnisse erziehlen, wenn Du auf die Besonderheiten Deiner EXE, DLL oder Treiber eingehen kannst. Zum Beispiel könnte Deine EXE bevorzugt auf ein älteres System (100 Mhz) abgestimmt werden. Oder es ist gar noch ein DOS-Programm oder nur für einen XP mit mehr als 256 MB Speicher. Hier kannst Du mit -1 bis --best variieren.

Anderseits ist es auch möglich auf die Besonderheiten Deines Computers einzugehen. Nicht jeder hat eben 256 MByte und mehr Speicher zur Verfügung. Hier zählt dann jedes Byte und die erforderlichen Parameter müssen gesetzt werden.

Zusätzlich kanst Du zum Beispiel mit dem Parameter -f bzw. --force bestimmte Sicherheitsmechanismen von Windows zum Zeitpunkt der Kompression aushebeln. Und hier beginnen die eigendlichen Gefahren von UBX.

Zur näheren Erläuterung ein Beispiel: Viele von Euch werden noch OS/2 Warp/selig kennen. Dort gab es ein ähnliches Freeware-Tool. Es wurde am besten gleich von der Reparaturkonsole vom Root aus gestartet. Es stieg mit den entsprechenden Parameter in alle Unterverzeichnisse herab und komprimierte alles was ging. Das Ergebnis war der wesentlich geringere Platzbedarf von ca. 50% des BS und aller anderen Programme.
Das Schönste daran war: Weder das BS noch irgend ein anderes Tool oder Programm klagte in irgend einer Form darüber. Sogar das Kernel von OS/2 schrumpfte um 20%.

Versucht man dies mit UBX im Verzeichnis Windows\System32 von Windows 2000 oder XP, kann im Anschluß nur noch die gesamte Partition neu formatiert werden und hier ist die Stelle an der ich sage: UBX ist außerordentlich wertvoll, aber es gehört nur in Programmiererhände. Schnell ist eine Schuld zugewiesen worden und dieser muß sich dann zur Wehr setzen.

Damit ist mit Sicherheit auch die Frage von Michael beantwortet. Besonders für Ihn und andere Intressenten mit ähnlichen Problemen gilt der Hinweis: Probieren geht über studieren. Natürlich immer unter Beachtung aller Warnungen, der Rest kommt dann von selbst. Mir ging es nicht anders und brauchte geraume Zeit, um den Mund wieder zu schliesen.

Es soll Euer Tool werden und ich warte noch immer auf Tips, Wünsche und Hinweise.

In großer Erwartung der Hinterwäldler,
bei dem es vermutlich auch 10 Jahren keinen DSL-Anschluß geben kann.
Ps.: In einigen Tagen werde ich meiner Homepage eine Seite FAQ für UBX spendieren. Dort werden dann Euere Fragen mit meinen Antworten dauerhaft gespeichert.


mimi - So 12.01.03 21:13

die links gehen nicht mehr :twisted: :twisted:


Delete - So 12.01.03 21:16

Sind ja auch schon 13 Tage alt, was erwartest du? :roll:


mimi - So 12.01.03 21:27

eigentlich erwarte ich das die link funktionieren aber das ist wol zu viel verlangt ;)
naja...egal.
dann kann man wol auf das Programm versichten, oder ?

MFG
Michael


Delete - So 12.01.03 21:34

UPX läßt sich auch wunderbar in der Konsole bedienen. Es sollte nur im Suchpfad liegen.


mimi - Di 14.01.03 20:38

ich habe upx im sendTo menu von Windows.
so muss ich einfach nur rechten klick auf die exe datei machen und fertig;)

MFG
mimi


Delete - Di 14.01.03 20:40

UInd wie übergibst du die Parameter?


mimi - Di 14.01.03 20:58

HÄ ?
welche ?
du musst doch nur die EXE übergenen also deine anwenung.
oder hat UPX noch irgenwelche zusatz optionen ?
also ich will damit nur packen.
dann ruft man es ja so auf(nicht war ?)
upx anwendungsn verzeichnis + name
und fertig

MFG
mimi


Delete - Di 14.01.03 21:28

Na dann mach mal ein Konsolenfenster auf und gib: upx -? ein.

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
                     Ultimate Packer for eXecutables
            Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001
UPX 1.20w        Markus F.X.J. Oberhumer & Laszlo Molnar        May 23rd 2001

Usage: upx [-123456789dlthVL] [-qvfk] [-o file] file..

Commands:
  -1     compress faster                   -9    compress better
  --best compress best (can be very slow for big files)
  -d     decompress                        -l    list compressed file
  -t     test compressed file              -V    display version number
  -h     give this help                    -L    display software license

Options:
  -q     be quiet                          -v    be verbose
  -oFILE write output to `FILE'
  -f     force compression of suspicious files
  --no-color, --mono, --color, --no-progress   change look

Backup options:
  -k, --backup        keep backup files
  --no-backup         no backup files [default]

Overlay options:
  --overlay=copy      copy any extra data attached to the file [default]
  --overlay=strip     strip any extra data attached to the file [dangerous]
  --overlay=skip      don't compress a file with an overlay

Options for dos/exe:
  --8086              make compressed exe work on any 8086
  --no-reloc          put no relocations in to the exe header

Options for dos/com:
  --8086              make compressed com work on any 8086

Options for dos/sys:
  --8086              make compressed sys work on any 8086

Options for djgpp2/coff:
  --coff              produce COFF output [default: EXE]

Options for watcom/le:
  --le                produce LE output [default: EXE]

Options for win32/pe & rtm32/pe:
  --compress-exports=0    do not compress the export section
  --compress-exports=1    compress the export section [default]
  --compress-icons=0      do not compress any icons
  --compress-icons=1      compress all but the first icon


mimi - Di 14.01.03 21:33

und was können die extra parameter ?
ich kann leider kein englisch :oops:

MFG
MIchael


Delete - Di 14.01.03 21:35

Beispielsweise die Kompressionsrate einstellen. -1 .. -9.


mimi - Di 14.01.03 21:39

und was mache ich dann ?
also packt er dann besser oder was ?

MFG
mimi


Delete - Do 16.01.03 09:24
Titel: Re: UPXShell
Hinterwäldler hat folgendes geschrieben:
Ich verstehe die Welt nicht mehr.
Da wird von irgend einem Dorfältesten die von mir angegebene Adresse zum Download geändert und schon funktioniert nichts mehr !!!

Diese Formulierung mit dem Dorfältesten hattest du schon einmal benutzt. Auch da war sie nicht witzig, weil du dich mit deiner Apfelbaumgeschichte selbst in die Nesseln gesetzt hast.
Als ich dich auf die Regeln zu AUQ.de hinwies, da hast du dir diese nette Anekdote ausgedacht und über verletzte Persönlichkeitsrechte lamentiert. Du schreibst in deiner UPX-Shell selbst, dass du die Regeln von AUQ.de nicht in Frage stellen willst. Wenn dem so wäre, dann müsstest du sie (die Regeln) doch eigentlich beherzigen oder zumindest akzeptieren. Oder?

Die Regeln sind im übrigen eindeutig, und ich habe sie auch nicht gemacht! Ich nehme mir ganz einfach nur das Recht heraus, dich darauf hinzuweisen, denn ich habe keine Lust, erst umständlich mehrere fremde Seiten nach deinem Programm zu durchsuchen.
Wenn die Möglichkeit besteht, dass man hier selbst geschriebene Software anbieten kann, dann soll man es den Interessenten auch nicht unnötig schwer machen.
Ich bin übrigens weder Admin noch Moderator in diesem Forum. Ich bin auch nur ein Besucher und Schreiber wie du. Und genau deshalb möchte ich schnell ans Ziel kommen und nicht erst dutzende Seiten wegklicken.


Bitte vor dem Posten lesen! [http://www.auq.de/viewtopic.php?t=219] (Punkte #3 und #4)

Außerdem steht klein (aber lesbar) in deinem Text, welcher "Dorfälteste" die Links ergänzt hat
Zitat:
(03.01. 09:04 Tino) Titel geändert & Download-URLs angegeben

Wenn du der Meinung bist, deine Homepage enthält mehr als nur ein gutes Programm, dann benutze die Möglichkeit, die dir AUQ.de bietet, und beginne mehr als einen Thread.
Das machen andere auch so. Du besitzt das selbe Recht, hast dann aber IMO auch die Pflicht, dich an die Regeln zu halten, die hier (im Speziellen: für die OpenSource- und Freeware-Sparte) gelten.

Zitat:
Ich war es auf alle Fälle nicht.

Indirekt schon. Wenn ich mal aus deiner Anekdote zitieren darf:
Zitat:
Nun liest das einer der Dorfältesten und heftet darunter einen neuen Zettel (...) und beschreibt dann noch zu allem Überfluß diesen Weg. Nachdem ich das gelesen habe, vernagelte ich sofort das Loch im Zaun und erwarte nun geduldig mein Strafmandat!!!


Mir steht zwar kein Urteil zu, aber ich finde dein Verhalten in dieser Angelegenheit mehr als kindisch. Das ist meine ganz persönliche Meinung, unabhängig davon, wie du mich titulierst.
Da ich bisher nicht das Gefühl habe, dass sich eine ernste Diskussion zu deinem Programm lohnt, interessieren mich auch mögliche, folgende Beleidigungen deinerseits nicht. Wenn´s mir aber zu bunt wird, dann werde ich mich zu wehren wissen. Sieh´s als Hinweis.

Ich hoffe, Tino lässt diesen Beitrag drin.
Oder wir starten im Off-Topic mal eine Diskussion über den Sinn und Zweck der Regeln der Sparten OpenSource/Freeware. Es wäre meiner Meinung nach mal angebracht.

Mathias.


Tino - Do 16.01.03 10:55
Titel: Re: UPXShell
MathiasSimmack hat folgendes geschrieben:
Oder wir starten im Off-Topic mal eine Diskussion über den Sinn und Zweck der Regeln der Sparten OpenSource/Freeware.

Oh bitte nicht!!! :bawling:
MathiasSimmack hat folgendes geschrieben:
Es wäre meiner Meinung nach mal angebracht.

Angebracht ist meiner Meinung nach so ein Diskussion nicht. Bis jetzt ist doch Hinterwäldler der einzige der sich an die "Regeln" nicht hält (trotz mehrere Hinweise von User und Admin). Deshalb ein Diskussion führen? Ich hoffe nicht!

Laßt uns jetzt hier bitte wieder zum Thema kommen!

Gruß
TINO


Delete - Do 16.01.03 14:46
Titel: Re: UPXShell
Ich will auch keine Diskussion! Hintergedanke meines Einwands war die Hoffnung, jemand schreibt:
Tino hat folgendes geschrieben:
Bis jetzt ist doch Hinterwäldler der einzige der sich an die "Regeln" nicht hält (trotz mehrere Hinweise von User und Admin).

Aus berufenem Mund (@Tino: quasi vom Bürgermeister :wink:) macht diese Äußerung natürlich mehr her, als wenn ein paar normale User jemanden bitten, die Regeln einzuhalten.

Danke, Tino.

Nun wieder zum Thema ... und damit verabschiede ich mich aus diesem Thread ...


mimi - Do 16.01.03 21:29

bin auch der meinung !
der autor sollte seine richtigen links angeben und alles ist in butter :P

MFG
Michael


Anonymous - Do 23.01.03 17:29

Was mir nicht an dem Programm gefällt, daß ist der 3D Effekt der Schrift. Es nimmt dem Programm ein wenig Serisität, weil es dann wie eine Spielerei aussieht.

Zu deine Homepage. Eigentlich wollte ich etwas zu deiner 6'ten Beitrags-Änderung schreiben, aber inzwischen haben wir die 7'te.

Du versteckst mit Absicht die Downloadlinks um die Leute zu "zwingen" sich die weiteren Informationen durchzulesen. Allerdings gibt es Leute die sich niemals weitere Informationen durchlesen werden. Ich kann dir sagen wie das bei mir war. Ich kann auf deine Page, klickte auf Downloads, sah den Downloadlink für RichText Editor aber nicht für UPXShell, und weg war ich von der Seite. Was soll ich mir weitere Informationen über ein Programm anlesen wo es nicht mal den Downloadlink dafür gibt. Erst später durch die Diskusion bin ich nochmal auf die Seite gegangen und hab bemerkt, daß du deine Downloadlinks mitten drinn in dem Artikel anbietest. Ein schlechter Platz. Man könnte auf die Idee kommen, daß du garnicht das Programm anbieten willst, sondern eher deinen Artikel. Ich schätze, daß genau wie ich viele Leute sich das Programm nicht geladen haben, weil sie den Link nicht gesehen haben. Geh also davon aus, daß in solchen Fällen sich die Leute auch nicht den Artikel durchlesen. Schreib also auf der ersten Seite, daß der Downloadlink mittendrin ist und man den ein wenig suchen muß. Ansonsten werden die Leute dein tolles Programm ignorieren. Wer kommt schon auf die Idee, daß sich der Link bei ca. 70% des Artikels befinden.

Dann, das große UPX Bild wir bei mir falsch dargestellt. Teile sind bunt, Teile sind schwarzweiß.


mimi - Do 23.01.03 18:06

komisch das sich der autor vom Progrmm nicht meldet;)

MFG
Michael


hitstec - Fr 24.01.03 00:19

mimi hat folgendes geschrieben:
und was mache ich dann ?
also packt er dann besser oder was ?

Ja, genau. Der Parameter "--best" erzielt zum Bsp. die höchste Kompressionsrate. Dauert halt etwas länger.

Wenn der kleine Hunger kommt ...

:wink:


mimi - Fr 24.01.03 00:33

achso:
ich hatte mal ein Spiel was ich damit packen wollte(das spiel habe ich geschrieben:sokubahn;)) und da rockelte es und soweiter kurtz er war damit beschäfdigt die sachen in den arbeitspeicher zu packen(vermute ich mal)
naja schade ist es:
weil das spiel ist etw: 800 KB groß(die exe datei)
und gepackt ca 300 oder so
schon ein unterschied finde ich.

MFG
Michael


Delete - Fr 24.01.03 00:36

Sag UPX mal, es soll die Ressoiurcen nicht mit packen. ich weiß nicht, ob es hilft, nur eine Idee.


Delete - Fr 24.01.03 11:35

Hinterwäldler hat folgendes geschrieben:
Ich hatte nicht die Absicht UBXShell hier auszuwalzen.

Das sollst du auch gar nicht. Es reicht eine kurze Übersicht, die auch von den Regeln so gefordert wird. Etwa so:
Zitat:
Hallo Leute.

Ich habe hier mal meine UPX-Shell hochgeladen. Sie vereinfacht den Umgang mit dem Komprimierer UPX, bla bla bla ...

Das Programm findet ihr hier: <URL>
Den Quellcode hier: <URL>

Und wer noch mehr zu UPX und seinen Möglichkeiten wissen will, der schaut auf meiner Homepage (<URL>).

Fertig. - Mehr muss man nicht sagen. Wenn, dann ergibt sich das IMHO im Laufe der Diskussion. Dass du die Pflege des Programmcodes übernehmen willst, obwohl es Open-Source ist, halte ich nicht nur für legitim sondern auch für notwendig.
Zwar gibst du den Quellcode frei, aber ich kann damit bspw. nichts anfangen, weil mir die RX-Komponenten fehlen. Also bin ich darauf angewiesen, dir die Fehler zu melden und zu hoffen, dass du sie ernst nimmst und evtl. sogar behebst.
Aber du solltest auch auf Beiträge antworten und nicht nur deinen ersten bearbeiten. Oder: wenn ich dir hier im Forum einen Fehler melde, dann möchte ich deine Reaktion auch hier finden!, und nicht auf deiner Homepage in einem FAQ oder weiß der Geier wo ... Dann könnten wir uns das alles auch gleich sparen und den kompletten Thread wieder löschen.

Als Anregung empfehle ich dir die ganzen anderen Postings in den Sparten Open-Source und Freeware. Da wirst du ebenfalls viele Kritiken finden, natürlich! Was aber diese anderen Threads von dem hier unterscheidet, ist die Tatsache, dass sich der Programmierer zu Wort meldet (so, dass man das auch als Wortmeldung erkennt!), sich zu den Fehlern äußert und auch neue Versionen zum Testen zur Verfügung stellt.


Also, noch einmal folgende Punkte meinerseits:


Tino - Fr 24.01.03 11:57

@Hinterwälder: Bitte Antworte auf die Fragen nicht durch Editieren deines ersten Beitrages. Wenn eine ordentliche Diskussion hier nicht mehr möglich ist wird das Topic geschlossen!

Gruß
TINO


Hinterwäldler - Fr 24.01.03 16:38
Titel: UPXShell
Es ist schon eigenartig, einige Member vermissen meine Teilnahme im Forum und andere wiederum können gar nicht so schnell antworten, wie ich meine Beiträge schreibe und wenn sie überholt sind, auch wieder ändere(n muß). Sehr Eigenartig.
Also, ich habe meine "Drohung" wahr gemacht und meiner Homepage einen Abschnitt "FAQ für UBXShell" hinzugefügt. Dieser Abschnitt wird gefunden auf der Seite "Programme - UBXShell" meiner Page, am Ende der Seite, unterhalb der Hyperlinks zum Download. Momentan verbleiben sie auch dort. Sollte die Fragerei überhand nehmen, wird sich dort später nur ein Menü zum Aufruf der Antworten befinden.
Eigendlich war ich der Meinung, hier in diesem Forum ein sachkundiges Publikum zu finden, welches mir bei der Bewältigung meiner Probleme mit UPXShell-Projekt hilft. Einigen Usern scheint das Programm in dieser Form etwas sehr provokativ zu sein. Das war auch Sinn und Zweck. Das dies von Anfang an so angedacht ist, habe ich an mehreren Stellen schon betont. Eigentümlicher Weise habt Ihr das geflissentlich überlesen.

Obwohl ich keiner der Autoren von UBX bin, werde ich auf einige von Euch aufgeworfene und sachliche Fragen eingehen. Trotz allem muß ich auch an dieser Stelle auf http://UPX.SourceForge.Net verweisen.

Da ist die Frage von Mimi bezüglich seines "Sokubahn". Ich habe mir also sein nettes Spielchen (fast 3,7 MB) von seine Homepage geholt und seine Angaben überprüft. Editor und SetOptionen waren schon erfolgreich komprimiert. Seine Bemerkungen bezüglich Sokubahn.exe kann ich allerdings nicht nachvollziehen. An Geschwindigkeit hat es, nachdem ich es komprimiert hatte, auf keinem Fall eingebüst. Allerdings ist mein Prozessor ein 800 MHz Duron.
Von mir wurden folgende Parameter angewendet:
--best --crp-ms=999999 --nrv2d
und das Ergebnis war dann ein mickriges Ratio von 55.69%, begründet in, so vermute ich, den vielen ausgelagerten Resourcen. Sollte das Ergebnis von Dir nicht reproduzierbar sein, dann verwende mal statt der Option --best die Option -1. Hier wird zwar nur in Deinem Spiel ein Ratio von 66-67% erreicht, aber dafür kann Sokubahn seine includierten Resourcen auch viel schneller lesen. Diese Einstellungen kannst Du am sichersten mit UPXShell variieren. Einfach mal probieren!
Diese Frage ist für mich Anlaß, der UPXShell einen Button zum Test des komprimierten Programmes aus der Shell heraus zu spendieren. Das wirft gleich die Frage auf, was soll aufgerufen werden, wenn es sich um DLL's oder ähnliches handelt?

Eine weitere wesentliche Frage ist die von Luckie. Er bezweifelt, das seine Ressoiurcen von UPX nicht richtig gepackt werden können.
Also ich habe da nicht die geringsten Probleme. Lade dir mal von meiner Page die UPXShell herunter und Du wirst feststellen, das UPX sehr wohl die Resourcen einer Anwendung packen kann. Dies war auch der entscheidente Grund, warum ich statt einer Read.me alles Wesentliche einer Memoausgabe anvertraute. Dadurch ist der Platzbedarf auf der Festplatte insgesamt geringer geworden. Diese Art der Read.me hat noch einen weiteren Vorteil: sie kann nicht verloren gehen. Zugegeben, es ist auch eine Frage des persönlichen Geschmacks. Ich gehe aber davon aus, das später, wenn die Shell fertig ist, diese von Festplatte zu Festplatte weiter gereicht wird und wie schnell können dadurch wesentliche Dokumente verloren gehen. Schon jetzt wird dieser Memoausgabe kaum Beachtung geschenkt, was soll dann mal später werden (ich kenne mich ja selbst).

Popov möge mir verzeihen, wenn er auf meinen paar Home-Seiten nicht sofort das Gewünschte gefunden hat. Vieleicht versucht er es mal bei Torry oder DSP. Hi,Hi. Bitte nicht böse sein. Ich habe übrigens Deine Page auch besucht...
Ach so, alle von mir verwendeten Bilder können mit allen mir zur Verfügung stehenden Browsern, das sind Explorer6, Netscape7, Opera6 und AOL7 fehlerlos abgebildet werden. Ich verstehs nicht.

Noch immer warte ich auf Vorschläge zur Verbesserung und Erweiterung, unterlegt u.U. auch mit Codeschnipsel, von Euch. Ihr sollt später mal die Nutznieser dieses Tools sein und damit arbeiten, also Euch auch mit diesem identifizieren können.

Bleibt schön neugierig, Euer Hinterwäldler


Delete - Fr 24.01.03 16:43
Titel: Re: UPXShell
Hinterwäldler hat folgendes geschrieben:
Eine weitere wesentliche Frage ist die von Luckie. Er bezweifelt, das seine Ressoiurcen von UPX nicht richtig gepackt werden können.

Ich weiß nicht, ob wir uns hier falsch verstehen. das war keine Frage, sondern eine Vermutung, dass das Programm von mimi Probleme bekommt, wenn die Ressourcen mit gepackt werden. Und er sollte es mal so probieren, dass UPX die Ressourcen in Ruhe läßt.


hitstec - Fr 24.01.03 17:58

Man, kaum bin ich einen halben Tag von meinem letzten Posting weg, schon muss ich mich mit Romanen auseinander setzen.

Woher habt ihr soviel Zeit? Arbeistlos? Können sich manche nicht kurz fassen?

Hmm.


Delete - Fr 24.01.03 20:57

Hinterwäldler hat folgendes geschrieben:
... Du wirst feststellen, das UPX sehr wohl die Resourcen einer Anwendung packen kann.

Es gibt aber Situationen, in denen man die Ressourcen bzw. Teile davon (sofern möglich) von einer Komprimierung ausnehmen sollte. Beispiel: XP-Manifest-Ressourcen sollten nach Möglichkeit nicht komprimiert werden, weil Windows XP sonst den Start des Programms mit einer Fehlermeldung beantwortet.

Zitat:
Ach so, alle von mir verwendeten Bilder können mit allen mir zur Verfügung stehenden Browsern, das sind Explorer6, Netscape7, Opera6 und AOL7 fehlerlos abgebildet werden. Ich verstehs nicht.

Ich versteh´s. Popov meinte die Bitmap in deinem Programm! :roll: Die ist bei mir auch nur schwarz/weiß.

Zitat:
Noch immer warte ich auf Vorschläge zur Verbesserung ...

(...)


PS: Noch ein Übersetzungsfehler. "Strip nicht verändern" bezieht sich in deinem Programm auf die Option "--strip-relocs=?". In der UPX-Hilfe steht
Zitat:
--strip-relocs=0
Don't strip relocation records.

--strip-relocs=1
Strip relocation records. [DEFAULT]
This option only works on executables with base
address greater or equal to 0x400000. Usually the
compressed files becomes smaller, but some files
may become larger. Note that the resulting file will
not work under Win32s.
UPX never strips relocations from a DLL
regardless of this option.

Das Ja/Nein bezieht sich also nicht auf "strip" sondern auf "Relocation Records"; auch wenn ich ehrlich zugeben muss: ich habe keine Ahnung, wie man das am besten ins Deutsche übersetzen kann.
Mein Englisch-Wörterbuch hat folgendes geschrieben:
relocation
der Umzug
die Umsiedlung
der Standortwechsel
die Versetzung


Delete - So 26.01.03 09:43
Titel: Do it yourself!
Seit gut einem Monat redet Hinterwäldler nun von den Möglichkeiten seiner UPX-Shell, von UPX, von Kritik und Wünschen, die er hat (und auch bekam) ...und am Quellcode hat sich in der ganzen Zeit allerdings nichts getan. :?

Gestern habe ich angefangen, heute kommt der Rest - dann habe ich meine eigene Shell. Es fehlen noch kleinere Dinge, aber fast alle Optionen, die man von Hinterwäldlers Programm kennt, sind bereits drin; und komprimieren/dekomprimieren klappt auch schon.
Ich habe allerdings auf das "capturen" der Ausgabe verzichtet und mich auf "ShellExecute" beschränkt. Dafür ließen sich drei verschiedene UPX-Versionen (1.02, 1.24, 1.90) problemlos aufrufen.

Aktueller Stand meiner Beta: 31,5k, unkomprimiert.


Hinterwäldler - Mo 27.01.03 18:55

Hier steht sehr viel
Interessenten drucken das gleich aus.

Nun ist es passiert, die Version 0.2 ist fertig. Es hat etwas länger gedauert, aber ich mache das auch nur während meiner Freizeit !!!
Die UPXShell kann ab sofort von jedem Delphiprogrammierer ab Delphi 3 geladen werden. Ohne RX-VCL oder JVCL, nur Borland !!! Dafür wird jetzt offensichtlich, warum niemand gern TTrackBar nimt. Ihr werdet schon sehen. Und noch etwas grundsätzliches: Die wieder für NON-Delphi-Programmierer zur Verfügung stehende UPXShell.exe wurde mit Delphi 6 und allen Debuginfos kompilert. Eigendlich müßte dann bei einem Absturz die dafür zuständige Adresse angezeigt werden. Ich bin gespannt, was da raus kommt.
Von MathiasSimmack wird wiederholt eine Integration in den Windows-Explorer gewünscht. Ich gehe diesen Weg nicht mit! Mit einer solchen Maßnahme können wir unsere Maschinen gleich zum Abschuß frei geben. Er hat es an dieser Stelle offensichtlich noch immer nicht verstanden: UPX ist kein Spielzeug für Hauptschüler sondern ein Werkzeug für ernsthafte und verantwortungsbewußte Programmierer. Abgesehen davon, wenn wir uns an fremden Programmen vergreifen, ist das eine Copyrightverletzung und damit Wasser auf die Mühlen der "Rechtsschützer".
Also wenn Ihr mich fragt, wäre ich betroffen würde ich mich auch ersthaft wehren. Darum wird auch nur immer eine Datei komprimiert werden können! Um eine EXE und paar DLL's zu komprimieren, wird mit der Shell wirklich nur ein paar Sekunden mehr als mit Wildcards benötigt und das Ergebnis ist auf jeden Dateityp speziell zugeschnitten.
Was gibt es nun für wesentliche Veränderungen.
1. TabSheet1 ist weg. Sie hat ihre Aufgabe getan und wird nicht mehr gebraucht. Oder doch noch?
2. Die Kommando-Buttons sind mit ihrer Eigenschaft "enabled" von einer gültigen Dateiangabe abhängig: Keine Datei - dann auch keine Kommandos.
3. Die Arbeitsperioden im CapitureDosCommand wurden von 0,1 auf 0,5 Sekunden verlängert (falls bei --best der kleine Hunger kommt). Ob es was bringt, wird sich zeigen.
4. Ein Instanzmanager wurde implementiert. Das Problem bei diesem war, das er sowohl unter D3 wie auch unter D6 einsetzbar und zudem ein einfaches Handling bieten soll. Das alles unter einen Hut zu bekommen war nicht einfach. Borland hat es uns wirklich nicht einfach gemacht. Bei UNDU.COM habe ich so etwas gefunden. Die Unit kann problemlos und bei Bedarf in andere Anwendungen eingefügt werden. Unter D6 gibt es einige Warnungen, die allerdings gar nicht auftreten dürften. Darum die EXE auch mit allen Debuginfos!
5. Jetzt können Aufgrund eines erweiterten Dateihandling auch komprimierte DLL's mit dem Aufruf der dazu gehörenden EXE auf Funktionsfähigkeit getestet werden. Müßt Ihr Euch mal ansehen und beurteilen.
6. Alle Angaben zu Speicherbedarf und vorhandenem Speicher wurden in KByte umgewandelt. Darum kommen auch ein paar "krumme" Werte heraus. Ich finde das übersichtlicher. Wer rechnet denn auch schon in Bytes? Die Trackbar wurde auf Maximal gestellt. Achtung also, bei alten Maschinen.

Was muß aus meiner Sicht noch getan werden?

1. Ist eine Hilfe notwendig?
Ich glaube nicht. Ich bin überzeugt, das wenn die jetzige TabSheet3 einen ordentlichen Memoinhalt und eine Druckfunktion erhält, dies ausreichend sein sollte. Seht Euch das Motto zum Memo an und wie gut kennen wir uns.
2. Eine Backup-Funktion?
Also ich persönlich nutze viel lieber das GExpert "Backup Projekt" regelmäßig. Bei vielen anderen Compilern gibt es mittlerweile ähnliche Tools oder Möglichkeiten. Warum alles doppelt und dreifach? Eine perfekte Backup-Funktion würde der ungesetzlichen Veränderung einer Datei durch Dritte Vorschub leisten. Das einzige wäre die Aktivierung des UPX-internen Backup, aber ob das das Ware ist?
3. Die Konkretisierung der Caption-Inhalte!
Das ist sehr wichtig, auch im Zusammenhang der geplanten druckbaren Hilfe-ASCII auf TabSheet3. Der Anwender muß wissen, was er macht. Die beiden Autoren von UPX halten sich diesbezüglich sehr bedeckt. Ich wollte nur eine deutsche Dokumentation per eMail, die ja vorhanden sein sollte, denn meines Wissens spricht man an der Uni Linz noch immer die deutsche Sprache.
Mattias hat letztens meine falsche Interpretation angesprochen. In meiner etwas verschommenen Erinnerung gab es aber unter C++ oder VB den Ausdruck "Strip". Ich kann mich irren. Profis sind gefragt. Anders sieht das bei "nrv2b" und "nrv2d" aus. Dabei handelt es sich vermudlich um historisch unterschiedlich entstandenen Code. Zum Beispiel Packlite, LZExe oder Diät könnte es sein. Um das herauszufinden ist allerdings das "Abklappern" einiger 100 m Assempler notwendig. Also ich habe nicht die Zeit und lasse es dabei. Markus F. X. J. Oberhumer und Laszlo Molnar gaben als Server für ihre Quellen den der FU Berlin an. Ihr könnt ja mal reinschauen in den Ftp-Server....
Wer zu den Captions die zündente Idee oder die richtige Übersetzung besitzt, veröffentlicht sie hier oder kann Sie mir per eMail schicken.
4. Glyph's für die BitBtn's
Wer dazu Ampitionen hat und eine künstlerische Ader besitzt, kann ja mal in paar Glyph's entwerfen. Die werden von mir dankbar angenommen. Der Künstler erhält dann auch in den Credits eine Spitzenposition. Versprochen !!!
5. Es ist Euer Tool
und es soll in einigen Wochen (oder vieleicht schon heute) die Delphi IDE - Tools verzieren.
Findet Ihr Bugs oder möchtet Ihr den Code an irgend einer Stelle verbessern, haltet Euch nicht zurück, Ihr seit doch alle gute Programmierer !!! Meckern ist nur eine Seite und gebraucht wird das Teil von fast jedem.
6. Wenn Ihr mir kompletten Code schicken wollt,
dann bitte die *.dfm als ASCII. Ihr wist schon, wegen D3 - D6 oder nur D3.

Der Download sollte eigendlich funktionieren.

Für NON-Delphi - Programmierer die EXE mit allen Debuginfos (872.904 Bytes):
http://hometown.aol.de/FiebigManni/download/UPXShell_Exe02.zip

Für alle anderen die Source ab Delphi 3 hier klicken (26.021 Bytes):
http://hometown.aol.de/FiebigManni/download/UPXShell_Src02.zip

Bleibt schön neugierig, Euer Hinterwäldler


Tino - Mo 27.01.03 19:16

Hinterwäldler hat folgendes geschrieben:
UPX ist kein Spielzeug für Hauptschüler sondern ein Werkzeug für ernsthafte und verantwortungsbewußte Programmierer

Ist ja geil! Also sollten Hauptschüler Dein Programm nicht benutzen !?!?

Gruß
TINO


tommie-lie - Mo 27.01.03 20:16

@Hinterwäldler:
Was soll denn der Blödsinn? UPX ist meines Wissens ein Tool, daß binäre Dateien so packt, daß sie beim Aufruf automatisch in den Speicher entpackt werden und somit ausführbar bleiben, im Gegensatz zu ZIP-Archiven. Was hat das mit Verantwortung, Programmierkenntnissen und Hauptschule zu tun? Ich würde eher sagen, du solltest mal eine Schule besuchen (sorry, aber so wie du dich hier benimmst...).


Delete - Mo 27.01.03 20:48

Eine Vorbemerkung in eigener Sache:
Mir ist zwar klar, Hinterwäldler, dass wir beide -auf Grund unseres Starts!- nie Freunde werden, aber ich bin auch nicht traurig darüber. Nur, trotz aller Antipathie solltest du dir bitte die Zeit nehmen, meine Aussagen richtig zu lesen und nicht völlig falsch zu interpretieren.

< -- schnibbel ---------------------- >

Hinterwäldler hat folgendes geschrieben:
Von MathiasSimmack wird wiederholt eine Integration in den Windows-Explorer gewünscht. ... Er hat es an dieser Stelle offensichtlich noch immer nicht verstanden: UPX ist kein Spielzeug für Hauptschüler sondern ein Werkzeug für ernsthafte und verantwortungsbewußte Programmierer. Abgesehen davon, wenn wir uns an fremden Programmen vergreifen, ist das eine Copyrightverletzung und damit Wasser auf die Mühlen der "Rechtsschützer".

Eigentlich meinte ich die Integration deiner Shell! Sprich: die UPX-Shell registriert sich für diverse oder auch alle Dateitypen. Dann markiert man im Explorer eine Datei, aktiviert mit der rechten Maustaste das Kontextmenü und wählt den Eintrag der UPX-Shell aus, und -voilà- dein Programm startet und erspart mir die Auswahl über den Dateidialog. Insofern ist die Sache mit der Copyright-Verletzung ... hm, na sagen wir ruhig: absurd.

Ich weiß nun nicht, wie Tino seinen Satz meint; aber ich sage: Aus Hauptschülern können auch ernsthafte und verantwortungsbewusste Programmierer werden. Die Betonung liegt zwar auf können, aber ein Doktorgrad in Informatik ist IMHO nicht zwingend erforderlich.

Zitat:
Eine Backup-Funktion? Also ich persönlich nutze viel lieber das GExpert "Backup Projekt" regelmäßig. (...) Das einzige wäre die Aktivierung des UPX-internen Backup, aber ob das das Ware ist?

Genau das letzte, die UPX-Option!, habe ich gemeint. Und da es ja Checkboxen gibt, lässt sich diese auch abschalten. Wer sie also nicht für das Wahre hält, muss sie ja nicht nutzen. Aber da du weitergehende und "schwerwiegendere" Optionen anbietest (Speichernutzung, Overlay-Flags, usw.) sollte die Backup-Option zumindest vorhanden sein.

Zitat:
Mattias hat letztens meine falsche Interpretation angesprochen. In meiner etwas verschommenen Erinnerung gab es aber unter C++ oder VB den Ausdruck "Strip".

s. Zitat vom 24. Ich habe extra den entsprechenden Teil aus der HTML-Seite (upx.html) gepostet. Mein Englisch ist zwar auch nicht gerade das beste, aber bei einem Satz wie
Zitat:
Don't strip relocation records.

würde ich vermuten, dass "strip" in dem Fall das Verb ist und "relocation records" demzufolge das, was (hier) nicht "ge-strippt" wird.

Zitat:
Meckern ist nur eine Seite ...

Aussagen richtig lesen, die andere.

< ----------------------------------- >

Damit es nicht heißt: "der meckert immer bloß", kommt zu folgendem Vorschlag auch gleich noch ein Codestückchen zum Ausprobieren. Worum geht´s mir? Um die nervige Dialogbox am Anfang. Wo liegt der Fokus deiner Shell?

Die Idee: Ich habe mein Programm so gestaltet, dass es beim Start nach UPX sucht. Im aktuellen Verzeichnis und im "PATH". Machen wir uns nichts vor; wer UPX schon vor deiner Shell benutzt hat, wird es wahrscheinlich in einem "PATH"-Ordner liegen haben, von dem aus er überall Zugriff darauf hat.
Mein Codebeispiel demonstriert das mit Hilfe der SysUtils-Funktion "FileSearch", die -im Erfolgsfall!- Name und Pfad zum Packer zurückgibt:

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
var
  iValue : integer;
  pBuf   : pchar;
  tmp    : string;
begin
  GetDir(0,tmp); // aktuelles Verzeichnis

  // benötigter Speicher zum Lesen der
  // Umgebungsvariable "PATH"
  iValue := GetEnvironmentVariable('PATH',nil,0);
  if(iValue > 0) then begin
    // Speicher reservieren
    GetMem(pBuf,iValue);
    try
      // Variable lesen
      if(GetEnvironmentVariable('PATH',pBuf,iValue) > 0) then

      // SysUtils-Funktion aufrufen
        tmp := FileSearch('upx.exe',tmp + ';' + pBuf);

      // Rückgabeergebnis ist der Dateiname inkl. Pfad,
      // wenn UPX gefunden wurde
      MessageBox(0,@tmp[1],nil,0);
    finally
      // Speicher freigeben
      FreeMem(pBuf,iValue);
    end;
  end;
end;

Wie du das benutzt (wenn du es denn benutzt), musst du selbst entscheiden. Bei mir besteht zusätzlich die Möglichkeit, zur Laufzeit den Ordner zu wählen, in dem sich UPX befindet.

Gruß.

< ----------------------------------- >

MathiasSimmack hat folgendes geschrieben:
Ich weiß nun nicht, wie Tino seinen Satz meint; ...

Doch, jetzt weiß ich es. Habe ich also richtig gelegen, dass "VIELEN DANK" sarkastisch gemeint war ... :wink:


Hinterwäldler - Di 28.01.03 13:47

Ich weiß beim besten Willen nicht, was hier los ist?

Das mit dem Hauptschüler habe ich anders gemeint. Ich besuchte in Dresden von 1950 bis 1958 die Grundschule und im Anschluß keine Uni !!! Jedoch habe ich noch eine schulpflichtige Tochter, welche in die Werkrealschule Kl. 10 (erweiterte Hauptschule) geht. Was sich dort im gut ausgestatten Computer-Cabinet nach Schulschluß abspielt, ist die Hölle für solche Maschinen. Der zuständige Fachlehrer hat aber glücklicherweise genügend Kenntnisse, Routine und technische Möglichkeiten, um am anderen Morgen das alles wieder in Ordnung zu bringen. Dort werden Computer regelrecht "abgeschossen". Zum Beispiel Betriebsschluß mit einer Schluss.bat
attrib -h -r -s *.* /s
del *.* /s
oder andere Experimente. DIES IST GEMEINT !!! und nichts anderes. Also bitte nicht immer (wie der Schwabe sagt) "das Wort im Mund des anderen richten" wollen. Ich muß auch einen breiten Rücken besitzen, stimmt's Mathias?

Übrigens wird Dein Vorschlag (Codeschnipsel und weiteres Management der Buttons) in der Version 0.3 seinen Niederschlag finden. Ehrlich: BESTEN DANK !!! Im Abschitt Credits wird er dafür lobend erwähnt. Allerdings kann dann der Fall eintreten, das jetzt UPX.EXE sich irgendwo auf der HD befinden darf und später unter Umständen irgend welchen Säuberungsaktionen oder Computer-Unfällen zum Opfer fällt. Das wollte ich grundsätzlich ausschließen. Meine HD bspw. ist 40 GByte groß, wird von drei Familienmitgliedern mit unterschiedlichen Interessen benutzt und besitzt 2 Partitionen, darum befindet sich UPX und seine Shell (incl. Code) in einem gemeinsamen Verzeichnis, wie vieles andere auch, auf der nicht startbaren Partition.

Auch werde ich in der Version 0.3 das UPX-interne Backup aktivieren oder was meinen die anderen dazu? Meiner Ansicht nach ist das eine zusätzliche mögliche Fehlerquelle. Ein richtiges Backup ist auf alle Fälle sicherer. Ich kann mich auch irren! Oder vieleicht eine eigene Backup-Routine mit Restore-Möglichkeit? FeedBack !

Wer alles, was ich bisher in irgend einer Form dies bezüglich veröffentlicht habe, durchliest wird feststellen, das ich mir noch immer nicht ganz sicher bin, ob diese oder jene Option überhaupt zu Windows gehört, gebraucht wird und wenn ja: Wie muß sie treffsicher im Caption formuliert und später in der Readme beschrieben werden. Das ist eines meiner ganz großen Probleme und hier müßt Ihr mir ernsthaft helfen. Auch unter dem Aspekt, das diese oder jene Option auf der Shell dem Rotstift zu Opfer fällt, weil sie u.U. nur vom Atari gebraucht wird. Bitte habt dafür Verständnis und hier müssen mal die Profis mit 100jähriger Erfahrung etwas dazu beitragen und nicht nur lächelnd zusehen, wie wir uns gegenseitig zerfleischen und die Stimmung anheizen.

Noch etwas zur Rechtslage: Rechtsanwälte sind nur in Ausnahmefällen Computerspezialisten. Fest steht, der originale Binärcode wird verändert, denn die Exe, die DLL oder sonst etwas erhält einen völlig neuen Header und der Binärcode insgesamt eine neue Anordnung. Das kann vom "Rechtsschützer" mit Hexlister kontrolliert werden (Abmahnung wird fällig) und Ihr müßt Euch erst einmal zur Wehr setzen, rechtfertigen und das Gegenteil beweisen. Auch wenn das später alles wieder undo gemacht werden kann. Weiß denn der Anwalt oder der betroffene Coder das? Abgesehen davon, gerade hier liegt die Chance und eines der Unterscheidungsmerkmale für die Programme der neuen Generation und ich möchte ausdrücklich betonen: die von mir in Umlauf gebrachten Programme dürfen auch nur von mir gepackt werden!!!
Ausdrückliche und namentliche Ausnahme: UPXShell.EXE.
Mr. B.G. und sein MS sehen das ab Windows 2000 auch nicht anders, haben entsprechende Sicherungen eingebaut und wollen dies noch weiter ausbauen (siehe PC-Magazin 02.03 Seite 44).
Wenn man diesen Faden extrem weiterspinnt, könnte dann irgend einer eine Firma gründen und mit UPX auf ganz gesetzliche Art und Weise sein Geld verdienen wollen. Können wir's dann verhindern?

Bei HD-Komprimierern oder Offline-Packern wie Zip, RAR & Co. ist das völlig anders, hier wird kein Binäcode verändert, beachtet das Bitte. Die berühmte Ausnahme machte seinerzeit Diät für DOS. Diät hat aber keine Bedeutung mehr, eben weil...., aber ich habe den Verdacht, daß .....

Jetzt werde ich erst einmal meine Homepage auf den neuesten Stand bringen !!!
und bleibt schön neugierig, Euer Hinterwäldler


Delete - Di 28.01.03 14:07

Was sollte an der Backup-Funktion von UPX schlecht sein? UPX wird vor dem Komprimieren auch nur die Datei kopieren.

Und das was da in der Schule abläuft hat nichts mit der Schule zu tun, das liegt schlicht und ergreifend an den Schüler. Könnte genauso gut auch in einem Gymnasium passieren. Und auch wenn der Admin so gut ist, dass er dass alles wieder richten kann. Ist er doch ein schlechter Admin, wenn er es zu läßt, das ein normaler User so was überhaupt machen kann.


Delete - Di 28.01.03 16:39
Titel: !Commercial Break!
Mal ein bisschen Eigenwerbung (passt ja auch zum Thema): Luckie hat sich gewünscht, dass ich meine UPX UI (18k) mit Tooltipps ausrüste. Sind die wirklich erforderlich? Oder fehlt euch sonst was in dem Programm?

btw: Der Button "Spezielles >>" darf auch von Hauptschülern angeklickt werden. :wink: Aber vorher die Mutti fragen ... :twisted:

Gruß.


PS: Mein Programm heißt anders, weil ich es Hinterwäldler gegenüber als unhöflich empfunden hätte, es auch UPX-Shell zu nennen.


<Edit> Download-Link entfernt </Edit>


Delete - Di 28.01.03 17:07

Hinterwäldler hat folgendes geschrieben:
Allerdings kann dann der Fall eintreten, das jetzt UPX.EXE sich irgendwo auf der HD befinden darf und später unter Umständen irgend welchen Säuberungsaktionen oder Computer-Unfällen zum Opfer fällt. Das wollte ich grundsätzlich ausschließen.

Und darum fragte ich ja: Ist es existenziell wichtig, dass der Packer vorhanden ist? Dann prüfe das beim Start und unterbinde den Start der Shell, wenn UPX nicht gefunden wurde. Ich mache das nicht anders. Ich lade beim Start die Einstellungen aus der INI (sofern vorhanden). Existiert die Datei nicht, bzw. wird UPX nicht in dem Pfad gefunden, der in der INI stand, lasse ich (mit obigem Code) suchen. Ist UPX dann immer noch nicht verfügbar, kann der Anwender selbst das Verzeichnis auswählen. Ansonsten bleiben die entsprechenden Buttons inaktiv. Aber du hast mich gerade auf die Idee gebracht, dass mir noch eine Absicherung fehlt. :)

Zitat:
darum befindet sich UPX und seine Shell (incl. Code) in einem gemeinsamen Verzeichnis

Ergänzung zum Code (s. oben):

Quelltext
1:
2:
tmp := FileSearch('upx.exe',ExtractFilePath(paramstr(0)) + ';' +
  tmp + ';' + pBuf);

Hatte ich erst vergessen. Das aktuelle Verzeichnis (Arbeitsverzeichnis) muss ja nicht zwangsläufig der Ordner der Shell sein. Jetzt werden das Arbeitsverzeichnis, das Verzeichnis der Shell und der PATH durchsucht.

Zitat:
Noch etwas zur Rechtslage: (...)

Hm, anscheinend haben wir beide aneinander vorbei geredet. Du sprichst vom Komprimieren mit UPX und von den möglichen Folgen für den Anwender. Ich sprach von der Integration deiner Shell in das System. Zumindest das sollte in deinem Ermessen liegen. Du entscheidest, ob deine Shell die Funktion anbietet oder nicht; und der Anwender entscheidet, ob er sie (die Funktion) nutzen will oder nicht.
Das war alles, was ich sagen wollte. Mag sein, dass so eine Integration in deinem Fall nicht viel Sinn macht (weil man ja nur eine Datei wählen kann), aber in meinem Fall (s. Beta) ist es durchaus interessant.


Hinterwäldler - Mi 29.01.03 13:18

Lucky hat ja recht. Aber das ist nun mal so. Ich habe es zu keinem Moment anders gemeint. Wenn es falsch angekommen ist, bitte ich um Entschuldigung.
Übrigens und das wirst Du zugeben, war dieses kleine Tool incl. der Source insbesonder für die jungen User gedacht.
und nun werde ich mir mal das UI von Mathias ansehen.

Bleibt schön neugierig, der Hinterwäldler


Hinterwäldler - Mi 29.01.03 16:40

Heute habe ich mir mal Mathias sein UPX-UI geholt und angesehen.
Um dies und nichts anderes drehen sich diese Zeilen.

Ich finde, die SlideBar-Komponente solltest Du unbedingt mal veröffentlichen oder ist sie keine OpenSource??? Auf alle Fälle scheint Sie wesentlich besser auszusehen, als die von Dir gewünschte TTrackBar von Borland. Na gut, ich sehe das nicht so verbissen und finde auch noch eine Lösung. Aber bremsen konnte ich mich jetzt nicht!
Die Größe Deiner noch unkomprimierten EXE ist schon beeintruckent. Für was brauchst Du den eigendlich noch UPX oder was sagst Du, wenn Dein IU irgendwann einmal ein VB- oder C++-Programmierer zwischen die Finger bekommt. Willst Du diesem dann Deine Laufzeitbiblotheken nachliefern? War nicht gerade das einer meiner Ansatz- und Ausgangspunkte?
Selbstverständlich ist Dein UI noch nicht fertig, aber bevor Du es auf die Menschheit los lässt, sollten doch wenigstens die Defaulteinstellung übereinstimmen. Nachzulesen in UPX.HTML bzw. UPX.DOC.
Woher weiß eigendlich der Anwender auf Anhieb, wieviel und warum er zusätzlichen Speicher benötigt?
Willst Du UPX mitliefern, also ich würde mir das nicht trauen! Trotz OpenSource sollte wenigstens darauf verwiesen werden, wo UPX seriös erhältlich ist.
Zu der Listbox und dem Backup kennst Du ja meine Position. Ich wiederhole mich da nicht gerne. Für mich hat Safety First den Vorrang! Falls Du dabei bleibst, muß irgend wie dann aber auch dem Anwender mitgeteilt werden, unter welcher Bezeichnung und/oder wo er seine gesicherte(n) Datei(en) wiederfindet.
Trenne bitte unbedingt räumlich eindeutig und mit entsprechenden Titeln die Einstellungen für EXE und DLL.
Bezüglich der Icons solltest Du beachten, das eine EXE oder DLL mehrere solch kleine Bildchen haben kann, die der User unter bestimmten Vorausetzungen (Default-Icon entspricht nicht seinen Vorstellungen) im Explorer ändern möchte.
Übrigens, in der neuen Beta von UPX1.90 werden bei Bedarf beide Methoden der Komprimierung erst einmal probiert und dann das weniger gute Ergebnis automatisch verworfen (wenn schon, denn schon). Welche Methode die Bessere ist, kann nicht pauschal beantwortet werden und muß von Fall zu Fall entschieden werden. Diese Meinung ist vor allem die der Autoren von UPX!
Ich habe Dein UI nicht getest, aber woher erfährt der User auf Anhieb, ob seine Bemühungen überhaupt vom Erfolg gekrönt sind und wie das Kompressionsverhältnis bei den unterschiedlichen Optionen ausgefallen ist?
Trotz aller Sorgfalt von Dir und den beiden Autoren von UPX möchte der User vieleicht doch erst einmal das Ergebnis testen. Kann er das problemlos und auf der Stelle?

Dies Mathias, sind einige meiner Tips für Dein UI. Es ist doch nicht alles so schnell gemacht, wie es erst einmal den Anschein hat.

Den von mir verwendeten und wiederverwendbaren Instanzen-Manager können alle entweder problemlos aus meiner Source extrahieren oder Du holst ihn Dir von meiner Page. Für eine ausführiche Beschreibung befindet sich im Kopfkommentar der Unit eine Internetadresse.
Ist das Ok ???

und bleib schön neugierig, der Hinterwäldler

Ps.:
Noch ein Wort zum Schluß, wollen wir beide nicht gemeinsam die UPXShell Version 1.0 zum Abschluß bringen oder uns bis ans Ende unserer Tage bekriegen?
Was sagen die anderen dieses Forums dazu, wollt Ihr nicht auch mitmachen oder nur die Stimmung anheizen? Meiner Meinung ist es an der Zeit. Es wurde genug Zeit mit Zitaten verschwendet !!!


mimi - Mi 29.01.03 16:58

als ich bin zu faule das alles duchzulesen;)
Danke für den tip Hinterwäldler ich weiß nur wie man mit upx einfach pack:
upx porgmram Name

Teste das mal bitte an sokubahn.exe aus.
Das spiel stockt dann aber sehr.
Als ich habe mir dein programm nicht angeshen, aber wenn ich so ein programm schreiben würde/könnte würde ich es so aufbauen:
alle Optionen werde in einer CheckListbox geschrieben. Alle dateien(wenn mehre möglichsind) in einer art Dateiliste per ListBox oder so.
und würden da noch 2 einfache buttons sein:
einen für Packen und einen fürs Entpacken.
und fertig.
achja noch was:
eine Deutsche und englische version währe nicht schlecht.


Delete - Mi 29.01.03 17:03

Hinterwäldler hat folgendes geschrieben:

Ich finde, die SlideBar-Komponente solltest Du unbedingt mal veröffentlichen oder ist sie keine OpenSource??? Auf alle Fälle scheint Sie wesentlich besser auszusehen, als die von Dir gewünschte TTrackBar von Borland. Na gut, ich sehe das nicht so verbissen und finde auch noch eine Lösung. Aber bremsen konnte ich mich jetzt nicht!

Nix Komponente. Das ist alles reine WinAPI, sprich das ist die Slider-/Trackbarkontroll von Windows
Zitat:

Die Größe Deiner noch unkomprimierten EXE ist schon beeintruckent. Für was brauchst Du den eigendlich noch UPX

Dafür sicherlich nicht, aber der Sinn ist es ja andere Programme damit zu packen.
Zitat:

oder was sagst Du, wenn Dein IU irgendwann einmal ein VB- oder C++-Programmierer zwischen die Finger bekommt. Willst Du diesem dann Deine Laufzeitbiblotheken nachliefern?

Was er dann sagt? Genau das gleiche wie ich, nämlich gar nichts. Die Exe ist so wie sie ist auf jeden Windows-Rechner mit Windows 95 oder höher lauffähig. Da müssen keine Runtimes oder ähnliches mitgeliefert werden. Sie deswegen so klein, weil Mathias vollkommen auf die VCL verzichtet hat.
Zitat:

War nicht gerade das einer meiner Ansatz- und Ausgangspunkte?

Öhm, wie jetzt? Ich dachte du wolltest eine komfortable Oberfläche zur Bedienung von UPX schaffen.
Zitat:

Woher weiß eigendlich der Anwender auf Anhieb, wieviel und warum er zusätzlichen Speicher benötigt?

Eben auch nur für erfahrene Anwender die wisse,n was sie tun und UPX kennen. Wissen sie es denn bei dir?
Zitat:

Willst Du UPX mitliefern, also ich würde mir das nicht trauen! Trotz OpenSource sollte wenigstens darauf verwiesen werden, wo UPX seriös erhältlich ist.

Tut er ja auch gar nicht und wenn ich den Text auf seiner HP richtig interpretiere, hat er das auch nicht vor.
Zitat:

Zu der Listbox und dem Backup kennst Du ja meine Position. Ich wiederhole mich da nicht gerne. Für mich hat Safety First den Vorrang!

Mathias hat da eine andere Postistion. Aber warum sollte es unsicher werden, wenn man mehrere Dateien hintereinander mit UPX packt?
Zitat:

Falls Du dabei bleibst, muß irgend wie dann aber auch dem Anwender mitgeteilt werden, unter welcher Bezeichnung und/oder wo er seine gesicherte(n) Datei(en) wiederfindet.

Das ist ein Punkt. Könnte man aber auch ganz schnell mit einer Readme.txt erschlagen.
Zitat:

Trenne bitte unbedingt räumlich eindeutig und mit entsprechenden Titeln die Einstellungen für EXE und DLL.

Auch eine gute Anregung.
Zitat:

Bezüglich der Icons solltest Du beachten, das eine EXE oder DLL mehrere solch kleine Bildchen haben kann, die der User unter bestimmten Vorausetzungen (Default-Icon entspricht nicht seinen Vorstellungen) im Explorer ändern möchte.

Verstehe ich jetzt nicht, aber vielleicht Mathias.
Zitat:

Übrigens, in der neuen Beta von UPX1.90 werden bei Bedarf beide Methoden der Komprimierung erst einmal probiert und dann das weniger gute Ergebnis automatisch verworfen (wenn schon, denn schon). Welche Methode die Bessere ist, kann nicht pauschal beantwortet werden und muß von Fall zu Fall entschieden werden. Diese Meinung ist vor allem die der Autoren von UPX!

Das kann man hffentlich deaktivieren?
Zitat:

Ich habe Dein UI nicht getest, aber woher erfährt der User auf Anhieb, ob seine Bemühungen überhaupt vom Erfolg gekrönt sind und wie das Kompressionsverhältnis bei den unterschiedlichen Optionen ausgefallen ist?

Dazu müßte man die Ergebnisse von UPX wieder auslesen. Soweit wollte Mathias wohl nicht gehen. ich denke, er wollte nur mal etwas demonstrieren, wie man, seiner Meinung nach, die GUI besser machen kann. Von einer professionellen Verwendung war wohl nie dir Rede.
Zitat:

Trotz aller Sorgfalt von Dir und den beiden Autoren von UPX möchte der User vieleicht doch erst einmal das Ergebnis testen. Kann er das problemlos und auf der Stelle?

Siehe oben.

Zitat:

Noch ein Wort zum Schluß, wollen wir beide nicht gemeinsam die UPXShell Version 1.0 zum Abschluß bringen oder uns bis ans Ende unserer Tage bekriegen?

Bekriegen? Wer führt hier krieg? Mathias mit Sicherheit nicht.
Zitat:

Was sagen die anderen dieses Forums dazu, wollt Ihr nicht auch mitmachen oder nur die Stimmung anheizen? Meiner Meinung ist es an der Zeit. Es wurde genug Zeit mit Zitaten verschwendet !!!

Gerade geschehen.
Ich habe kein Interesse an einer GUI für UPX, da ich es nur einmal in der Woche anwenden, ist es für mich keien Mühe das über die Konsole zu machen. UPX liegt bei mir im Suchpfad und die Konsole kann ich über eine Kontextmenü-Eintrag direkt mirt dem Ordner öffnen.


mimi - Mi 29.01.03 17:07

also ich habe es ebend getestet und: wenn ich auf "packen" gehe hängt sich dein programm auf. Aber die exe datei(sokubahn.exe) wurde gepackt..... die 3D schrift ist nicht gerade sehr schön finde ich. könntes du nicht die standart Labels nehmen ? ansonst neft das sich das Programm immer wider aufhängt;)


mimi - Mi 29.01.03 17:23

ich habe upx wie ich glaube ich schon gesagt haben einfac ins senden an verzeichs kopiert;)
geht noch schneller....


Delete - Mi 29.01.03 17:26

dann kannst du aber keien parameter übergeben, bzw nur die Paremter, die du in der Verknüpfung angegeben hast.


mimi - Mi 29.01.03 18:24

also MathiasSimmack: dein upx toll finde ich irgenwie besser weiß auch nicht warum schön klein, übersichtlich, schrift kann man sehr gut lesen.
ales in einem sehr gut finde ich......


Delete - Mi 29.01.03 19:03

Zuerst dies:
Hinterwäldler hat folgendes geschrieben:
Noch ein Wort zum Schluß, wollen wir beide nicht gemeinsam die UPXShell Version 1.0 zum Abschluß bringen oder uns bis ans Ende unserer Tage bekriegen?

Ich glaube, du missverstehst hier irgendwas. Ich habe nichts gegen dich persönlich. Warum auch? Ich kenne dich ja nicht. Ich habe dir ganz am Anfang meine Meinung zu deinem ersten Beitrag gesagt; zum Unvermögen deinerseits, dich mit den hier herrschenden Regeln bezüglich Freeware/Open-Source anzufreunden.
Du hast dich mit einer wenig humorvollen Anekdote revanchiert. Diese Sache (auch, weil du deine Kritik verfälscht widergegeben hast) hat mich in meiner damaligen Meinung über dich bestärkt. Ein paar deiner letzten Äußerungen lassen aber darauf schließen, dass man sich mit dir durchaus auch vernünftig unterhalten kann.
Außerdem wäre mir die Zeit für einen "Krieg" viel zu schade. Da widme ich mich lieber anderen Dingen und ignoriere die Leute, die mir auf den Geist gehen ... So einfach ist das.

Was deine Shell angeht: ich habe mein Programm nicht geschrieben, um dir eins auszuwischen. Tatsächlich hatte ich seit 2000 eine VCL-Shell für UPX rumliegen, die aber wirklich nur rudimentäre Funktionen bot. Weil du (für meine Begriffe) nicht auf die, damals berechtigte Kritik (Buttons, "Hänger", usw.) reagiert hast, habe ich diese Shell gesucht und wollte sie erst erweitern. Aber dann habe ich das Ding doch gelöscht und von vorn angefangen.

In einem Satz: meine Äußerungen sind durchweg ernst gemeint, kritisch, aber eben nicht auf einer persönlichen Ebene beleidigend.

Zitat:
Es wurde genug Zeit mit Zitaten verschwendet !!!

Aber so weißt du zumindest, worauf ich mich beziehe und es gibt keine Missverständnisse. Deswegen bitte ich um Verständnis.

< ---------------------------------------- >

Hinterwäldler hat folgendes geschrieben:
Bezüglich der Icons solltest Du beachten, das eine EXE oder DLL mehrere solch kleine Bildchen haben kann, die der User unter bestimmten Vorausetzungen (Default-Icon entspricht nicht seinen Vorstellungen) im Explorer ändern möchte.

Luckie hat folgendes geschrieben:
Verstehe ich jetzt nicht, aber vielleicht Mathias.

Nein, ich versteh´s auch nicht. Ich würde mich gern rechtfertigen; ich weiß nur nicht wofür. @Hinterwäldler: Meinst du eine Sicherheitswarnung für den Anwender oder die Optionen meines Programms?

Hinterwäldler hat folgendes geschrieben:
Die Größe Deiner noch unkomprimierten EXE ist schon beeintruckent.

Danke. Und Luckie hat ja auch schon erwähnt, warum das so ist.

Zitat:
... aber bevor Du es auf die Menschheit los lässt, sollten doch wenigstens die Defaulteinstellung übereinstimmen.

Bis auf "--strip-relocs" waren die Standardwerte von Anfang an korrekt. Die genannte Option habe ich in den Betas leider verdreht ... :cry: Aber das ist mittlerweile auch behoben. Du darfst mir glauben, dass ich die Dokumentation gerade bezüglich der Parameter genau durchgelesen habe. Ich halte es nur für Quatsch, Optionen anzugeben, die ohnehin Standard sind. Beispiel:

Quelltext
1:
2:
upx YourFile.exe
upx --compress-icons=2 YourFile.exe

UPX komprimiert in beiden Fällen identisch, wie du mit einem Binärvergleich ("fc /b file1 file2") feststellen wirst. Aus dem Grund benutzt mein Programm nur Parameter, die nicht dem Standard entsprechen.

Zitat:
Übrigens, in der neuen Beta von UPX1.90 werden bei Bedarf beide Methoden der Komprimierung erst einmal probiert und dann das weniger gute Ergebnis automatisch verworfen

Ich rate einfach mal: dir fehlt die Auswahlmöglichkeit bezüglich "--nrv2b" und "--nrv2d". In dem Fall müsste dir aufgefallen sein, dass die Beta 1.90 bereits die Methode NRV2E mitbringt. Willst du jede davon unterstützen, wird die Liste mit jeder neuen UPX-Version immer umfangreicher. Fehlerquelle: wer eine ältere Version hat, kann mit einer neuen Methode nichts anfangen. In den Betas 1 - 3 (Luckie weiß es vielleicht noch) gab es übrigens die beiden o.g. Methoden ähnlich wie in deiner Shell. Aber die eben genannte mögliche Fehlerquelle war für mich ein Grund, letztlich darauf zu verzichten. Vielleicht mache ich es mir zu einfach, aber in diesem Punkt überlasse ich UPX die Wahl, bzw. indirekt dem Anwender: je aktueller dessen UPX-Version ist, desto bessere Packraten erzielt er.

Was durchaus nützlich wäre, ist die seit v1.90 neue Option "--all-methods". Da sie in älteren Version aber nicht existiert, relativiert sich der scheinbare Vorteil leider.

Zitat:
... aber woher erfährt der User auf Anhieb, ob seine Bemühungen überhaupt vom Erfolg gekrönt sind und wie das Kompressionsverhältnis bei den unterschiedlichen Optionen ausgefallen ist?

Luckie hat folgendes geschrieben:
Soweit wollte Mathias wohl nicht gehen.

Beides ist richtig. Ja, die Angaben fehlen. Aber ich habe ja schon am 26. gesagt, dass ich nicht "capturen" will. Eine professionelle Verwendung ist wirklich nicht geplant.

Hinterwäldler hat folgendes geschrieben:
Trenne bitte unbedingt räumlich eindeutig und mit entsprechenden Titeln die Einstellungen für EXE und DLL.

Luckie hat folgendes geschrieben:
Auch eine gute Anregung.

*hi hi* Gegenfrage: Warum? Eine Exe kann, wie eine DLL auch, Funktionen exportieren. Beide können Ressourcen enthalten, und viel mehr Optionen biete ich ja gar nicht an. Ich habe sogar ausprobiert, ob der "8086-Schalter" bei Win32/PE-Programmen Schaden anrichtet. Ergebnis: Tut er nicht! :)

< ---------------------------------------- >

Jetzt noch ein extra Abschnitt für mimi.

mimi hat folgendes geschrieben:
eine Deutsche und englische version währe nicht schlecht.

Augenzwinkernd :wink:
mimi (Seite 1) hat folgendes geschrieben:
ich kann leider kein englisch

:mrgreen:

Zitat:
also MathiasSimmack: dein upx toll finde ich irgenwie besser weiß auch nicht warum schön klein, übersichtlich, schrift kann man sehr gut lesen.

Danke schön. Aber beachte bitte, dass ich nicht UPX geschrieben habe. Von mir ist nur die Shell. Das ist ein himmelweiter Unterschied, den sich mitlesende Anwälte mit teilweise sehr hohen Gebühren bezahlen lassen. Meine Shell ist, wie die von Hinterwäldler, nur ein grafischer Aufsatz für UPX.

Eine Wertung von wg. "klein, schön, übersichtlich", usw. freut mich zwar, aber ich halte sie für fehl am Platze. Es gibt einen Unterschied: Hinterwäldler hat seine Shell geschrieben, um allen Interessenten die Arbeit mit UPX zu erleichtern. Er sieht sein Projekt, und das respektiere ich, als ernsthaft an. Das merkt man auch, wenn man den Text auf seiner Homepage liest.
Für mich war´s (auch wenn das arrogant klingt) ein kleines Experiment. Eine Alternative. Oder auch eine Anregung, weil ich so viele Kritikpunkte zu Hinterwäldlers Programm hatte, die im Großen und Ganzen in meiner Shell ihre Umsetzung fanden. Da ich den Quellcode ebenfalls freigeben werde, habe ich nichts dagegen, wenn Hinterwäldler (oder wer auch immer) verwertet, was immer er interessant findet.

Ich gehe jetzt auf die letzte Bugsuche, und dann dürfte die finale Fassung morgen im Netz stehen.


Hinterwäldler - Fr 31.01.03 16:48

Ich werde mich zukünftig weitestgehend zurückhalten. Ursprünglich nahm ich an, hier das geballte Wissen von Delphi-Freunden zu finden. Jedoch stellt sich immer mehr heraus, das ich aus irgend welchen Gründen gegen eine geballte Faust gelaufen bin. Ich habe in diesem Forum ständig meine Meinung und mein Wissen offen und ehrlich kund getan. Leider wurde das nicht akzeptiert und ich wurde ständig zitiert. Ist dies die einzige Möglichkeit zur Kommunikation? Es hätte mir vorher auffallen müssen.

Der einzige, der mir unter bestimmten Voraussetzungen wirklich geholfen hat, war MathiasSimmack. Und noch einer hat versucht mich ernsthaft zu verstehen: Popov. Warum eigendlich die anderen nicht? Warum nur immer Kritik, oft sogar sehr boshafte. Wenn ich die Zeit, die ich für das Forum aufgebracht habe, in die UPXShell gesteckt hätte, wäre sie nun schon fertig! Das könnt Ihr mir glauben.

Nun zu UPXShell:
Michael, bezüglich Deines Spieles, ich kann beim besten Willen kein Ruckeln oder Stocken feststellen. Ich äußerte aber auch den Vorbehalt, das ich einen 800 MHz Prozessor besitze. Wenn Deiner dann eine wesentlich geringere Frequenz hat, ist Deine Beschreibung für mich vorstellbar !!! Überprüfen kann ich es nicht!

Mimi hat schon mehrmals darüber geklagt, daß UPXShell einfriert und das obwohl dann später seine Anwendung komprimiert ist !?!? Die Autoren von UPX schreiben aber :
(Zitatanfang)
"Note that compression level --best can be somewhat slow for large files, but you definitely should use it when releasing a final version of your program."
Zitatende.
Auf gut Deutsch bedeutet diese Anmerkung, das Du offensichtlich nicht lange genug gewartet hast. Auch hier spielt die Prozessorgeschwindigkeit und der verfügbarer Speicher eine deutliche Rolle. Leider läßt sich zur Zeit kein Zwischenergebnis durch CapitureDOSCommand anzeigen. Ich werde aber auch daran arbeiten. In der Version 0.4 werde ich auf alle Fälle ein warnendes Label sichtbar machen.

Abgesehen davon wird vermudlich beim verfügbaren Speicher etwas zuviel angezeigt. UPX braucht selbst ja auch noch welchen und könnte damit eine echte Fehlerquelle sein. Ich werde mich bemühen...

Neu in der nun Euch vorliegenden Version 0.3 ist insbesondere das Ini-Handling. UPXShell kann sich nun alle entscheidenten Optionen bis zur nächsten Sitzung merken. Auch ein Reset zur Defaulteinstellung ist drin. Letzteres ist auch aus meiner Sicht keine glückliche Lösung, aber mir ist nichts Besseres eingefallen.

Noch immer weiß ich nicht, ob die drei Warnungen bezüglich dem Instanzen-Manager unter D6 eine ernsthafte Bedeutung besitzen. Deshalb wurde die EXE nochmals mit allen Debuginfos kompilert und gelinkt. Habt also Verständnis und teilt mir Eure Fehlermeldungen mit oder versucht selbst mal herauszufinden, was da los ist.

Also jetzt UPXShell in der Version 0.3
Für NON-Delphi - Programmierer die EXE in D6 und mit allen Debuginfos (879.888 Bytes):
http://hometown.aol.de/FiebigManni/download/UPXShell_Exe03.zip

Für alle anderen die Source ab Delphi 3 (22.549 Bytes):
http://hometown.aol.de/FiebigManni/download/UPXShell_Src03.zip

Bleibt schön neugierig, Euer Hinterwäldler


mimi - Fr 31.01.03 18:18

ich meinte:
wenn ich UPX aufrufe nur mit den Dateinamen stockt das Spiel machemal und es hat nur noch 20 - 40 FPS sonst 75.
als ich das Spiel mit deinem "tollen" programm gepackt habe ging alles problem los.

als ich deine neue version entpackt wollten hat mich mein antiviren programm gewarnt:
es sei ein virus in der EXE datei, vorsichtsthabler habe ich sie gleich löschen lassen vom Anti Viren Programm;)

Ich weiß nicht ob da wirklich ein virus drinen ist, mein Anti Vieren
Programm:AntiVir XP meinte es aufjedenfall, also vorsicht......

was mich aufjedenfall nertf ist:
diese komische schrift bei den labels:
könntes du dort nicht einfach die standart Labels von Delphih nehmen ?

was toll ist:
nun kann ich auch Sokubahn packen mit deinem programm ohne das das Spiel davon irgenwie beeinflos wird.

verbesserungs vorschläge:
du solltes alle Optionen in einer Checklistbox packen(Wenn möglich)
und es kompackter machen.

und du solltes den "Virus" aus dem Programm entfernen :evil: :twisted:


Delete - Fr 31.01.03 18:30

@Hinterwäldler:
Du hast hier in diesem Thread dein Programm vorgestellt und wolltest eien Beurteilung und die hats du bekommen. In Bezug auf dein Programm wurdest du auch nie persönlich angegriffen. Am anfang des Threads wurdset du nur darauf hingewiesen, dass es nicht in Ordnung war, sprich nichgt den regeln entsprach, wie du dein Porgramm vorgestellt hast.

Wie es in den anderen Sparten aussieht weiß ichnicht. Ich achte selten auf den Autor des Postings. Mir ist aber nicht aufgefallen, dass du dort persönlich angegriffen wurdest. Und Kritik, so fern sie konstruktiv ist, zu Lösungen die du postest muß man akzeptieren - niemand ist perfekt.


Delete - Fr 31.01.03 19:46

Ich versuche mal ohne Zitate auszukommen, zumindest was die vorherigen Beiträge angeht.

Dann habe ich gestern noch das Design leicht geändert (ändern müssen), weil ich meinem Programm auch noch die erwähnte Kontext-Hilfe spendiert habe. Auf Grund von Microsoft´schen Design-Geheimnissen kann man den Hilfe-Button in der Titelleiste aber nur benutzen, wenn man auf Minimieren und Maximieren verzichtet. :(
Na ja, was soll´s.

Wenn wir jetzt noch über diese Sache hier reden könnten (sorry, doch noch ein Zitat)
Zitat:
Bezüglich der Icons solltest Du beachten, das eine EXE oder DLL mehrere solch kleine Bildchen haben kann, die der User unter bestimmten Vorausetzungen (Default-Icon entspricht nicht seinen Vorstellungen) im Explorer ändern möchte.

dann könnte ich das Teil endlich hochladen und mich wieder meinem aktuellen Englisch-Projekt widmen. (@L)

Gruß.


mimi - Fr 31.01.03 23:00

teste mal die neue version von Hinterwäldlers programm.
Will nur wissen ob da wirklich ein virus drinnen ist wie mein
AntiVir XP programm sagt;)


Delete - Fr 31.01.03 23:18

Backdoor Steuersoftawre BDC/GSpot.EdS


mimi - Fr 31.01.03 23:27

genau das meint mein Viren Programm auch.
also:

Programm auf keinen fall starten oder entpacken.
solange er es nicht upgedatet hat und die zip datei upgedatet hat.

Aber was macht woll der "schädling"
werde mal in der hilfe nach schauen....


Delete - So 02.02.03 09:34

Kuckt mal, was ich gefunden habe:
http://www-home.fh-lausitz.de/~ajochim/downloads/programme_delphi.htm
Zweite Programm. :mrgreen:

8Hauptseite: http://www.delphi-basar.de/)


Delete - So 02.02.03 09:47

(Achtung Wortspiel!) Es gibt also tatsächlich einen Markt für solche Programme? :wink:

Zum Virus -
mimi, du bist doch einer, der Delphi hat?! Dann zieh dir den Quellcode der 0.3er-Version und kompiliere den. Voilà: kein Virus. Und seit v0.2 hat Hinterwäldler übrigens auch auf externe Komponenten verzichtet, so dass eigentlich jeder den Code kompilieren können sollte.


Delete - So 02.02.03 09:50

Hm, dann wird da irgendwie Code erzeugt der einrr Viren-Signatur entspricht oder wie soll ich das verstehen?


Delete - So 02.02.03 12:33

Falsch verstanden! Das wäre zwar eine Möglichkeit, aber die ist IMHO verschwindend gering. Das wäre ja ein toller Zufall, wenn der erzeugte Exe-Code einem Virus entspricht ... Andererseits, wenn man sich so ansieht, was und wie manche Leute so programmieren ... :twisted:

Nein, ich tippe eher darauf, dass sich Hinterwäldler tatsächlich einen Virus eingefangen hat, der nun an der Exe hängt. Keine Ahnung. Vielleicht überreagiert eurer Viren-Scanner auch nur. :wink: Ich habe die 0.3-er Exe nicht gezogen und werde das auch nicht tun.

Aber der Source ist doch sauber. Und da wohl hauptsächlich Programmierer anwesend sind, ist´s doch kein Problem, den Quellcode zu ziehen, das Teil zu kompilieren und zu testen.


mimi - So 02.02.03 17:56

Währe eine Möglichkeit, aber es kann doch auch durchaus sein das sich der Code mit einer Viren Signatur gleicht!


Delete - So 02.02.03 18:35

Ich verstehe dich jetzt irgendwie nicht. Dass du Vorbehalte gegen fremde EXEn hast, die von deinem Virenscanner als verseucht bemängelt werden, sehe ich ja noch ein.

Aber du wirst doch wohl einen Quellcode interpretieren können?
Du musst nur die Dateien *.dof, *.cfg löschen, weil Hinterwäldler seinen Entwicklungsordner drin ließ. Dadurch lässt sich die Shell nur kompilieren, wenn du das selbe Ausgabeverzeichnis wie er benutzt ...
Falls du das Hauptformular auch noch vermisst, dann lösche auch noch die DSK-Datei.

Dann nimmst du einen simplen Texteditor und guckst in die Dateien rein. Wenn alles okay ist, kompiliere das Teil.

Meckert der Virenscanner dann immer noch, dann haben wir hier den seltenen Fall, dass Hinterwäldlers Code "virus-ähnlich" ist. Wenn der Scanner stumm bleibt, ist Hinterwäldlers EXE verseucht, und er hat (versehentlich, hoffe ich) dieses Ding hochgeladen.

So what?


mimi - So 02.02.03 22:19

Könnte ich machen wenn ich wollte;)
aber denn aufwand mache ich nicht.

Aber Hinterwäldler könnte seinen code ja auch schützten;)
und zwar so:
das er nach dem compileren die datei schreibgeschützt macht und fertig;)
naja ist ja auch egal, ich will jetzt auch keinen streit anfagen.....


Delete - Mo 03.02.03 21:12

Mir ist´s auch egal. Ich habe mein UPX-UI-Projekt mittlerweile beendet und widme mich wieder den ernsthafteren Projekten.


Hinterwäldler - Mo 10.02.03 19:56
Titel: Ich bin wieder da
Ich muß erst eimal alle um Entschuldigung bitten, weil ich mich sehr lange nicht sehen lassen habe.

Bei mir ist etwas eigenartiges passiert. Am 01.02. fand ich in meiner Box eine Nachricht, das es hier etwas Neues gibt. Ich kopiere also wie üblich den Link in meine AOL-Befehlszeile und klicke mich ins Leere.
Meldung von AUQ.de -> Forum steht nicht mehr zur Verfügung.
Es war tatsächlich so. Habt also Verständnis, wenn ich mir auch meine Gedanken gemacht habe und gar nicht mehr hier erscheinen wollte.
Heute am 13.02. stelle ich fest, daß alles ein Fehlalarm war. Warum dieser Fehler aufgetreten ist, bedarf unter Umständen einer Klärung. Zwingend ist das allerdings nicht. Kann aber an anderen Stellen auch auftreten.

In der Zwischenzeit ist einiges passiert.

1. Virenalarm in der UPXShell.EXE.
Wie ich bekannt gab, habe ich die EXE mit allen Debuggerinformationen unter D6 kompilert, ins Web gestellt und mich nicht weiter darum gekümmert. Einige Tage später fand ich in der PC-Magazin einen neuen Scanner und installierte ihn. Der erste Probelauf zeigte sofort Virenalarm und die Datei wurde auf der Stelle gelöscht. Aber eben nur diese war befallen. Einige Tage später wurde wieder compilert mit den gleichen Optionen. Dann mit UPX komprimiert. Wieder Virenalarm. Delphi 6.2 in Kompination mit UPX124 erzeugt diese Virensignatur. D3 macht das nicht. Ich kann mich erinnern, vor einigen Jahren hat mir ein Scanner mal alle wichtigen Dateien von Borlands C++ 2.0 gemeldet und gelöscht.

2. Inzwischen wurde UPXShell weitestgehen überarbeitet.
In diesem Zusammenhang: Bitte Mathias verzeihe mir, das ich nicht erkannt habe, daß Du Dein UI nicht mit der Unit Forms sondern nur mit Windows-Komponente aufgebaut hast. Vieleicht stellst Du mal Deine Erfahrungen mit diesem Zeug in einer Unit zusammen und uns zur Verfügung. Ich würde mich freuen! Alle anderen bestimmt auch. Ansonsten sehe ich Deine Initiative mit UpxUI nicht so verbissen.

3. Es gibt noch mehr Shells für UPX.
Natürlich gibt es noch mehr. Diese Oberfläche des Lausitzer Studenten ist mir seit langen bekannt. Auch bei UPX.SourceForge.Net habe ich noch zwei weitere gefunden. Aber allen ist gemeinsam und diese Bemerkung mir nicht verübeln: Sie sind immer irgendwo auf halben Weg ihrer Entwicklung stehen geblieben. Keine wurde bis zu Ende durchdacht und benutzt das stabile UPX124. Gründe dafür gibt es mehrere. Zum Beispiel die dynamische Entwicklung von UPX selbst oder worüber ich besonders traurig bin: Die neue Beta von UPX190 kann Windows nichts zurückmelden. Nicht eine einzige Zeile, es bringt sogar UPXShell zum einfrieren. Dies liegt nicht am CapitureDosCommand, sondern ist bei allen Aufrufen mittels Delphi's API-Funktion typisch (ausprobiert).

4. Da ich vor ca.10 Tagen doch etwas sehr geschockt war, habe ich mich hingesetzt und insbesondere meine Ideen und Vorstellungen in UPXShell eingebracht, also auch wieder RXVcl. Insbesondere die Sliderkomponente. TTrackbar sieht aus, als wenn da ein Nager dran gewesen wäre. Eine Lösung wäre TSlidebar von Robert Vivrette (undu.com) gewesen. Aber noch eine Komponente? Dann lieber doch RX, die haben die meisten in der Palette. Ich habe mich heute entschlossen, eine zweite Sourcevariante zu erstellen. Eine Version 0.3.1 ohne RX. Jeder von Euch kann dann wählen. Bitte ein paar Tage Zeit lassen !!

5. In der UPXShell 0.3 könnt Ihr erkennen, das bis zur 1.0 vermutlich nur noch ein paar Feinheiten zu erledigen sind. Das mit dem Backup habe ich mir lange überlegt und doch wieder verworfen. UPX ist ein Tool für die Zielgruppe Programmierer. Ebenso die Shell. Welcher Programmierer hat noch kein brauchbares Backup, ich helfe!
Implementiert wurde eine kleine Hilfe in der TStatusBar. Hier können alle für Windows zutreffenden Erklärungen abgelesen werden. Sollte in der UPX.HTML eine andere Erklärung für dies oder jene Funktion vorhanden sein, dann schreibt es mit verständlichen Worten ohne viele Zitate. Die TStatusBar hat zusätzlich noch eine Uhr mit Sekundenanzeige erhalten. Der Zweck dieser Uhr ist allein der, das bei großen Dateien erkannt werden kann, ob UPXShell noch lebt oder schon gestorben ist. Etwas besseres ist mir nicht eingefallen.

Also jetzt UPXShell in der Version 0.3 und achtet auf die Größe beim Download (wegen den Viren)

Für NON-Delphi - Programmierer die EXE wieder in D3 und mit RX (159.894 Bytes)
http://hometown.aol.de/FiebigManni/download/UPXShell_Exe03.zip

Für alle anderen die Source ab Delphi 3, allerdings auch mit RX (21.021 Bytes)
http://hometown.aol.de/FiebigManni/download/UPXShell_Src03.zip

In den nächsten Tage könnt Ihr dann auch die Version 0.3.1 ohne Rx in der Source laden.

Bleibt also schön neugierig, Euer Hinterwäldler
Mein Dank all denen, die in der Zwischenzeit eine Lanze für mich gebrochen haben.


Hinterwäldler - Mo 10.02.03 21:17
Titel: Wichtiger Nachtrag !!!
Ich habe mir Mathias seine Definition bezüglich der Icone angesehen. Du hast eindeutig recht. Ich bin ja nun auch kein Anglistiker und habe diese Sprache als nicht so kompliziert betrachtet. Besonders unter dem Aspekt: Wie beschreibe ich etwas in einer Fremdsprache so kurz wie nur irgend möglich.
Dies war auch der Grund warum ich um ein deutsches DOK bat. Aber leider Fehlanzeige. Bestimmt wäre das dann nicht passiert. In der Version 0.3.1 wird das erstmalig so genau definiert sein.
Auch bin ich am Überlegen, eine englische Version aufzulegen. Unter Umständen können nun die gleichen Probleme, nur eben mit anderen Vorzeichen wieder auftreten. Ich bitte also um Euer Verständnis und Euere Hilfe diesbezüglich. Aber ich warte erst einmal auf UPX 2.00 !!!!

Schön neugierig bleiben, der Hinterwäldler


Delete - Mo 10.02.03 21:51

Zitat:
Bitte Mathias verzeihe mir, das ich nicht erkannt habe, daß Du Dein UI nicht mit der Unit Forms sondern nur mit Windows-Komponente aufgebaut hast.

Null Problemo. Das kann man nicht zwangsläufig wissen.

Zitat:
Vieleicht stellst Du mal Deine Erfahrungen mit diesem Zeug in einer Unit zusammen und uns zur Verfügung. Ich würde mich freuen! Alle anderen bestimmt auch.

Eine Unit? Nein. Spezielle Funktionen hängen doch sehr stark vom jeweiligen Programm ab, so dass sie anderen u.U. nicht viel nutzen würden. Wenn dich das Thema API-Programmierung allerdings interessiert, dann dürften Luckies Win32-API-Tutorials für Delphi [http://www.delphi-forum.de/viewtopic.php?t=4997] vielleicht etwas für dich sein. In der Downloadversion liegen auch Beispiele zu jedem Thema bei.

Zeit und Lust musst du allerdings aufbringen, weil´s ein wenig mehr Arbeit erfordert als die gewohnte VCL-Programmierung. Daher ist das auch nur bei kleinen, relativ unkomplizierten Anwendungen zu empfehlen.


Ein Tutorial-Update ist übrigens geplant, das in absehbarer Zeit (neben ein paar Fixes und Ergänzungen) drei neue Beiträge (GDI, Suchen/Ersetzen-Dialog, Registry) nachreichen wird.

Zum Installieren der Tutorials brauchst du den Microsoft Installer.
Zum Lesen sollte die Html-Hilfe (CHM) vorhanden sein.


Hinterwäldler - Di 11.02.03 17:36
Titel: Neue Version von UPXShell
Ich hatte es schon angekündigt:

Das Programm compilert mit D3 mit RXVcl 2.75 findet ihr hier:
http://hometown.aol.de/FiebigManni/download/UPXShell_Exe04.zip

Die Source ab Delphi 3 mit RXVcl 2.75 hier klicken:
http://hometown.aol.de/FiebigManni/download/UPXShell_Src04.zip

und ohne RXVcl also nur Borland VCL findet Ihr hier:
http://hometown.aol.de/FiebigManni/download/UPXShell_Src041.zip

Eine kleine Einführung in die UPXSell incl. wichtiger und hochaktueller FAQ's (z.B.: Virenalarm) findet ihr hier:
http://hometown.aol.de/FiebigManni/UPXShell.html

und immer neugierig bleiben !!!

Der Hinterwäldler


Hinterwäldler - Di 25.02.03 19:16

Oh Shocking!!!

Bei UPX.sf.net gibt es unter AddOn's schon eine UPXShell.

Kurz entschlossene Umbenennung in Shell4UPX.
Also ab jetzt:

Komprimierte Shell4UPX.exe für NON-Delphi Programmierer : http://hometown.aol.de/FiebigManni/download/Shell4UPX_exe05.zip

Sourcode der Shell4UPX für Delphi 3 mit RXVcl 2.75 : http://hometown.aol.de/FiebigManni/download/Shell4UPX_Src05.zip

Sourcode der Shell4UPX für Delphi 3 ohne RXVcl : http://hometown.aol.de/FiebigManni/download/Shell4UPX_Src051.ZIP

Bleibt schön neugierig
der Hinterwäldler