Script
Résolu/Fermé
Eley
Messages postés
185
Date d'inscription
mardi 23 octobre 2007
Statut
Membre
Dernière intervention
24 juillet 2010
-
19 juil. 2008 à 06:54
Eley Messages postés 185 Date d'inscription mardi 23 octobre 2007 Statut Membre Dernière intervention 24 juillet 2010 - 19 juil. 2008 à 20:51
Eley Messages postés 185 Date d'inscription mardi 23 octobre 2007 Statut Membre Dernière intervention 24 juillet 2010 - 19 juil. 2008 à 20:51
A voir également:
- Script
- Script vidéo youtube - Guide
- Ghost script - Télécharger - Polices de caractères
- Script bat - Guide
- Microsoft activation script - Accueil - Windows
- Executeur de script - Télécharger - Édition & Programmation
6 réponses
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
19 juil. 2008 à 08:17
19 juil. 2008 à 08:17
Salut,
lami20j@debian:~/trash$ cat eley remoi:remoi n'importe quoi remoi:remoi remoi:remoi n'importe qui remoi:remoi au milieu remoi:remoi pour voir à la fin pour voir remoi:remoi lami20j@debian:~/trash$ sed -i.orig '/remoi:remoi/ s/\(remoi:remoi\)/moi:\1/' eley lami20j@debian:~/trash$ cat eley moi:remoi:remoi n'importe quoi moi:remoi:remoi moi:remoi:remoi n'importe qui moi:remoi:remoi au milieu moi:remoi:remoi pour voir à la fin pour voir moi:remoi:remoi lami20j@debian:~/trash$ cat eley.orig remoi:remoi n'importe quoi remoi:remoi remoi:remoi n'importe qui remoi:remoi au milieu remoi:remoi pour voir à la fin pour voir remoi:remoi
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
19 juil. 2008 à 08:19
19 juil. 2008 à 08:19
Re,
avec Perl
avec Perl
lami20j@debian:~/trash$ cat eley remoi:remoi n'importe quoi remoi:remoi remoi:remoi n'importe qui remoi:remoi au milieu remoi:remoi pour voir à la fin pour voir remoi:remoi lami20j@debian:~/trash$ perl -pi.orig -e 's/(?=remoi:remoi)/moi:/' eley lami20j@debian:~/trash$ cat eley moi:remoi:remoi n'importe quoi moi:remoi:remoi moi:remoi:remoi n'importe qui moi:remoi:remoi au milieu moi:remoi:remoi pour voir à la fin pour voir moi:remoi:remoi lami20j@debian:~/trash$ cat eley.orig remoi:remoi n'importe quoi remoi:remoi remoi:remoi n'importe qui remoi:remoi au milieu remoi:remoi pour voir à la fin pour voir remoi:remoi
Eley
Messages postés
185
Date d'inscription
mardi 23 octobre 2007
Statut
Membre
Dernière intervention
24 juillet 2010
19 juil. 2008 à 18:30
19 juil. 2008 à 18:30
merci pour vos réponses mais en faites voilà j'ai un exemple de script sous la main , ce dernier genere à la foi des mot de passe et les imbrique dans un fichier de sortie exemple.txt
============================================================================
#!/usr/bin/perl
#
# gen.pl Password generator by nuTshell
# <carloslack at gmail dot com>
# http://nutshell.gotfault.net
#
# Part of eland(c) by posidron http://posidron.gotfault.net
#
# Gen was originally written to be part of Eland and then i`ve
# decided to publish this "user" version.
#
# Usage eg:
# $ ./gen.pl -all 8 3 join users.txt
# [!] Generating: Ge|{R[12
# [!] Generating: ;?#MMT%A
# [!] Generating: k8bW$RHx
#
# Passwords number: 3
# Passwords length: 8
# Output file pass_all.txt created
# Combo file combo.txt created
# $ cat users.txt
# root
# admin
# you
# $ cat combo.txt
# root:Ge|{R[12
# root:;?#MMT%A
# root:k8bW$RHx
# admin:Ge|{R[12
# admin:;?#MMT%A
# admin:k8bW$RHx
# you:Ge|{R[12
# you:;?#MMT%A
# you:k8bW$RHx
#
use strict;
use Switch;
sub usage() {
printf("Gen by nuTshell <http://nutshell.gotfault.net>\n");
printf("Usage: $0 options parameters\n");
printf("Options are:\n");
printf("-lower [gen lower case passwords only]\n");
printf("-uplowerchar [gen upper case passwords only]\n");
printf("-uplowerint [gen upper case/lower case/integer passwords only]\n");
printf("-uplower [gen upper case/lower case passwords only]\n");
printf("-upper [gen upper case passwords only]\n");
printf("-int [gen integer passwords only]\n");
printf("-lowerint [gen lower case/integer passwords only]\n");
printf("-upint [gen upper case/integer passwords only]\n");
printf("-lowerchar [gen lower case/special caracters passwords only]\n");
printf("-upchar [gen upper case/special caracters passwords only]\n");
printf("-all [FULL! gen all passwords options]\n");
printf("Parameters are:\n");
printf("passowrd length (required integer)\n");
printf("number of passwords (required integer)\n");
printf("join (literal optional)\n");
printf("userfile name (optional)\n");
exit(0)
}
my @lower =
split(",","a,b,c,d,e,f,g,h,i,j,l,m,n,o,p,q,r,s,t,u,v,x,z,y,w,k");
my @upper =
split(",","A,B,C,D,E,F,G,H,I,J,L,M,N,O,P,Q,R,S,T,U,V,X,Z,Y,W,K");
my @uplower =
split("," ,"b,c,d,e,f,g,h,i,j,l,m,n,o,p,q,r,s,t,u,v,x,z,y,w,k,A,B,C," . "D,E,F,G,H,I,J,L,M,N,O,P,Q,R,S,T,U,V,X,Z,Y,W,K");
my @uplowerchar =
split("=", "#=*=,=.=;=:=_=-=+=!=\$=%=&=/=|=?={=}=[=]=(=)=" . "
-a=b=c=d=e=f=g=h=i=j=l=m=n=o=p=q=r=s=t=u=v=x=z=y=" . "w=k=A=B=C=D=E=F=G=H=I=J=L=M=N=O=P=Q=R=S=T=U=V=X=Z=Y=W=K");
my @uplowerint =
split(",","1,2,3,4,5,6,7,8,9,0,b,c,d,e,f,g,h,i,j,l,m,n,o,p,q,r," . "s,t,u,v,x,z,y,w,k,A,B,C,D,E,F,G,H,I,J,L,M,N,O,P,Q,R,S,T,U,V," . "X,Z,Y,W,K");
my @int = split(",","1,2,3,4,5,6,7,8,9,0");
my @lowerint =
split(",","1,2,3,4,5,6,7,8,9,0,a,b,c,d,e,f,g,h,i,j,l,m,n," . "o,p,q,r,s,t,u,v,x,z,y,w,k");
my @upint =
split(",","1,2,3,4,5,6,7,8,9,0,A,B,C,D,E,F,G,H,I,J,L,M," . "N,O,P,Q,R,S,T,U,V,X,Z,Y,W,K");
my @lowerchar =
split("=","a=b=c=d=e=f=g=h=i=j=l=m=n=o=p=q=r" . "=s=t=u=v=x=z=y=w=k=#=*=,=.=;=:=_=-=+=!=" . "\$=%=&=/=|=?={=}=[=]=(=)=");
my @upchar =
split("=","A=B=C=D=E=F=G=H=I=J=L=M=N=O=P=Q=" . "R=S=T=U=V=X=Z=Y=W=K=#=*=,=.=;=:=_=-=+=!=" . "\$=%=&=/=|=?={=}=[=]=(=)=");
my @all =
split("=","1=2=3=4=5=6=7=8=9=0=a=b=c=d=e=f=" . "g=h=i=j=l=m=n=o=p=q=r=s=t=u=v=x=z=y=w=k=" . "#=*=,=.=;=:=_=-=+=!=\$=%=&=/=|=?={=}=[=]=(=)" . "=A=B=C=D=E=F=G=H=I=J=L=M=N=O=P=Q=R=S=T" . "=U=V=X=Z=Y=W=K=");
my $passoutputfile;
my $var;
my $x;
my $usersfile;
my @array;
my $ARRAY = $ARGV[0] or die &usage;
my $LOOPLENGTH = $ARGV[1] or die &usage;
my $PASSWORDNUMBER = $ARGV[2] or die &usage;
switch($ARRAY) {
case "-all" {@array = @all ; $passoutputfile = "pass_all.txt"}
case "-upchar" {@array = @upchar ; $passoutputfile = "pass_upchar.txt"}
case "-lowerchar" {@array = @lowerchar ; $passoutputfile =
"pass_lowerchar.txt"}
case "-upint" {@array = @upint ; $passoutputfile = "pass_upint.txt"}
case "-lowerint" {@array = @lowerint ; $passoutputfile =
"pass_lowerint.txt"}
case "-int" {@array = @int ; $passoutputfile = "pass_int.txt"}
case "-upper" {@array = @upper ; $passoutputfile = "pass_upper.txt"}
case "-lower" {@array = @lower ; $passoutputfile = "pass_lower.txt"}
case "-uplower" {@array = @uplower ; $passoutputfile = "pass_uplower.txt"}
case "-uplowerchar" {@array = @uplowerchar ; $passoutputfile =
"pass_uplowerchar.txt"}
case "-uplowerint" {@array = @uplowerint ; $passoutputfile =
"pass_uplowerint.txt"}
else {&usage}
}
sub genpass () {
open(PASSFILE, ">$passoutputfile") or die "$!\n";
for($x=0;$x<$PASSWORDNUMBER;$x++) {
foreach(1..$LOOPLENGTH) {
my $array = $array[rand(@array)] ;
$var .= "$array";
}
print("[!] Generating: $var\n");
print(PASSFILE "$var\n");
$var = "";
}
close(PASSFILE);
printf "\nPasswords number: $PASSWORDNUMBER\n";
printf "Passwords length: $LOOPLENGTH\n";
printf "Output file $passoutputfile created\n";
}
&genpass;
sub joinfiles (){
my @loop1 = `/bin/cat $usersfile` or die "$\n";
my @loop2 = `/bin/cat $passoutputfile` or die "$\n";
open(COMBO, ">combo.txt") or die "$!\n";
foreach my $user (@loop1) {
foreach (@loop2) {
chomp($user);
print(COMBO "$user:$_");
}
}
close(COMBO);
printf("Combo file combo.txt created\n");
}
if ($ARGV[3] eq "join") {
if($ARGV[4]) {$usersfile = $ARGV[4]}else{$usersfile = "users.txt"}
&joinfiles
}
#eof
et moi je voudrais qu'il ne me genere pas de mot de passe mais qu'il se contente uniquement de print(COMBO "$user:$_");
============================================================================
#!/usr/bin/perl
#
# gen.pl Password generator by nuTshell
# <carloslack at gmail dot com>
# http://nutshell.gotfault.net
#
# Part of eland(c) by posidron http://posidron.gotfault.net
#
# Gen was originally written to be part of Eland and then i`ve
# decided to publish this "user" version.
#
# Usage eg:
# $ ./gen.pl -all 8 3 join users.txt
# [!] Generating: Ge|{R[12
# [!] Generating: ;?#MMT%A
# [!] Generating: k8bW$RHx
#
# Passwords number: 3
# Passwords length: 8
# Output file pass_all.txt created
# Combo file combo.txt created
# $ cat users.txt
# root
# admin
# you
# $ cat combo.txt
# root:Ge|{R[12
# root:;?#MMT%A
# root:k8bW$RHx
# admin:Ge|{R[12
# admin:;?#MMT%A
# admin:k8bW$RHx
# you:Ge|{R[12
# you:;?#MMT%A
# you:k8bW$RHx
#
use strict;
use Switch;
sub usage() {
printf("Gen by nuTshell <http://nutshell.gotfault.net>\n");
printf("Usage: $0 options parameters\n");
printf("Options are:\n");
printf("-lower [gen lower case passwords only]\n");
printf("-uplowerchar [gen upper case passwords only]\n");
printf("-uplowerint [gen upper case/lower case/integer passwords only]\n");
printf("-uplower [gen upper case/lower case passwords only]\n");
printf("-upper [gen upper case passwords only]\n");
printf("-int [gen integer passwords only]\n");
printf("-lowerint [gen lower case/integer passwords only]\n");
printf("-upint [gen upper case/integer passwords only]\n");
printf("-lowerchar [gen lower case/special caracters passwords only]\n");
printf("-upchar [gen upper case/special caracters passwords only]\n");
printf("-all [FULL! gen all passwords options]\n");
printf("Parameters are:\n");
printf("passowrd length (required integer)\n");
printf("number of passwords (required integer)\n");
printf("join (literal optional)\n");
printf("userfile name (optional)\n");
exit(0)
}
my @lower =
split(",","a,b,c,d,e,f,g,h,i,j,l,m,n,o,p,q,r,s,t,u,v,x,z,y,w,k");
my @upper =
split(",","A,B,C,D,E,F,G,H,I,J,L,M,N,O,P,Q,R,S,T,U,V,X,Z,Y,W,K");
my @uplower =
split("," ,"b,c,d,e,f,g,h,i,j,l,m,n,o,p,q,r,s,t,u,v,x,z,y,w,k,A,B,C," . "D,E,F,G,H,I,J,L,M,N,O,P,Q,R,S,T,U,V,X,Z,Y,W,K");
my @uplowerchar =
split("=", "#=*=,=.=;=:=_=-=+=!=\$=%=&=/=|=?={=}=[=]=(=)=" . "
-a=b=c=d=e=f=g=h=i=j=l=m=n=o=p=q=r=s=t=u=v=x=z=y=" . "w=k=A=B=C=D=E=F=G=H=I=J=L=M=N=O=P=Q=R=S=T=U=V=X=Z=Y=W=K");
my @uplowerint =
split(",","1,2,3,4,5,6,7,8,9,0,b,c,d,e,f,g,h,i,j,l,m,n,o,p,q,r," . "s,t,u,v,x,z,y,w,k,A,B,C,D,E,F,G,H,I,J,L,M,N,O,P,Q,R,S,T,U,V," . "X,Z,Y,W,K");
my @int = split(",","1,2,3,4,5,6,7,8,9,0");
my @lowerint =
split(",","1,2,3,4,5,6,7,8,9,0,a,b,c,d,e,f,g,h,i,j,l,m,n," . "o,p,q,r,s,t,u,v,x,z,y,w,k");
my @upint =
split(",","1,2,3,4,5,6,7,8,9,0,A,B,C,D,E,F,G,H,I,J,L,M," . "N,O,P,Q,R,S,T,U,V,X,Z,Y,W,K");
my @lowerchar =
split("=","a=b=c=d=e=f=g=h=i=j=l=m=n=o=p=q=r" . "=s=t=u=v=x=z=y=w=k=#=*=,=.=;=:=_=-=+=!=" . "\$=%=&=/=|=?={=}=[=]=(=)=");
my @upchar =
split("=","A=B=C=D=E=F=G=H=I=J=L=M=N=O=P=Q=" . "R=S=T=U=V=X=Z=Y=W=K=#=*=,=.=;=:=_=-=+=!=" . "\$=%=&=/=|=?={=}=[=]=(=)=");
my @all =
split("=","1=2=3=4=5=6=7=8=9=0=a=b=c=d=e=f=" . "g=h=i=j=l=m=n=o=p=q=r=s=t=u=v=x=z=y=w=k=" . "#=*=,=.=;=:=_=-=+=!=\$=%=&=/=|=?={=}=[=]=(=)" . "=A=B=C=D=E=F=G=H=I=J=L=M=N=O=P=Q=R=S=T" . "=U=V=X=Z=Y=W=K=");
my $passoutputfile;
my $var;
my $x;
my $usersfile;
my @array;
my $ARRAY = $ARGV[0] or die &usage;
my $LOOPLENGTH = $ARGV[1] or die &usage;
my $PASSWORDNUMBER = $ARGV[2] or die &usage;
switch($ARRAY) {
case "-all" {@array = @all ; $passoutputfile = "pass_all.txt"}
case "-upchar" {@array = @upchar ; $passoutputfile = "pass_upchar.txt"}
case "-lowerchar" {@array = @lowerchar ; $passoutputfile =
"pass_lowerchar.txt"}
case "-upint" {@array = @upint ; $passoutputfile = "pass_upint.txt"}
case "-lowerint" {@array = @lowerint ; $passoutputfile =
"pass_lowerint.txt"}
case "-int" {@array = @int ; $passoutputfile = "pass_int.txt"}
case "-upper" {@array = @upper ; $passoutputfile = "pass_upper.txt"}
case "-lower" {@array = @lower ; $passoutputfile = "pass_lower.txt"}
case "-uplower" {@array = @uplower ; $passoutputfile = "pass_uplower.txt"}
case "-uplowerchar" {@array = @uplowerchar ; $passoutputfile =
"pass_uplowerchar.txt"}
case "-uplowerint" {@array = @uplowerint ; $passoutputfile =
"pass_uplowerint.txt"}
else {&usage}
}
sub genpass () {
open(PASSFILE, ">$passoutputfile") or die "$!\n";
for($x=0;$x<$PASSWORDNUMBER;$x++) {
foreach(1..$LOOPLENGTH) {
my $array = $array[rand(@array)] ;
$var .= "$array";
}
print("[!] Generating: $var\n");
print(PASSFILE "$var\n");
$var = "";
}
close(PASSFILE);
printf "\nPasswords number: $PASSWORDNUMBER\n";
printf "Passwords length: $LOOPLENGTH\n";
printf "Output file $passoutputfile created\n";
}
&genpass;
sub joinfiles (){
my @loop1 = `/bin/cat $usersfile` or die "$\n";
my @loop2 = `/bin/cat $passoutputfile` or die "$\n";
open(COMBO, ">combo.txt") or die "$!\n";
foreach my $user (@loop1) {
foreach (@loop2) {
chomp($user);
print(COMBO "$user:$_");
}
}
close(COMBO);
printf("Combo file combo.txt created\n");
}
if ($ARGV[3] eq "join") {
if($ARGV[4]) {$usersfile = $ARGV[4]}else{$usersfile = "users.txt"}
&joinfiles
}
#eof
et moi je voudrais qu'il ne me genere pas de mot de passe mais qu'il se contente uniquement de print(COMBO "$user:$_");
Eley
Messages postés
185
Date d'inscription
mardi 23 octobre 2007
Statut
Membre
Dernière intervention
24 juillet 2010
19 juil. 2008 à 19:26
19 juil. 2008 à 19:26
UN grand , très grand merci à lami20j : perl -pi.orig -e 's/(?=)/example:/' combofile.txt
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
19 juil. 2008 à 20:09
19 juil. 2008 à 20:09
Salut,
tout ça pour générer un mot de passe ?!
on peut le faire dans une seule ligne de code
http://www.commentcamarche.net/forum/affich 2335882 shell generer une chaine aleatoire#1
par exemple ça
my @lower =
split(",","a,b,c,d,e,f,g,h,i,j,l,m,n,o,p,q,r,s,t,u,v,x,z,y,w,k");
my @upper =
split(",","A,B,C,D,E,F,G,H,I,J,L,M,N,O,P,Q,R,S,T,U,V,X,Z,Y,W,K");
my @uplower =
split("," ,"b,c,d,e,f,g,h,i,j,l,m,n,o,p,q,r,s,t,u,v,x,z,y,w,k,A,B,C," . "D,E,F,G,H,I,J,L,M,N,O,P,Q,R,S,T,U,V,X,Z,Y,W,K");
on peut l'écrire comme ça
tout ça pour générer un mot de passe ?!
on peut le faire dans une seule ligne de code
http://www.commentcamarche.net/forum/affich 2335882 shell generer une chaine aleatoire#1
par exemple ça
my @lower =
split(",","a,b,c,d,e,f,g,h,i,j,l,m,n,o,p,q,r,s,t,u,v,x,z,y,w,k");
my @upper =
split(",","A,B,C,D,E,F,G,H,I,J,L,M,N,O,P,Q,R,S,T,U,V,X,Z,Y,W,K");
my @uplower =
split("," ,"b,c,d,e,f,g,h,i,j,l,m,n,o,p,q,r,s,t,u,v,x,z,y,w,k,A,B,C," . "D,E,F,G,H,I,J,L,M,N,O,P,Q,R,S,T,U,V,X,Z,Y,W,K");
on peut l'écrire comme ça
my @lower = 'a' .. 'z'; my @upper = 'A' .. 'Z'; my @uplower = ('a' .. 'z','A' .. 'Z');c'est plus court et plus efficace ;-)
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
19 juil. 2008 à 20:10
19 juil. 2008 à 20:10
FAINÉANT ! ;-DD
Eley
Messages postés
185
Date d'inscription
mardi 23 octobre 2007
Statut
Membre
Dernière intervention
24 juillet 2010
19 juil. 2008 à 20:51
19 juil. 2008 à 20:51
rire
19 juil. 2008 à 08:48
Espèce de faux perlien, elle est trop longue ton expression avec "sed" : pffffffffffffffffffff ;-DDD
19 juil. 2008 à 08:53
je savais qu'il y a un moyen de faire plus court, mais à cette heure ci, je n'ai pas envie de lire tes romans concernant le sed ;-)
en plus je savais que tu interviendras, donc pourquoi se casser la tête ;-)))
merci