OVH Cloud OVH Cloud

Utilitaire gratuit : FichierDansExe

5 réponses
Avatar
michel
Bonjour,

Cet utlitaire va générer une fonction qui vous permettra d'intégrer un
fichier quelconque à l'intérieur d'un exécutable Windev 7.x ou 8.x, et
de l'extraire lors de l'exécution.

Intégrer un fichier dans du code pour l'extraire à l'exécution peut
être utile pour des raisons de sécurité (pour s'assurer par exemple
qu'une DLL n'a pas été modifée pour influencer l'exécution), pour
assurer l'intégrité d'un fichier de données important, .... Je m'en
sers personellement pour extraire temporairement un exécutable
secondaire (intégré dans l'exe principal), et qui est ensuite détruit
après utilisation.

Pour intégrer la fonction générée, copiez/collez-la dans une fonction
Windev. Il suffit ensuite de l'appeler pour que le fichier intégré
dans le code soit extrait et disponible lors de l'exécution. Si vous
souhaitez changer le nom et le chemin du fichier extrait, il suffit de
les passer en paramètre à la fonction générée.

Téléchargement :
http://www.hexo7.net/windev/FichierDansExe.zip

Michel Fages

5 réponses

Avatar
Romain PETIT
a exprimé avec précision :
Bonjour,



Bonjour,

Cet utlitaire va générer une fonction qui vous permettra d'intégrer un
fichier quelconque à l'intérieur d'un exécutable Windev 7.x ou 8.x, et
de l'extraire lors de l'exécution.


[...]
Téléchargement :
http://www.hexo7.net/windev/FichierDansExe.zip




Génial !
On en a rêvé, Michel l'a fait !
C'est d'autant plus utile qu'en WD7.5, l'intégration de fichiers lors
de la création de l'EXE ne marche qu'avec les DLL (je viens encore à
l'instant d'essayer d'intégrer un .wdd HF55 dans l'EXE 7.5 lors de la
création de l'EXE, sans succès)

Encore bravo, à la fois pour l'idée et pour la réalisation.

A+

--
Romain PETIT
http://cerbermail.com/?IJmancZl88
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
JVMD
Super, principe hyper simple.

Pas besoin d'y retoucher à chaque compil, extra.

par contre petite question, quel est la taille maxi à votre avis de
l'objet inséré ?

JL


----------------------------------------------
Enlever AntiSpam à mon adresse pour m'écrire.
----------------------------------------------
Avatar
michel
JVMD wrote in message news:...
Super, principe hyper simple.

Pas besoin d'y retoucher à chaque compil, extra.

par contre petite question, quel est la taille maxi à votre avis de
l'objet inséré ?

JL


----------------------------------------------
Enlever AntiSpam à mon adresse pour m'écrire.
----------------------------------------------



Bonjour,

La limitation vient de l'éditeur Windev, et non du principe
d'intégration du fichier. J'ai constaté qu'au dessus de 3Mo environ,
Windev plante lors de l'enregistrement de la fonction générée (on ne
peut pas en vouloir à Pcsoft de ne pas supporter des fonctions
"mammouth" comme celles-ci). L'encodage utilisé est du base64, qui
augmente la taille des données de 33% (on encode 3 octets originaux
dans 4 de destination en utilisant seulement 64 bits significatifs).

Si vous avez besoin d'intégrer un gros fichier, il est possible de
découper la fonction en plus petites sections, en modifiant légèrement
le code pour qu'il fasse de la concaténation. Ainsi la taille maximale
du fichier devient quasiment illimitée.

Une autre piste serait de placer le code dans un fichier externe, et
d'essayer de l'inclure dans le code avec l'instruction "externe" (je
n'ai pas essayé).

Pour ceux que cela intéresse, je peux envoyer le code de l'utilitaire
qui génère la fonction (mais il n'y a pas de quoi fouetter un
chat....)

Michel Fages
Avatar
JVMD
Le 20 Sep 2004 21:13:52 -0700, écris :


Pour ceux que cela intéresse, je peux envoyer le code de l'utilitaire
qui génère la fonction (mais il n'y a pas de quoi fouetter un
chat....)




Ca m'interesse, je me doute pour le code vu ce qu'il crache, mais je
vais creuser cette idée d'Externe et si ça marche, je le modifierais
en conséquence (en plus j'ai pas trop le temps en ce moment de
redévelopper quelque chose qui marche déjà, et bien en plus :-)).

JL


----------------------------------------------
Enlever AntiSpam à mon adresse pour m'écrire.
----------------------------------------------
Avatar
JVMD
Le 20 Sep 2004 21:13:52 -0700, écris :


Une autre piste serait de placer le code dans un fichier externe, et
d'essayer de l'inclure dans le code avec l'instruction "externe" (je
n'ai pas essayé).



Je viens de tester et avec un fichier qui fontionnait avec la
technique d'origine, windev plante direct avec l'utilisation de la
fonction EXTERNE.

Donc je pense que finalement seul le découpage en plusieurs fonctions
sera possible.

JL


----------------------------------------------
Enlever AntiSpam à mon adresse pour m'écrire.
----------------------------------------------