begin process at 2008 07 06 18:53:31
1 205 717 membres
280 nouveaux aujourd'hui
14 119 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

MUPX - UPX EN RÉCURSIF


Information sur la source

Catégorie :Fichier / Disque Classé sous : récursif, récursivité, upx, packer Niveau : Débutant Date de création : 20/07/2007 Date de mise à jour : 21/07/2007 11:58:16 Vu / téléchargé: 3 092 / 152

Note :
Aucune note

Commentaire sur cette source (4)
Ajouter un commentaire et/ou une note

Description

Ce petit programme utilise UPX (http://upx.sourceforge.net/).
Il recherche récursivement (ou pas) les exécutables dans le répertoire passé en paramètres.

Source

  • 'Mettre "Microsoft Scripting Runtime" dans les références
  • Public Sub StartUPX(Directory As String, rec As Boolean, keep As Boolean)
  • If Right(Directory, 1) = "\" Or Right(Directory, 1) = "/" Then Directory = Left(Directory, Len(Directory) - 1)
  • Dim FSO As New Scripting.FileSystemObject
  • If FSO.FolderExists(Directory) Then
  • UPX Directory, rec, keep
  • Else
  • Console.WriteInfo 20, "Error : Directory doesn't exists !", True
  • End If
  • Set FSO = Nothing
  • End Sub
  • Public Sub UPX(Directory As String, rec As Boolean, keep As Boolean)
  • Dim FSO As New Scripting.FileSystemObject
  • Dim Folder As Scripting.Folder
  • Dim SubFolder As Scripting.Folder
  • Dim File As Scripting.File
  • Dim Tmp As String
  • Set Folder = FSO.GetFolder(Directory)
  • If rec Then
  • For Each SubFolder In Folder.SubFolders
  • UPX SubFolder.Path, True, keep
  • Next SubFolder
  • End If
  • For Each File In Folder.Files
  • If Right(File.Path, 3) = "exe" Or Right(File.Path, 3) = "dll" Then
  • Console.WriteLine File.Path
  • Tmp = "-9 " & File.Name
  • If keep Then Tmp = "-k " & Tmp
  • ShellExecute 0, "open", "upx.exe", Tmp, Folder.Path, 1
  • End If
  • Next File
  • Set File = Nothing: Set Folder = Nothing: Set SubFolder = Nothing: Set FSO = Nothing
  • End Sub
'Mettre "Microsoft Scripting Runtime" dans les références

Public Sub StartUPX(Directory As String, rec As Boolean, keep As Boolean)
 If Right(Directory, 1) = "\" Or Right(Directory, 1) = "/" Then Directory = Left(Directory, Len(Directory) - 1)
 Dim FSO As New Scripting.FileSystemObject
 If FSO.FolderExists(Directory) Then
  UPX Directory, rec, keep
  Else
   Console.WriteInfo 20, "Error : Directory doesn't exists !", True
 End If
 Set FSO = Nothing
End Sub

Public Sub UPX(Directory As String, rec As Boolean, keep As Boolean)
 Dim FSO As New Scripting.FileSystemObject
 Dim Folder As Scripting.Folder
 Dim SubFolder As Scripting.Folder
 Dim File As Scripting.File
 Dim Tmp As String
 Set Folder = FSO.GetFolder(Directory)
 If rec Then
  For Each SubFolder In Folder.SubFolders
   UPX SubFolder.Path, True, keep
  Next SubFolder
 End If
 For Each File In Folder.Files
  If Right(File.Path, 3) = "exe" Or Right(File.Path, 3) = "dll" Then
   Console.WriteLine File.Path
   Tmp = "-9 " & File.Name
   If keep Then Tmp = "-k " & Tmp
   ShellExecute 0, "open", "upx.exe", Tmp, Folder.Path, 1
  End If
 Next File
 Set File = Nothing: Set Folder = Nothing: Set SubFolder = Nothing: Set FSO = Nothing
End Sub

Conclusion

MUpx est fait ENTIÈREMENT en anglais : ca va plus vite pour écrire les messages ... Je ferais peut-être une traduction.
UPX.EXE doit être placé dans le répertoire Windows / WINNT du disque système (normal!)
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

20 juillet 2007 22:29:33 :
Ajout de l'ex& pour ne pas devoir le compiler
21 juillet 2007 11:58:16 :
J'ai suivi le com. de PB07. Les args. ont totalement changé : /!\
  • signaler à un administrateur
    Commentaire de jack le 21/07/2007 01:08:03 administrateur CS

    Salut
    Mettre en français les messages ... tu n'en auras pas pour longtemps ! (1 message et 1 commentaire), lol
    Pour ceux qui se demandent ce que peut-être UPX :
    UPX est un outil de compression de la plupart des fichiers executables (dos, windows ...) proposé pour reduire la taille des distributions de vos applications.

    Pourquoi ne pas avoir détaillé l'environnement pour lequel tu as conçu ce script ?
    Si tu veux interesser les membres, faut donner des explications, boudiou !

  • signaler à un administrateur
    Commentaire de MadM@tt le 21/07/2007 02:10:47

    Merci pour les infos Jack, en effet ça manquait un peu ^^, on comprend mieux maintenant. Et ça peut etre interessant pour les projets un peu lourds

  • signaler à un administrateur
    Commentaire de pb07 le 21/07/2007 07:33:02

    Bonjour

    On peut ajouter l'option :
      -9 pour une meilleure compression
      -k pour garder une trace de l'ancien exe

    ShellExecute 0, "open", "upx.exe -9 -k ", File.Name, Folder.Path, 1

    On peut appliquer aussi sur les DLL
      If Right(File.Path, 3) = "exe" or Right(File.Path, 3) = "dll" Then

  • signaler à un administrateur
    Commentaire de ghuysmans99 le 21/07/2007 11:55:04

    pb07 merci de me l'avoir dit !!
    c'est corrigé ...

Ajouter un commentaire

Discussions en rapport avec ce code source

Pub



Appels d'offres

WEB DESIGN
Budget : 1 000€
Plugin Dialer outlook
Budget : 2 000€
Travail graphique- ill...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS