CS
VB, VB.NET
ASP.NET,ASP
C, C++
ColdFusion
PHP
Javascript
Delphi
Flash
Java
Graphisme
Irc
Assembleur
C#
Mobilité
SQL
Foxpro
Python
Windev
Snippets
IT Pros
Codes
(38355)
Listes de codes
Toutes
les sources
Les plus
récents
Les
mis à jour
Les plus
populaires
Les plus
populaires du mois
Tout le
niveau 1
(débutant)
Tout le
niveau 2
(initié)
Tout le
niveau 3
(expert)
Toutes les sources avec un
fichierZIP
Les sources
(1147)
Les
mieux notés
Trouver des codes
Trouver un code par mot clé
(Nouveau)
Top des codes
Les Trophées
Top des favoris des membres
Top par catégorie
Auteurs de codes
Les auteurs de sources
Le top des membres
Ajouter une source
Tutoriaux
(38355)
Forums
(1146374)
Vidéos
Livres
(28482)
Outils & Liens
Emploi (CV et Offres)
Services
Téléchargement
Chat
Autres Sites
Divers
Partenaires
Section étudiants
Section pro
Connexion
begin process at 2008 07 18 19:51:30
Derniers blogs
SharePoint : Comment i...
VPC - Reset de la posi...
Un bug dans IE rendra ...
Quelques retours sur G...
SharePoint et le multi...
La suite...
Mini Sondage
Votre navigateur n'utilise pas le javascript, pour
voter aux sondages de ce site, cliquez ici
Derniers logiciels
Mozilla Firefox (3.0.1...
NSIS (2.38)
VSCmdShell (1.2)
MzTools (3.0.1175)
EasyPHP (1.8 / 2.0 bet...
La suite...
Comparer les prix
Electrolux ARC24003 au meilleur prix
Mes RSS
Zte va fournir un ens...
Bouygues construction...
Top 5 des appareils p...
Les applications crm ...
Intego virusbarrier x...
La suite...
Personnaliser
Stats
1 212 540
membres
397
nouveaux aujourd'hui
14 164
membres club
Divers
Mettre ce site au démarrage
Ajouter ce site à vos favoris
CodeS-SourceS dans votre MSN !
Mes Favoris
Plein Ecran
Connexion
Trouver une ressource
(Nouvelle version du moteur, plus rapide & pertinent, essayez le !)
Trouvez une ressource parmi
38 355
codes,
1 146 374
messages d'aide etc...
Recherche:
dans
Tout le site
Codes
Tutoriaux
Forum
Blogs
Livres
RFC
Icones
News .NET
Boutique
[ Dernières recherches ]
Filtre:
Tous les langages
Python
Foxpro
SQL
PDA / PocketPC
C# / C#.NET
Assembleur
IRC
Graphisme
JAVA / J2EE
Flash
Delphi
Javascript / Ajax / DHTML
PHP
ColdFusion
C / C++ / C++.NET
ASP / ASP.NET
Visual Basic, VB6, VB.NET, VB 2005, VB
Tous les codes
.NET uniquement
Exclure .NET
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 !
4 commentaire(s) de phonixsprider
sur des sources sur tout
CodeS-SourceS
Le :
13/03/2006 20:54:54
Source :
INTERNET PASSWORD REMEMBER
Vlà ce que je propose:
---------------------------
/***************************************************************************
* Internet Password Remember Copyright (C) 2004 by Psyphi *
* *
* psyphi1st@hotmail.com psy.phi@laposte.net *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
/* Examined and corrected by Morgan06 morgan06detoi06@hotmail.com */
/* Team Hacktinium: your expert in computer security */
/* http://www.hacktinium.com */
/* Corrected by Phonix Sprider from hacktinium.com. eMail: */
/* phonixsprider@hacktinium.com */
#include <stdio.h>
#include <time.h> /*Pour la fonction time, nécessaire à l'initialisation de l'aléatoire*/
#include <stdlib.h> /*Pour les fonctions aléatoires comme srand*/
#include <string.h> /*Pour les fonctions sur les chaines de caractères comme strlen*/
#define MAX 61
/* Fonction contre le dépassement de mémoire (buffer overflow) */
short bo(int crt_max)
{
short erreur=0;
if(crt_max>=MAX)
{
erreur=1;
}
return erreur;
}
/* Fonction principale */
int main()
{
/* Initialisation des variables */
FILE *fp;
int i=0;
float hasard;
int tire=0;
int longueur;
int vchoix;
char ascii;
char mdp[MAX];
char nomfichier[18]="gestionnaire.html";
char adressesite[MAX];
char nomsite[MAX];
char pseudo[MAX];
int nbr_crt;
time_t nb_seconde, temps;
puts("--==[[Internet Password Remember]]==--");
/* Récupère l'adresse du site, moins de x caractère */
while(1){
printf("Entrer l'adresse du site (%d caracteres max):",MAX-1);
gets(adressesite);
if(bo(strlen(adressesite))!=0 ){
puts("OverFlowed !");
}
else{
break;
}
}
/* Récupère le nom du site, moins de x caractère */
while(1){
printf("Entrer le nom du site (%d caracteres max):",MAX-1);
gets(nomsite);
if(bo(strlen(nomsite))!=0 ){
puts("OverFlowed !");
}
else{
break;
}
}
/* Récupère nom d'utilisateur du site, moins de x caractère */
while(1){
printf("Entrer le pseudo pour le site (%d caracteres max):",MAX-1);
gets(pseudo);
if(bo(strlen(pseudo))!=0 ){
puts("overflowed");
}
else{
break;
}
}
/* Récupère une réponse 1=Oui, 0=Non pour générer un mdp */
puts("Voulez vous generer le password ?");
puts("Oui taper 1, Non taper 0.");
scanf("%d",&vchoix);
/* vchoix = 1 */
if(vchoix==1){
while(1){
printf("Longueur du mot de passe? (%d caracteres max):",MAX-1);
scanf("%d",&longueur);
if(bo(longueur)!=0){
puts("OverFlowed !");
}
else{
break;
}
}
/*Récupération du nombre de seconde écoulées depuis le 01/01/1970 à 00h00min00s*/
nb_seconde=time(&temps);
/*Initialisation de la fonction aléatoire*/
srand(nb_seconde);
for(i=0;i<longueur;i++){
hasard=rand();//On tire un réel au hasard entre 0 et 2 147 483 647
tire=((hasard/RAND_MAX)*100)+33;//On transforme ce réel en entier compris entre 33 et 133, Les caractères affichable de la table ascii allant de 33 à 126.
//Si tire supérieur ou égal à 127, on le rejete et on affiche des valeurs nulles en retour.
if (tire>=127){
/*puts("Sup à 126");*/
i--;
tire=0;
ascii='0';
}
else{
ascii=tire;
mdp[i]=ascii;
}
/*printf("Tirage %d: %d\nASCII: %c\n ----------\n",i,tire,ascii);*/
}
printf("Mot de passe genere: %s\n", mdp);
}
else{
/* Récupère le mot de passe du site, moins de x caractère */
while(1){
printf("Entrer un mot de passe pour le site (%d caracteres max):",MAX-1);
scanf("%s",&mdp);
if(bo(strlen(mdp))!=0 ){
puts("overflowed");
}
else{
break;
}
}
}
/* Inscription des données dans le fichier gestionnaire.html */
// On ouvre le fichier en ajout, on y écrit à la fin et on ferme le fichier.
fp=fopen(nomfichier,"a");
fprintf(fp,"<div id='pass'><a href='%s' target='blank'>%s</a> :",adressesite,nomsite);
fprintf(fp," %s :",pseudo);
fprintf(fp," %s</div>\n",mdp);
fclose(fp);
printf("Le fichier a ete correctement genere (fichier: %s)", nomfichier);
puts("Merci d'avoir utilise Internet Password Remember");
puts("--==[[Presser une touche pour quitter]]==--");
getchar();
getc(stdin);
return(0);
}
Le :
13/03/2006 20:14:14
Source :
INTERNET PASSWORD REMEMBER
Pour redemander à l'utilisateur d'introduire du texte le while doit être placé avant le gets:
------------------------
while(1){
printf("Entrer l'adresse du site, %d caracteres max:",MAX-1);
gets(adressesite);
if(bo(strlen(adressesite))!=0 ){
puts("overflowed");
}
else{
break;
}
}
------------------------
C'est une boucle infinie qui ne s'arrête que quand l'utilisateur à entré une adresse qui fait moins de 60 caractère ;)
Phonix Sprider
Le :
13/03/2006 19:53:39
Source :
INTERNET PASSWORD REMEMBER
Le programme en lui même est pas mal cependant le codage: aïe. Je ne veux en aucun cas être désagréable mais il est à noté que tu utilises des do, while qui pourraient simplement être remplacé par des "if" et "else". Exemple et explications:
lignes: 64 à 67
---------------------------
do{
printf("Entrer l'adresse du site, %d caracteres max:",MAX-1);
gets(adressesite);
}
while(bo(strlen(adressesite))!=0);
----------------------------
Ici, tu effectues une boucle infinie car while ne s'arrête jamais si plus de 60 caractères son entrée. Ce qui ne va même pas afficher ton message de dépassement de tampon sous windows (protection contre les boucles infinies dans SP2, je crois !). Or il suffirait d'implémenter un petit if:
-------------------------------
if(bo(strlen(adressesite))!=0){
puts("Programme OverFlowed !!! ");
exit(0);
}
-------------------------------
en gros si il y a un dépassement de tampon alors on affiche un message et on quitte le programme simplement. Il ne faut pas oublié de viré le message qui ne sert à rien:
ligne 39:
-------------------------------
puts("Erreur depassement du nombre de caracteres max. Recommencer.");
-------------------------------
Voilà, le programme utilisera moins de ressources et aussi plus clair. Cependant, il faudra l'exécuter en DOS sous windows et dans la ligne de commande pour les autres OS car la fonction exit(0); ferme la fenêtre sans afficher le message.
Phonix Sprider !
Le :
02/01/2004 22:26:06
Source :
PETIT PROGRAMME PROTEGÉ PAR UN MOT DE PASSE
Il faudrai ajouter un
int fin;
juste devant :
cin >> fin;
pour que la programme marche sous tt les compilateur ;)
PS: tu m'excusera mais vu qu'il n'y a pas de string et si le programme et compiler avec borland le password ne pourrait pas ce cracker sauf erreur... mais pas avec windasm 32 ;)
[ ]
CONCOURS DE PROG !
Pendant les vacances se déroule un concours de programmation Flash sur CodeS-SourceS !
Cliquez ici pour tous les détails
Plus que
44 jours
avant la fin !
Pub
Besoin d'icones ?
Besoin d'icones de qualité professionnelle pour vos sites et applications ? Alors ne cherchez plus, IconShock est la réponse !
IconShock est recommandé par CodeS-SourceS
Appels d'offres
Dessins techniques
Budget :
60€
Animation Flash - Doma...
Budget :
370€
Application flash medi...
Budget :
1 000€
La suite
RSS
Côté IT
Nouveautés dans les in...
Installation des drive...
Supprimer un module da...
Nettoyer les fichiers ...
Intégration de Reporti...
Automatisation de back...
Installation de WSS V3...
Tous les articles IT
CalendriCode
Juillet
2008
L
M
M
J
V
S
D
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
VS Express FR Gratuit !
Boutique