|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
![]() ![]() Responsable de projet fonctionnel Inscription : mars 2002 Messages : 632 ![]() |
le compilateur de Borland C++ Builder n'efface pas dans
les fichiers compilés de type .exe ou .ocx les fonctions exportés ce qui a pour effet d'alourdir la taille de l'exe de plus il genère également une table de relocation ,inutile dans le cas de fichiers de type .exe ou .ocx ces deux tables augmente la taille de votre exécutable d'environ 17% j'ai creé un outil permettant a l'aide de UPX de réduire la taille finale de l'exécutable de plus de 65 % cet outil s'appelle BCBStriper BCBStriper peut s'installer dans le menu contextuel de l'explorateur pour les extensions de fichier de type .exe et .ocx vous pouvez également l'installer dans la boîte à outils de C++Builder option de commande
en cas d'intérêt manifeste pour la structure interne des fichiers Exécutables (PE) je rédigerais un tutorial a cet effet vous pouvez le télécharger ici http://djmsoftware.developpez.com/Bc...StriperExe.zip
__________________
A lire : Les règles du forum |
|
|
00
|
|
|
#2 |
|
Membre confirmé
![]() Inscription : juillet 2002 Messages : 440 ![]() |
Bonsoir,
Une petite question : C'est juste un frontend lancer upx? Ou il fait d'autres actions? C'est à dire est-ce que c'est ton programme qui enlève ce qui sert à rien ou upx? Sinon, j'ai aussi fait il y a quelques temps une application pour lancer upx sans ligne de commande : http://gandf.chez.tiscali.fr/dev.htm dans la partie pour upx. |
|
|
00
|
|
|
#3 |
![]() ![]() Responsable de projet fonctionnel Inscription : mars 2002 Messages : 632 ![]() |
Bonjour,
cette application n'est pas un simple front-end pour Upx elle supprime également 2 table inutiles des fichiers executables
on peut égalememt ensuite séléctionner l'option Upx qui permet d'obtenir des gains en taille de 65% et plus j'ai même otenu des facteurs impressionants de 73% avec des applications WxWidgets cordialement
__________________
A lire : Les règles du forum |
|
|
00
|
|
|
#4 |
|
Membre confirmé
![]() |
salut moi j'ai essyé ton prog et magnifique de 8,1Mo, je suis passé a 1,7Mo
Mais le truc c'est que je comprend pas comment il peut le réduire d'autant, que fait exactement la fonction upx j'ai bien compris ce que tu avais rajouté, mais upx ne fait qu'une compression ou auter chose. une fois effectué mon programme fonctionne t'il exactement comme avant, ou faut-il ajouter des composants quand on l'export sur une autre machine ou il n'y a pas builder? Désolé si mais question sont bete mais j'aimeraie comprendre un peu mieux comment ça fonctionne
__________________
Boubou from The SpAcE GaLaXy.... AhAhAhAhAh
|
|
|
00
|
|
|
#5 |
![]() ![]() Responsable de projet fonctionnel Inscription : mars 2002 Messages : 632 ![]() |
bonjour,
Upx est une compresseur de fichier executables comme l'est par exemple Winzip la différence est que un programme compressé avec UPX se décompresse automatiquement en mémoire lors de son chargement par l'OS dans ton cas le taux de compression est phénoménal ~79 % ce qui signifie probablement que tu a beaucoup de Fiches(Form) ton programme fonctione tout a fait comme avant UPX rajoute dans une partie du fichier exe le code pour décompresser le fichier en mémoire cordialement
__________________
A lire : Les règles du forum |
|
|
00
|
|
|
#6 |
|
Invité régulier
![]() |
Bonjour,
Je développe des applications de calculs avec interfaces et en effet j'ai essayé bcbstriper et upx. Cela marche très bien sauf pour certains exe où au démarrage j'ai une erreur d'adressage qui plante l'appli, ce qui n'est pas le cas sans compression. A quoi cela peut-il être dû ? Merci. |
|
|
00
|
|
|
#7 |
|
Membre à l'essai
![]() Inscription : juillet 2004 Messages : 38 ![]() |
Merci !!! Allé luya (je sais pas comment on écrit) lol pour ton SUPER PROG !
PS : UPX rend le code asm plus difficile à lire non en plus ? (cool contres crackers débutants) non ? |
|
|
00
|
|
|
#8 |
|
Inactif
![]() Inscription : septembre 2004 Messages : 11 706 ![]() |
Merci beaucoup!!!elle est génial ton appli!!!
|
|
|
00
|
|
|
#9 |
|
Membre régulier
![]() Inscription : septembre 2004 Messages : 159 ![]() |
Merci bien pour ton application !
ça marche très bien ! Bravo |
|
|
00
|
|
|
#10 |
|
Membre habitué
![]() Inscription : mai 2002 Messages : 317 ![]() |
Je n'ai rien compris dans les textes de licence ...
On peut les utiliser gratuitement pour distribuer des logiciel dans le commerce ? Le texte de licence d'UPX spécifie "WITHOUT ANY WARRANTY", genre si l'exe du logiciel vendu ne fonctionne plus à cause d'upx, il nous reste les yeux pour pleurer, quoi. C'est un accessoire pour les amateurs de risque ou bien ? |
|
|
00
|
|
|
#11 | |
|
Membre éclairé
![]() |
Citation:
Si tu veux prévenir tout problème fait une copie de ton executable et comme ça tu pourras toujours revenir en arrière.
__________________
Modérateur Taverne et C++Builder Règles du Club - Règles de la Taverne FAQ BCB - sources Et je mords |
|
|
|
00
|
|
|
#12 |
|
Membre Expert
![]() ![]() Vincent OPNI Inscription : décembre 2004 Messages : 1 750 ![]() |
Bonsoir,
J'ai pas pu m'empecher d'essayer... Comme pour BOUBOU81 dans son message du 28 juill 04, j'ai obtenu un taux de compression vertigineux (80 %) et un exe qui fonctionne toujours aussi bien. |
|
|
00
|
|
|
#13 |
|
Membre à l'essai
![]() Inscription : mars 2004 Messages : 29 ![]() |
Bonjour,
bien que je n'utilise pas BC++ je connais bien Delphi et la taille des exécutables y est du meme volume. Je voudrais juste signaler deux ou trois points importants. Il semble que la compression faite par UPX empeche windows de gérer le swap correctement. J'ai fait des tests sur un exe compressé et sa consommation mémoire augmente de manière sensible par rapport a la version non compressé. Voila, juste pour dire que je pense que le systeme est valable pour réduire un petit exe qui a vocation a etre distribué ou exécuté a travers un réseau lacal, mais que cela doit etre réservé a de petite applications. Pour un exécutable de plusieurs MO je ne suis pas sur que réduire la taille de l'exe soit judicieux par rapport a garder une gestion mémoire correcte. |
|
|
00
|
|
|
#14 |
![]() ![]() Responsable de projet fonctionnel Inscription : mars 2002 Messages : 632 ![]() |
bonsoir,
pourrrais tu m'expliquer la méthode que tu a utilisée pour comparer la consommation mémoire de 2 executable, l'un compacté et l'autre non il est évident que lors du chargement de l'exécutable compressé la consomation mémoire soit plus grande que celle du même exeécutable compressé mais dés cette phase passée la consommation mémoire est identique la gestion mémore sous Win32 est faite de telle manière que lors du chargement du programme l'OS donne au programme un espace de travail plus grand que nécessaire au fonctionnement du programme ensuite de manière dymanique en fonction de la consommation générale de mémoire l'OS va réduire la mémoire utilisée par les différents process raison pour laquelle je ne suis pas d'accord avec ton analyse j'ai développé et utilisé des executables de gestion de base de donnée d'une taille de plus de 3 Mega que j'ai ensuite compressé avec BCBstriper sans aucun problème de stabilité de l'application et des PC sur lequel l'application était executée un avantage significatif de la compression d'éxécutable est la vitesse de chargement le temps de décompression en mémoire est négligable par rapport à la différence lors du chargement du même exécutable non compressé sur un support disque ou réseau cordialement
__________________
A lire : Les règles du forum |
|
|
00
|
|
|
#15 |
![]() ![]() Inscription : août 2002 Messages : 173 ![]() |
Bonjour,
Allez faire un tour sur cette page http://www.jrsoftware.org/striprlc.php En bas de la page Why not use an EXE compressor? Alain |
|
|
00
|
|
|
#16 |
|
Membre confirmé
![]() Inscription : juillet 2002 Messages : 440 ![]() |
En fait, votre site indique juste que l'on consomme plus de mémoire si l'exécutable est lancé plusieurs fois et que sur les système avec peu de mémoire, c'est plus lent.
Alors, pour les petits programmes, cela ne pose pas de problème au vu de la quantité de mémoire dont l'on dispose aujourd'hui. Pour les programme beaucoup plus gourmand et plus gros (imaginons que l'on face un logiciel comme 3DSmax), le projet consomme énormément mais le poid de l'exécutable n'est pas important. On ne le compresse donc pas. J'ai fait un test pour voir si cela était vrai. En lançant 2 fois mon exécutable compressé, obtient dans le taskmanager de windows 2 process consommant autant de ressource l'un que l'autre. Je les ferme et lance 2 fois l'exécutable non compressé. Résultat parfaitement identique. Soit, je me trompe et l'on ne peut pas se fier à cette méthode avec le taskmanager, soit le gars a émis des hypothèses sans même vérifier. Tout ce qui est écris sur internet n'est pas toujours vrai et je pense que cette personne n'a pas vérifié son information. |
|
|
00
|
|
|
#17 | |
![]() ![]() Inscription : août 2002 Messages : 173 ![]() |
Bonjour,
Citation:
Toujours est il que chacun est libre d’utiliser ou pas un compresseur d’exécutable. Il existe des pour et des contres, c’est a chacun de voir et faire en fonction de ce qui lui convient le mieux, nous ne somme là que pour échanger librement des idées. ALain |
|
|
|
00
|
|
|
#18 |
![]() ![]() Responsable de projet fonctionnel Inscription : mars 2002 Messages : 632 ![]() |
Bonsoir,
la gestion mémoire sous Win32 a toujours été un sujet diviseur je suis en partie d'accord avec l'avis de Jordan Russel mais avec les PC équipé en standard de plus de 128 Mega sous XP ou 2000 le fait d'utiliser un programme compressé avec UPX en momo ou multi instance n'affecte d'aucune manière la stabilité du programme compressé et ou de l'OS cordialement
__________________
A lire : Les règles du forum |
|
|
00
|
|
|
#19 | |
|
Membre confirmé
![]() Inscription : juillet 2002 Messages : 440 ![]() |
Citation:
Je ne connais pas cette personne et c'est justement pour cela que je demandait si l'on pouvait vérifier avec le taskmanager ce problème. Ayant fait le test ci dessus, je ne trouve pas de différence comme indiqué sur son site. |
|
|
|
00
|
|
|
#20 |
|
Nouveau Membre du Club
![]() Inscription : mai 2005 Messages : 40 ![]() |
Mon exe est passé de 2914ko à 610ko soit -79%.
Génial |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com