Vous êtes sur la page 1sur 9

SECTION-X

Administrateurs : blackhackerz

Forum d'entraide

Astuces Jeux Flash

Hordes.fr

SECTION-X *Les cours: Les cours de hacking et autres: Les commandes Batch de Windows//Etherlord

Bas de Pages : 1 page ledoc lovers Nouveau membre Les commandes Batch de Windows//Etherlord Les commandes Batchs de Windows Explorez la puissance de votre systme 2003/etherlord - DHS En ces temps incertains, ou la majorit des utilisateurs exploitent des ordinateurs travers des systmes graphiques, ils sont nombreux a avoir oubli les commandes de base d'un systme opratif tel que le DOS (Dos : Disk Operating System). Le DOS vous autorise plusieurs commandes en lignes, qui si elles on 'look' vieillot et qu'il est ncessaire de les taper (ouch...), peuvent se montrer trs puissantes dans la ralisation de tches rptitives. Il est egallement utile de connatre ces commandes lorsque vous tes connects un systme distant travers le rseau. Vous connaissez probablement tous la commande FORMAT a:\. Mais avez-vous seulement compris l'etendue des possibilits du PIPE ?? (Vous savez, cette barre etrange : ). Parmis les autres possibilits du langage Dos, celle-la est certainement la plus impressionante. Mais avant de continuer a disgresser, voyons brievement les commandes communes que vous pouvez utiliser dans un batch. Commandes (Pour obtenir de l'aide sur chaque commande, vous pouvez fournir le paramtre "/?" (sans les guillemets) la commande (par ex: START /? affiche l'aide de la commande START) ================================================== ============= Citation: ATTRIB : Change les attributs d'un fichier ex : attrib +r+h test.txt Post le 28-11-2009 09:19:56

44 messages posts

La commande prcedente va dfinir les attributs LECTURE SEULE (R:READ ONLY) et FICHIER CACHE (H:HIDDEN) pour le fichier test.txt. Pour supprimer les attributs : attrib -r-h test.txt CLS : Efface l'ecran de la console EXIT : Ferme la session de commande. FOR : Initie une boucle. Voir plus bas pour un example. FIND : Permet de rechercher du texte dans un ou plusieurs fichiers, en memoire, permet de recuperer les infos du bios,etc... GOTO : Branchement du flux du programme vers un label ex : goto Step1 echo Cette ligne n'est jamais affiche :Step1 echo Cette ligne est affiche IF : Permet d'utiliser une condition ex : if exist autoexec.bat echo Existe! La commande prcedente affiche le mot "Existe!" si le fichier autoexec.bat est prsent dans le rpertoire courant. MORE : Permet de suspendre l'affichage temporairement quand l'affichage depasse le nombre de lignes de l'ecran ex : type help.txt | more MOVE : Dplace un fichier SET : Dfini une variable d'environnement ex : set msg="Bienvenue " msg2=%msg%%username% echo msg2 Le batch prcedent va dfinir une premiere variable avec le contenu "Bienvenue ", puis cree une deuxime variable en appondant le nom de l'utilisateur la premire variable, et le rsultat final est affich. SHIFT : Cette commande permet de dplacer un paramtre d'un cran gauche dans la pile des paramtres transmis au batch: ex : set A0 = %0 set A1 = %1 shift set A2 = %1

La premire ligne du batch enregistre le premier paramtre pass au batche dans A0, la deuxime ligne enregistre le deuxime paramtre dans A1, la troisime ligne dcale la pile des paramtres (%0 est perdu, %1=%2, %2=%3, etc..). Finallement, le troisime paramtre est stock dans A2 START : Dmarre l'execution d'un programme dans une nouvelle fentre. La fentre est dfinissable (plein cran, minimise, invisible), ainsi que la priorit d'execution. Cette commande permet gallement d'xecuter un processus et d'attendre la fin du processus pour continuer le batch. TYPE : Affiche un message sur le port de sortie (par defaut, le port de sortie est la console, peut etre redefinie) Comme vous vous en tes suremnet aprecus, la plupart de ces commandes sont en fait de petits fichiers executables, qui sont lancs quand un fichier batch en fait la requte. Comprenez bien que vous pouvez dfinir n'importe quel commande ou nom de fichier dans un batch, cette commande ou fichier sera execut. L'utilisation de certaines commandes est dcrite plus loin.

Symboles pouvant etres utilises : ================================= % - Ce symbol permet l'utilisation de variable l'intrieur d'un fichier batch. @ - En ajoutant ce caractre au debut d'une commande empche cette commande de s'afficher a l'cran. ex : @DIR (Execute la commande dir sans afficher c:\>DIR sur l'ecran) > - Ajouter un '>' a la fin d'une commande permet de rediriger la sortie(affichage du rsultat) de la commande. Dans le cas d'une redirection sur un fichier, le fichier est ecras. ex : @DIR a:\ > test.txt (Va enregistrer le contenu du rpertoire a:\ dans le fichier) >> - Ajouter '>>' a la fin d'une commande permet de rediriger la sortie(affichage du rsultat) de la commande. Dans le cas d'une redirection sur un fichier, le nouveau contenu est appondu au fichier. ex : @DIR a:\ > test.txt (Va enregistrer le contenu du rpertoire a:\ dans le fichier) @DIR c:\ >> test.txt (le contenu du rprtoire est ajout au fichier prcdent) NUL - Priphrique NUL. Tout ce qui est envoy ce

priphrique est dtruit. ex : @DIR c:\ /s > NUL (Va envoyer le contenu complet du disque (en utilisant le switch /s) sur le priph NUL. Beaucoup de travail, rien n'est affich < - Ajouter un '<' a la fin d'une commande permet de passer la partie situe droite du symbole '<' comme paramtre de la premire commande. ex : debug < file.txt (Va envoyer les commandes contenues dans le fichier au debugger) | - Envoie la sortie(resultat) d'une commande comme paramtre d'une autre commande: ex : mem /c |find "MOUSE" (Va executer la commande mem /c et envoyer le resultat a FIND.EXE qui va afficher que les lignes contenant le terme 'MOUSE')

Batch avanc ============ Maintenant, jouons un peu avec les commandes de bases que nous avons vu prcdeament. La boucle FOR: -------------Code: for %%f in (*.*) do echo Il y as un fichier appel: %%f La ligne prcdente initie une boucle qui va chercher tous les noms de fichiers dans le rprtoire courant (*.*). Tous les fichiers trouvs sont affichs. Bien sur, il est possible d'tre plus spcifique dans la commande. La ligne suivante va silencieusement copier le contenu du rprtoire %windir%\repair sur un floppy: Code: for %f in (%windir%\repair\*.*) do @copy %f a:\

Il est gallement possible de dfinir des boucles avec un compteur: Code: for /L %i in (1,1,5) do echo compteur: %i Le switch /L spcifie que nous travaillons avec des nombres. La boucle va commencer 1, utiliser un incrment de 1, et va executer la boucle jusqu'a 5. Il est biens ur possible

d'envoyer le rsultat dans un fichier: Code: for /L %i in (1,1,5) do echo compteur: %i > result.txt

La condition IF : ----------------La condition IF peut tre utilise pour vrifier si un condition est vraie ou fausse. Cette condition peut traiter des variables, ou des paramtres envoys au batch: Code: if [%1]==[/?] goto AffichAide goto Continue :AffichAide echo Ceci est l'aide en ligne... :Continue La condition IF peut gallement tre utilise en conjonction avec la variable 'errorlevel', une variable qui contient le resultat du dernier programme execut RunProg.exe if errorlevel 0 goto OK echo Wow! On as un problme! goto End :OK echo Ca roule!!! Execution OK! :End Dcalage de paramtres (SHIFT) -----------------------------Cette commande peut tre trs utilse quand vous avez plus de 10 paramtres a passer un fichier batch. Les paramtres sont pris en charge par le fichiers batch sous la forme %0.....%9. %0 contient le nom du fichier batch, Si vous avez plus de 9 paramtres traiter, vous pouvez utiliser la commande SHIFT. Cette commande va dcaler les paramtres vers le bas de 1 argument. A chaque commande SHIFT, %0 disparait et rcupre la valeur de %1, %1 rcupre la valeure de %2, etc.. Une fois dcal, un argument ne peut pas tre recuper. Fichier batch recursif : -----------------------C'est dans ces conditions que j'adore les batchs. Il est possible de crer un batch rcursif en utilisant les caractres %. Voyons un exemple: On veut vrifier que le contenu du dossier c:\temp est bien copi dans c:\temp2. Si le fichier n'existe pas, alors le batch doit copier le fichier, et ensuite afficher le contenu du fichier copi l'ecran. echo off %1 %2 for /F "tokens=1 delims= " %%i in ('dir /A-D /B c:\temp\*.*') do if not exist c:\temp2\%%i call %0 goto step1 %%i :step1

COPY c:\temp\%3 c:\temp2\%3 type c:\temp2\%3 echo ----------------------------------------------------------------------:end L'astuce a comprendre ici c'est : call %0 goto step1 %%i l'interieur de la commande DO. Nous demandons juste au batch de s'appeller lui-mme en fournissant GOTO et STP1 comme arguments (respectivement %1 et %2). Maitnenant vous avez compris a quoi sert la ligne %1 %2 qui appareament ne servait a rien..... On aurait pu le faire d'une facon plus lgante, en dfinissant sous quelle condition on doit executer la commande: [ Code] echo off if "%1" == "()" goto %2 for /F "tokens=1 delims= " %%i in ('dir /A-D /B c:\temp\*.*') do if not exist c:\temp2\%%i call %0 () step1 %%i :step1 COPY c:\temp\%3 c:\temp2\%3 type c:\temp2\%3 echo ----------------------------------------------------------------------:end [/code] De cette facon, on peut ajouter plusieurs conditions au dmarrage du batch.

Crer un fichier EXE en utilisant un batch: ------------------------------------------Oui. Mme la cration de fichiers EXE est possible travers les batchs. Examinons le fichier suivant: @echo off echo n prog.com > file1.txt echo a 0100 mov ah,09 >> file1.txt echo a 0102 mov dx,0109 >> file1.txt echo a 0105 int 21 >> file1.txt echo a 0107 int 20 >> file1.txt echo a 0109 db 'hello world!$ >> file1.txt echo rcx >> file1.txt echo 16 >> file1.txt echo w >> file1.txt echo q >> file1.txt debug < file1.txt del file1.txt prog En premier lieu, on supprime tout affichage a l'cran (echo off). La commande en elle-mme n'est pas affiche. Puis on cre un fichier appel file1.txt, dont la premire ligne contiendras 'n prog.com'. C'est une commande destine au debugger, dfinissant le nom du fichier a crer. On ajoute ensuite plusieurs lignes au fichier file1.txt qui contient toutes les instructions en assembleur qui doivent tres compiles par le debugger (oui, debug.exe, un des outils fabuleux que vous tes assurs de trouver sur toutes les moutures de Windown, est aussi capable de COMPILER de l'assembleur!! je suis sur que vous voyez ce petit executable dos sous un jour nouveau prsent...) Le proramme compil ne fait qu'afficher la ligne 'hello world!' en utilisant l'interuption 21h.

Les dernires lignes incluent les commandes pour le debugger (echo w : ecrit le fichier, echo q : quitte le debugger, etc..) Ensuite on compile notre fichier source (debug < file1.txt), on efface le source et on execute le rsultat. Fermer la fenetre a la fin de l'execution d'un batch: ----------------------------------------------------Vous avez probablement deja rencontre ces fenetres qui restent ouvertes avec un titre tel que "Finnished - xxxx". Au lieu de laisser l'utilisateur fermer la fenetre, la commande suivante placee a la fin du batch auras pour effet de fermer la fenetre: Code: @cls Qand le batch est termine, et que l'ecran de commande reste vide, le systeme ferme la fenetre. Implications de variables dans les commandes: --------------------------------------------Nous avons vu que le symbole % nous permet d'utiliser une variable comme parametre. Le point interessant ici, c'est que l'on peut egallement l'utiliser comme commande: Code: @%sign%cls Si on defini sign comme etant vide (set sign= ) et que l'on execute le batch, la commande sera executee. Maintenant, si on defini sign comme etant une commande (set sign=REM), la ligne du batch ne sera pas executee.

Supprimer une ligne spcifique d'un fichier ASCII: -------------------------------------------------Le code suivant va transferer le contenu du fichier a travers la commande FIND. Le paramtre /V permet d'afficher toutes les lignes qui ne contiennent pas la chaine "terme". find /V "terme" <anyfile> %temp%.\anyfile.tmp COPY/Y %temp%.\anyfile.tmp anyfile DEL %temp%.\anyfile.tmp Convertir une chaine de caracteres en majuscules: ------------------------------------------------Voici une facon simple de le faire, sachant que la commande PATH convertit tout en majuscule path> %temp%.\respath.bat path chaine a convertir set variable=%path% call %temp%.\respath.bat del %temp%.\respath.bat Etat de la connection reseau: ----------------------------Comme pour beaucoup d'astuces, il s'agit souvent de trouver

l'executable qui permet de recuperer l'information..... @echo off ipconfig.exe |find "IP Address" >nul if not errorlevel 1 ECHO Connecte if errorlevel 1 ECHO Pas connecte Effacer un fichier avec la commande COPY: ----------------------------------------He oui, c'est possible, comme quoi il faut se mefier de tout dans un batch.... COPY nul fichier Obtenir la liste de tous les fichiers .bat du HD: ------------------------------------------------J'imagine que tous le monde connait la commande dir /s, bien sur, mais il y as tellement de manieres plus subtiles d'arriver au resultat : @echo off chkdsk /v | find /i ".bat" > res.txt type res.txt | more del res.txt L'option /v de chkdsk nous permet de voir le nom de chaque fichier de chaque repertoire pendant que le disque est verifie. Cette liste est envoyee a la commande find (pipe), le parametre /i permet d'ignorer les difference entre les majuscules et minuscules. Le parametre '.bat' nous permet de specifier notre critere. Attention, cela ne fonctionne pas sous NTFS. Voila pour l'entree en matiere, j'espere avoir couvert tout ce qui est necessaire pour aller un peu plus loin que l'emploi des commandes basiques du systeme, si vous etes interesses a creuser ce domaine je vous recommande l'etude des virus crees en batch, ils contiennent quelques fines astuces.
-------------------Bonjour a tous , G'Day All / D sol pour ce rtain tutorial qui sont e n anglais / Et bon Hack ! /

Haut de Pages : 1 page

SECTION-X *Les cours: Les cours de hacking et autres: Les commandes Batch de Windows//Etherlord

Identification rapide :

Pseudo

Go

Divers Imprimer ce sujet

Aller : ---------- *Les cours: ----------

Parte naire s : cr e r chat - ne tbe t sport - be t770 - bingo 770 - bonus 770

crer forum - forum d'entraide - annuaire forum 2003 - 2012 AlloForum.com - Version 3.5