Innovation : generer un autoextractible en vbscript, avec plein d'options !!!

Description

Intro :
Je dis "innovation" car je ne crois pas qu'une telle chose ai déjà été créée. Pour affirmer cela, j'imagine que les virus les plus puissants en scripts auraient déjà utilisé la méthode, plutot que d'aller telecharger leur executables pour s'infiltrer par la suite... Si ça existe, et bien en voilà un...

Le truc :
ce programme vb va vous permettre de générer un fichier VBS, vbscript donc pour les connaisseurs, qui va renfermer un fichier, binaire celui, contenant donc n'importe quoi.
Lorsque le vbs est éxécuté, il va extraire le fichier qu'il contient.

JE N'AI PAS CREE TOUT CECI POUR EN FAIRE DES VIRUS. MERCI AUX LAMERS DE S'ABSTENIR...

D'ailleurs, pour prouver ma bonne foi, comme quoi j'ai bien fait ceci pour créer des autoextractibles tout ce qu'il y a de plus légal, il suffit de voir les options que j'ai implémenté. On peut ajouter au VBS (définissables depuis l'appli) :
- une invite msgbox d'accueil avant l'extraction
- une de fin d'extraction
- choisir un mode d'extraction, c'est à dire si l'utilisateur final choisit le dossier d'extraction ET le nom du fichier extrait, ou seulement le dossier, ou rien du tout, ou si le VBS cherche le dossier lui-même d'après un nom de fichier ou d'après une valeur dans la base de registre (par exemple pour une MAJ chez un client d'un prog déjà installé)
- on peut également choisir d'un fichier a lancé après l'extraction, voir même le fichier extrait.

Evidemment, tout ca vous le verrez, est facultatif, ainsi quelqu'un de mal intentionné peut omettre les msgbox d'invites, imposé un chemin complet d'extraction, de manière transparente donc à l'utilisateur puisqu'il ne choisira rien, et exécuté le fichier extrait à son insu donc... MAIS CA, C'EST PAS BIEN DU TOUT ET JE VOUS CONSEILLE VIVEMENT D'UTILISER LES OPTIONS QUI SONT A VOTRE DISPOSITION POUR PERMETTRE A L'UTILISATEUR FINAL DE VOIR QUE VOTRE FICHIER EST UN AUTOEXTRACTIBLE !

Comment ça marche ?
en effet, un VBS est un fichier texte, donc par nature on ne peut pas lui adjoindre du binaire. Pour passer outre, le programme VB ci présent va générer un fichier VBscript contenant les options que vous aurez choisit, et va convertir chaque octets du fichier à joindre en héxadécimal, par exemple le caractère "A" sera "41", c'est idiot mais ça permet au caractère retour chariot par exemple parmi tant d'autre, qui est IRREPRESENTABLE en texte, de devenir "0D0A", qui devient donc interpretable par un script.
Une fois convertit, le fichier est ajouté à la fin du script autoextractible en COMMENTAIRES, pour ne pas être interpreté comme du code et ne pas planté le script.

Source / Exemple :


'*********************************
'FAIRE UN EXEMPLE CONCRET ET RAPIDE :
'
'1) Lancer l'éxécutable, ou l'appli depuis sa source après avoir décompressé
'le zip source

'2) Faites "suivant"

'3) Choisissez "Dossier et nom de fichier imposé" et tapez en dessous :
'test.zip

'4) Faites "suivant" puis encore "suivant" pour passer les invites

'5) Cliquez sur choix du fichier à extraire et choisissez le ZIP que vous avez téléchargé (le zip de la source)

'6) En dessous mettez "test"

'7) Puis dans la liste choisissez "//fichier extrait//"

'8) Cliquez sur "générer"

'Vous venez de créer le fichier "test.vbs" dans le dossier de l'appli.
'Pour mieux vous convaincre de son fonctionnement, effacez maintenant le
'zip source d'origine, puis éxécutez le test.VBS.
'Si vous avez un antivirus, il y a des chances qu'il s'affole : C'EST NORMAL !
'Expliquez lui que c'est un script AMI.
'Apres l'éxécution, vous verrez que le zip source va s'ouvrir sous vos yeux :
'en effet le script l'a récrit puis l'a éxécuté...
'
'Convaincu ?

'*********************************

Conclusion :


Toutefois vous l'aurez compris, outre une application bien honnete, ce truc peut faire des ravages...
Heureusement il y a une limitation au procédé, c'est que puisqu'il est convertit en héxa, le fichier joint voit sa taille doublée, donc on ne peut pas joindre des trucs ENORMES, par contre un 1.5 méga ça ne prend que quelques secondes à s'extraire donc c'est quand meme pas si limité.

A noter : la version présenté ici ne comprends pas l'extraction par recherche de dossier ni par valeur prise dans la base de registre.

Elle peut en revanche etre amélioré par un technique sommaire de compression et pourrait gérer plus d'un fichier joint.

JE NE SUIS PAS RESPONSABLE DE L'UTILISATION QU'IL POURRAIT ETRE FAITE DE CETTE TECHNIQUE, BIEN QUE J'AVOUE VOLONTIER QUE JE L'AI ENTIEREMENT IMAGINEE ET CREEE. (dsl si ca existe deja...)

Codes Sources

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.