Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- " _______________________________________________________________________
- | Création : 31 Mars 2015 |
- | |
- | Fait par : Étienne Gladu |
- | |
- | But : Trouve les fichiers DLL dans un dossier et ses sous-dossier |
- | Ensuite decompile les DLL trouvés si l'utilisateur le désir |
- | |
- | Prérequis: Telerik JustDecompile |
- |________________________________________________________________________|
- "
- #-----------DÉCLARATION DES VARIABLES----------------------------------------------------------------|-----------COMMENTAIRES--------------------------------|
- $telerik = 'C:\Program Files (x86)\Telerik\JustDecompile\Libraries\JustDecompile.exe' #Où se trouve JustDecompile
- $target = "/target " #Source du DLL
- $out = " /out " #Destination DLL
- $Commande = @() #Conteneur de commandes
- #-----------FONCTION---------------------------------------------------------------------------------|
- Function script #Fonction principal
- {
- $dossier = (Read-Host –Prompt "Entrez le chemin complet où vous voulez trouver les fichiers .DLL") #Demande le chemin pour trouver les DLL
- $existence = (Test-Path $dossier) #S'assure que le chemin existe
- if ($existence -eq $true) #Si le chemin existe
- {
- $NbDll = (get-childitem $dossier -filter "*.dll" -recurse).Count #Compte le nombre de .dll dans le dossier spécifié et ses sous-dossiers
- write-host "Fichiers .DLL trouvés :" $NbDll -foregroundcolor green #Affiche le résultat
- $decompile = read-Host "Voulez-vous décompiler tout les fichiers .DLL trouvés ? O | N" #Demande si l'utilisateur veut décompiler les .DLL
- if($decompile -eq "o") #S'il répond "o"
- {
- decompilation #Decompile
- fermeture #Ferme
- }
- elseif($decompile -eq "n") #S'il répond "n"
- {
- Write-Host "Bonne journée!" #Affiche un message
- fermeture #Ferme
- }
- else #Si autre que "o" ou "n" est entré
- {
- write-host "Réponse non considérée" -foregroundcolor red #Avertissement
- fermeture #Ferme
- }
- }
- else #Si le chemin n'existe pas
- {
- write-host "Le dossier spécifié n'existe pas ou est introuvable" -foregroundcolor red #Affiche un message si le chemin n'existe pas
- script #Retour au début
- }
- }
- #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
- Function decompilation #Fonction pour Décompiler
- {
- $destination = read-host "Où voulez-vous placer les .DLL décompilé ?" #Demande où placer les DLL décompilé
- $confirmation = (Test-Path $destination) #S'assure que la destination existe
- $reg = [regex]"\/out .*"
- if ($confirmation -eq $true) #Si le chemin existe
- {
- get-childitem $dossier -filter "*.dll" -recurse | #Fouille dans les dossier et trouve les .dll
- foreach-object{invoke-expression "mkdir $destination\$_"} #Créé le dossier de destination
- get-childitem $dossier -filter "*.dll" -recurse | #Fouille dans les dossier et trouve les .dll
- foreach-object{$Commande += $target + $_.fullname + $out + $destination + $_}
- foreach($cmd in $commande){
- $test = start-process JustDecompile.exe -WorkingDirectory "C:\Program Files (x86)\Telerik\JustDecompile\Libraries\" -ArgumentList $cmd -wait -WindowStyle Hidden
- $folder = $cmd -match ".* /out (?<content>.*)"
- $project = $Matches['content']
- Get-ChildItem $project | where {$_.Attributes -eq 'Directory'}|
- foreach-object{if($_.fullname -match "References"){Remove-Item -Path $_.fullname -Recurse}}
- } #Exécute la commande pour chaque .dll trouvé
- }
- else #Si le chemin n'existe pas
- {
- write-host "Le dossier spécifié n'existe pas ou est introuvable" -foregroundcolor red #Affiche un message si le chemin n'existe pas
- decompilation #Retourne au début de la décompilation
- }
- }
- #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
- Function fermeture #Fonction pour fermer tout
- {
- write-host "Fermeture du script" #Affiche la fermeture
- }
- #---------------------------CODE DU SCRIPT-----------------------------------------------------------|
- Write-Host "Bonjour !" -foregroundcolor blue #Accueil
- script #Exécute le scrip
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement