IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

La récursivité dépasse les limites de la pile


Sujet :

Scripts/Batch

  1. #1
    Membre averti
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Janvier 2014
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gers (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2014
    Messages : 36
    Par défaut La récursivité dépasse les limites de la pile

    L'erreur : La récursivité de la commande dépasse les limites de la pile
    Comment résoudre ce problème ?

    Mon script
    Fonction :
    Génère 5 caractères
    Les test en rajoutent ".com" a la fin en ping
    Fait une liste des caractères passé sous ping

    Le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    @echo off
    
    set "VAR=a b c d e f g h i j k l m n o p u v w q r x z"
    
    
    color a 
    
    set tempo=0 
    
    
    
    
    
    :All
    SET VrComp=
    SET test2=
    SET SEL=
    SET TXT=
    SET tokens=
    
    
    call :IMP &call :IMP &call :IMP &call :IMP &call :IMP &call :IMP
    setlocal enabledelayedexpansion
    
    set VrCompt=-1
    
    :boucle
    Set "TXTE=%TXT%.com"
    set /a VrCompt+=1
    set test2=!TXT:~%VrCompt%,1!
    if not "%test2%"=="" goto boucle
    if "%TXT%" EQU 6 Goto Test else Goto All
    Pause
    Goto Test
    EndLocal
    Goto :All
    
    
    
    :IMP
    set /a SEL=%random%%%25
    if %SEL%==0 goto :IMP
    for /f "tokens=%SEL%" %%A in ("%VAR%") do (
        set TXT=%TXT%%%A
        )
    goto :All
    
    
    :Test
    Set "TXTE=%TXT%.com"
    PING %TXTE% -n 4 > NUL
    Pause
    
    IF %ERRORLEVEL% == 0 (
       Color a
       ECHO  %TXTE%  [EXISTE] > ListeSiteExiste.txt
       Goto All
    ) 
    
    
    IF %ERRORLEVEL% == 1 ( 
       ECHO  %TXTE%  [NO] 
       set /a tempo=%tempo%+1 
       title %tempo% tester
       Goto All
    )
    Le 2ème problèmes est qu'il prend 4 secondes a chaque test, est t'il possible d'aller plus vite ?
    Merci d'avance

  2. #2
    Membre Expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Par défaut
    Salut,

    Tiens un truc que j'avais fais qui va t'interesser pour generer un code random.

    Tu peux definir la longeur du code a generer dans $Lcode :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    :://SachaDee 2013
    
    @echo off&cls
    
    :::// Ici la longueur du code à générer
    
    set "$Lcode=5"
    
    setlocal enabledelayedexpansion
    
    set "$l="
    for /l %%a in (1,1,%$Lcode%) do call:rand
    echo Tes 5 caracteres random =  !$l!.com
    exit /b
    
    :rand
    
    set /a $n=%random%%%26+97
    cmd /c exit %$n%
    set "$l=%=exitcodeAscii%!$l!"
    Ensuite fait ton ping ou ce que tu veux


  3. #3
    Membre averti
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Janvier 2014
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gers (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2014
    Messages : 36
    Par défaut
    Merci infiniment j'ai plus l'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    :://SachaDee 2013 v2
    @Echo Off
    
    
    setlocal enabledelayedexpansion
    color b
    set tester=0
    Set marche=0
    title %marche% sur %tester%
    Echo Le script lance le bruteforce ... 
    
    :All
    set "$Lcode=6"
    set "$l="
    for /l %%a in (1,1,%$Lcode%) do call:rand
    PING !$l!.com -n 4 > NUL
    
    IF %ERRORLEVEL% == 0 (
       Color a
       set /a tester=%tester%+1 
       set /a marche=%marche%+1 
       title %marche% sur %tester%
       ECHO !$l!.com  [EXISTE] >> BruteForceSite.txt
       Goto All
    ) 
    
    IF %ERRORLEVEL% == 1 ( 
       set /a tester=%tester%+1 
       set /a marche=%marche%
       title %marche% sur %tester%
       ECHO !$l!.com  [NO] 
       Goto All
    ) 
    
    :rand
    set /a $n=%random%%%26+97
    cmd /c exit %$n%
    set "$l=%=exitcodeAscii%!$l!"
    Par contre il n’affiche pas l'echo [EXISTE]
    Et le compteur a un décalage de -1

  4. #4
    Membre Expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Par défaut
    Le compteur fonctionne parfaitement

    Et sinon tu peux simplifier ton code de cette manière (j'ai mis le PING à n 2) pour que ça soit un peu plus rapide :

    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    :://SachaDee 2013 v2
    @Echo Off
     
     
    setlocal enabledelayedexpansion
    color b
    set tester=0
    Set marche=0
    title %marche% sur %tester%
    Echo Le script lance le bruteforce ... 
     
    :All
    set "$Lcode=6"
    set "$l="
    for /l %%a in (1,1,%$Lcode%) do call:rand
    PING !$l!.com -n 2 > NUL && (
       Color a
       set /a tester+=1 
       set /a marche+=1 
       title %marche% sur %tester%
       >>BruteForceSite.txt ECHO !$l!.com  [EXISTE]
       Goto All
    ) || ( 
       set /a tester+=1 
       title %marche% sur %tester%
       ECHO !$l!.com  [NO] 
       Goto All
    ) 
     
    :rand
    set /a $n=%random%%%26+97
    cmd /c exit %$n%
    set "$l=%=exitcodeAscii%!$l!"

    Juste une question ça te sert à quoi ?


  5. #5
    Membre averti
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Janvier 2014
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gers (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2014
    Messages : 36
    Par défaut
    Citation Envoyé par sachadee Voir le message
    Le compteur fonctionne parfaitement

    Et sinon tu peux simplifier ton code de cette manière (j'ai mis le PING à n 2) pour que ça soit un peu plus rapide :

    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    :://SachaDee 2013 v2
    @Echo Off
     
     
    setlocal enabledelayedexpansion
    color b
    set tester=0
    Set marche=0
    title %marche% sur %tester%
    Echo Le script lance le bruteforce ... 
     
    :All
    set "$Lcode=6"
    set "$l="
    for /l %%a in (1,1,%$Lcode%) do call:rand
    PING !$l!.com -n 2 > NUL && (
       Color a
       set /a tester+=1 
       set /a marche+=1 
       title %marche% sur %tester%
       >>BruteForceSite.txt ECHO !$l!.com  [EXISTE]
       Goto All
    ) || ( 
       set /a tester+=1 
       title %marche% sur %tester%
       ECHO !$l!.com  [NO] 
       Goto All
    ) 
     
    :rand
    set /a $n=%random%%%26+97
    cmd /c exit %$n%
    set "$l=%=exitcodeAscii%!$l!"

    Juste une question ça te sert à quoi ?

    Le 1er lien n'est pas compté sur le compteur mais ce n'est pas important
    Et les lien [EXISTE] ne s’affiche pas sur le cmd mais s’inscrivent sur le fichier


    Se script va me servir :
    1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    http://www.nopoy.com
    
    http://www.vroliz.com
    
    http://www.tarevi.com/
    
    http://www.bovup.com/
    Pour trouver d'autre lien de ce service de streaming


    2 Pour une projet un peut plus privé, j'aimerais t'envoyer un message privé pour t'en parler

  6. #6
    Membre Expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Par défaut
    OK

    Je parlais du compteur de nombre de caractères du code random.

    pour imprimier le [Existe] dans la console et dans le fichier il te suffit de doubler la ligne.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    >>BruteForceSite.txt ECHO !$l!.com  [EXISTE]
        ECHO !$l!.com  [EXISTE]
    Et pour que ton compteur soit juste set le à 1 au début :

    Si tu veux me contacter par MP pas de problème.


Discussions similaires

  1. L'expression constante dépasse les limites
    Par sondo dans le forum Langage
    Réponses: 3
    Dernier message: 20/04/2009, 14h04
  2. Les limites d'ext3
    Par GLDavid dans le forum Administration système
    Réponses: 5
    Dernier message: 05/12/2005, 11h32
  3. Réponses: 2
    Dernier message: 13/10/2005, 19h04
  4. Quelles sont les limites de INTERBASE 7.5 ?
    Par lio33 dans le forum InterBase
    Réponses: 1
    Dernier message: 21/07/2005, 12h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo