Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
Aller à la page:  Page précédente 1 2
Page: 2 sur 2
Re: Les mini défis de léa smiling smiley : j’en ai un
Envoyé par: Eric92

Citation
nicola
Et pour mon autre proposition, personne n’a relevé la référence ni la contrainte ?
S'agit-il de La Disparition, livre de Georges Perec où il manque une certaine lettre ?
Voir [fr.wikipedia.org]

Poste le Sunday 1 May 2005 00:48:32
Répondre     Citer    
Re: Les mini défis de léa smiling smiley
Envoyé par: nicola

Oui. Donc faisons un coup de programmation sans.

--
On ne prête qu’aux riches, et on a bien raison, parce que les autres remboursent difficilement.
-+- Tristan Bernard (1866-1947) -+-

Poste le Sunday 1 May 2005 06:59:40
Répondre     Citer    
Re: Les mini défis de léa smiling smiley
Envoyé par: Raph__

Salut,
Vos subtilités sont bien mignones, mais je crois qu'un petit problème de programmation serait plus intéressant.

Tuxfanch : le copier/coller ne m'intéresse pas, je préfère prendre un peu de temps pour apprendre les bases de ce langage.

Pour la mailing-list, je ne vois pas comment procéder, si un de vous sait comment faire...

Ciao.





Poste le Sunday 1 May 2005 13:33:42
Répondre     Citer    
Re: Les mini défis de léa smiling smiley : j'en ai un
Envoyé par: Sve@r

Citation
tuxfanch
afficher sa propre somme md5, c'est aussi simple que l'initial ; par contre le foutre en dur
(commentaire ?) dans le code, ça risque d'être
longuet
Disons-le, carrément impossible

Citation
tuxfanch
Calcul de la signature -> écriture de la
signature en commentaire dans le fichier -> le
fichier a changé donc la signature a changé, donc
celle marquée en commentaire est fausse -> on
recalcule -> on ré-écrit -> pof, la
signature est encore fausse.
Cf mon commentaire plus haut

D'un point de vue mathématique, il faut arriver à trouver "x" tel que "md5(x)=x"

D'un point de vue informatique, il faut rétro-analyser "md5" pour pouvoir calculer "x" à partir du résultat de "md5(x)". Cela revient à briser "md5" qui, rapellons-le, est utilisé comme système d'authentification des mots de passe Unix. Je pense que certains ont vu un petit-peu haut en matière de mini-défi ;-)...


Poste le Sunday 1 May 2005 14:15:40
Répondre     Citer    
Re: Les mini défis de léa smiling smiley
Envoyé par: tuxfanch

Raph > c'est pas fait pour faire du copypaste ; mais c'est suffisament simple pour ne pas décourager qq'un qui n'a jamais vu de code python de sa vie (parce que s'il faut passer 6 mois à maitriser un langage pour chaque mini défi, àmha on va vite larguer ceux dont ce n'est pas le boulot de coder ...)

------- <br />
La meilleure façon de prédire le futur, c'est de l'inventer ~ Alan Kay

Poste le Sunday 1 May 2005 16:58:57
Répondre     Citer    
Re: Les mini défis de léa smiling smiley
Envoyé par: nicola

Citation
Raph__
Vos subtilités sont bien mignones, mais je crois qu'un petit problème de programmation serait plus intéressant.

OK : écris un programme sans la lettre e.

--
On ne prête qu’aux riches, et on a bien raison, parce que les autres remboursent difficilement.
-+- Tristan Bernard (1866-1947) -+-

Poste le Sunday 1 May 2005 18:44:52
Répondre     Citer    
Re: Les mini défis de léa smiling smiley : j’en ai un
Envoyé par: nicola

Citation
Sve@r
D'un point de vue mathématique, il faut arriver à trouver "x" tel que "md5(x)=x"

D'un point de vue informatique, il faut rétro-analyser "md5" pour pouvoir calculer "x" à partir du résultat de "md5(x)". Cela revient à briser "md5" qui, rapellons-le, est utilisé comme système d'authentification des mots de passe Unix. Je pense que certains ont vu un petit-peu haut en matière de mini-défi ...

Ça devrait être possible en prenant le problème à l’envers, en calculant le md5 du programme et en le collant dans la version suivante, et ainsi de suite jusqu’à ce que ça marche, comme quand tu veux compléter une phrase du genre : « il y a ___________ consonnes dans cette phrase. », les soulignés doivent être remplacés par un nombre écrit en toutes lettres. Le méthode converge ou arrive sur un cycle.

--
On ne prête qu’aux riches, et on a bien raison, parce que les autres remboursent difficilement.
-+- Tristan Bernard (1866-1947) -+-

Poste le Sunday 1 May 2005 18:48:23
Répondre     Citer    
Re: Les mini défis de léa smiling smiley : j’en ai un
Envoyé par: tuxfanch

Ben oui nicola, mais du coup, ça revient à faire l'équivalent d'une attaque par brute-force du md5 ... donc ça risque d'être long long long long ...

------- <br />
La meilleure façon de prédire le futur, c'est de l'inventer ~ Alan Kay

Poste le Sunday 1 May 2005 19:09:09
Répondre     Citer    
Re: Les mini défis de léa smiling smiley : j’en ai un
Envoyé par: nicola

Hé ouais… de toutes façons le md5 n’est qu’une somme de vérification, pas un résumé du fichier.

--
On ne prête qu’aux riches, et on a bien raison, parce que les autres remboursent difficilement.
-+- Tristan Bernard (1866-1947) -+-

Poste le Sunday 1 May 2005 20:30:14
Répondre     Citer    
Re: Les mini défis de léa smiling smiley
Envoyé par: Glorfindel

Eh eh... Ca pourrait être sympa comme idée...

Par exemple (s'il n'est pas copyrigth) un ensemble de softs du jeu de Marienbad, avec un moteur de résolution en pure ligne de commande et un frontal graphique séparé. Tous les langages acceptés bien sur...
En plus c'est un jeu... Ce sera plus sympa de montrer ça au enfants qu'un frontal de calcul MD5...

Le moteur est à priori codable en strictement tout, même en bash. On doit même pouvoir en faire des versions xinetd et jouer à distance avec des moteurs différents et déportés.

Chaque frontal doit pouvoir fonctionner avec chaque moteur bien sur, et inversement...

Le frontal graphique permettrait de comparer à la fois les approches choisies et les ressources mises en oeuvre avec les différentes bibliothèques.

Et le fin du fin après, la création de paquetages pour les différentes distribs.

Et ensuite si ça a plu, on fait évoluer cela vers certaines versions de taquin, topologiquement plus complexes et mettant en jeu une belle petite récursivité...

Faudrait des candidatures sur chaque module avec différents langages...

Le défi ne serait pas individuel mais commun, et pourrait donner lieu ensuite à quelques articles comparatifs..

A vos pensées.

Linux user # 386486 (serveur debian sarge sur un athlon64 winking smiley, laptop PIV-HT sur etch noyau 2.6.20).

Poste le Monday 2 May 2005 09:08:25
Répondre     Citer    
Re: Les mini défis de léa smiling smiley
Envoyé par: Sve@r

Citation
Glorfindel
Eh eh... Ca pourrait être sympa comme idée...

Par exemple (s'il n'est pas copyrigth) un ensemble
de softs du jeu de Marienbad, avec un moteur de
résolution en pure ligne de commande et un frontal
graphique séparé. Tous les langages acceptés bien
sur...
En plus c'est un jeu... Ce sera plus sympa de
montrer ça au enfants qu'un frontal de calcul
MD5...

Le moteur est à priori codable en strictement
tout, même en bash. On doit même pouvoir en faire
des versions xinetd et jouer à distance avec des
moteurs différents et déportés.

Chaque frontal doit pouvoir fonctionner avec
chaque moteur bien sur, et inversement...

Le frontal graphique permettrait de comparer à la
fois les approches choisies et les ressources
mises en oeuvre avec les différentes
bibliothèques.

Et le fin du fin après, la création de paquetages
pour les différentes distribs.

Et ensuite si ça a plu, on fait évoluer cela vers
certaines versions de taquin, topologiquement plus
complexes et mettant en jeu une belle petite
récursivité...

Faudrait des candidatures sur chaque module avec
différents langages...

Le défi ne serait pas individuel mais commun, et
pourrait donner lieu ensuite à quelques articles
comparatifs..

A vos pensées.

Linux user # 386486 (et en plus je tourne sur un
athlon64 hi hi hi...).

J'aime bien cette idée... surtout l'histoire du "xinetd" !!!

Poste le Monday 2 May 2005 22:47:23
Répondre     Citer    
Re: Les mini défis de léa smiling smiley
Envoyé par: Raph__

Salut,
Elle est sympa ton idée Glorfindel, mais je ne vois pas comment mettre ça en place. Des idées ?

Sinon j'ai un mini défis à vous proposer, faire un mini keylogger.
Le but n'est pas de faire un "vrai" keylogger (rien ne vous en empeche) qui enregistre tout ce que l'utilisateur tape au clavier, mais d'en faire un qui soit capable de "récupérer" les mots de passe saisies par un utilisateur, lorsque celui-ci utilise la commande su.

Aucun langage imposé, tout simplement parce qu'il n'est pas obligatoire de faire un programme !
Seule contrainte, le keylogger doit stocker le(s) mot(s) de passe dans un fichier précèdé du login.

$su
passwd:Z1a262nyu56


$cat /tmp/keyresult.txt
root : Z1a262nyu56

A Ciao smiling smiley





Poste le Wednesday 11 May 2005 23:17:37
Répondre     Citer    
Re: Les mini défis de léa smiling smiley
Envoyé par: tuxfanch

Le but du mini-défi que j'ai fait en 2s était tout simplement d'être très mini et pas tellement défi ; un simple point d'entrée, une sorte de helloworld ... J'en reviens à ce que je disais, s'il faut 6 mois pour réussir à passer la moindre étape, on apprend rien car on se perd.
C'est un peu comme les challenges de hack qui fleurissent sur le net : rien ne sert de chercher à faire tout de suite compliqué, sinon on arrive seulement à se planter.

le jeu du Marienbad est sympa (mais je doute que ça déchaine les foules ...) ; pour sa conception, ça n'est pas si compliqué que ça : un simple architecture client serveur permet de s'affranchir de tout problème de langage et d'hôte.
Comme toujours, il faut juste savoir exactement ce que l'on veut que ça fasse ... l'implémentation n'est que très rarement complexe quand les spécifications sont claires.

Raph__ : dans mes souvenirs, une commande bash permet de lire une entrée sans qu'elle soit affichée à l'écran, à partir de là, il suffit de faire une fausse commande su qui trace ce qui va bien puis qui lance un vrai su ? sinon, en jouant avec termio.h, ça doit le faire ... (enfin je dis ça, j'ai pas réfléchi).




------- <br />
La meilleure façon de prédire le futur, c'est de l'inventer ~ Alan Kay

Poste le Thursday 12 May 2005 00:06:35
Répondre     Citer    
Re: Les mini défis de léa smiling smiley
Envoyé par: debusy

Au fait, merci tuxfanch pour ton example de programmation en python. Depuis le temps que je voulais apprendre ce langage. Ton intervention m'a fait réaliser mon premier script et en peu de temps. C'est vraiment idéal pour créer de petites interfaces graphiques pour ceux qui ont du mal avec la ligne de commande par example.

---
N'oublie pas que le grand chêne a été un jour un petit gland.

Poste le Sunday 15 May 2005 13:51:43
Répondre     Citer    
Re: Les mini défis de léa smiling smiley
Envoyé par: tuxfanch

vu que ça fait plus de deux semaines, je poste le helloworld ; ceux qui ne veulent pas lire sautent le post :

(bon, le but était d'être simple ; tel que c'est codé, y'a de la faille de sécurité ...)

vu que phorum bouffe les espaces et que c'est légèrement crucial en python, j'ai tabulé avec :-) ...

#!/usr/bin/env python
# -*- coding:iso8859 -*-

import pygtk
import gtk
import md5


class CMainWindow:
:-)"""
:-)Classe principale d'affichage de la fenêtre
:-)"""
	
:-)#Callback du bouton "calculer !"
:-)#cette méthode est privée, c'est pourquoi elle commence par __
:-)def __btnCalc_clicked(self, widget, data=None):
:-):-)#Lecture de la chaine a encoder
:-):-)strBuffer = self.entClear.get_text()
:-):-)#Creation de la signature MD5
:-):-)md5Signature = md5.new(strBuffer)
:-):-)#Affichage du resultat
:-):-)self.lblResult.set_text(md5Signature.hexdigest())
	
:-)#Callback de fermeture de la fenêtre
:-)def __delete_event(self, widget, event, data=None):
:-):-)#return False autorise la fermeture de la fenêtre
:-):-)#si on met return True alors on ne peut fermer
:-):-)#la fenêtre en cliquant sur la croix en haut à droite
:-):-)return False
	
:-)#Callback de destruction
:-)#fermeture réelle de la fenêtre
:-)def __destroy(self, widget, data=None):
:-):-)gtk.main_quit()
	
:-)#Constructeur
:-)def __init__(self):
:-):-)#Creation de la fenêtre
:-):-)self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
		
:-):-)#connexion du signal de destruction
:-):-)self.window.connect("destroy", self.__destroy)
		
:-):-)#Création du bouton
:-):-)self.btnCalc = gtk.Button("Calculer !")
		
:-):-)#Connexion de la Callback du bouton
:-):-)self.btnCalc.connect("clicked", self.__btnCalc_clicked, None)
		
:-):-)#Création de la gtkEntry
:-):-)self.entClear = gtk.Entry(max=0)
		
:-):-)#Création du gtkLabel
:-):-)self.lblResult = gtk.Label("")
		
:-):-)#Création de la VBox principale
:-):-)self.Box = gtk.VBox()
		
:-):-)#Packaging des widgets
:-):-)self.Box.pack_start(self.entClear)
:-):-)self.Box.pack_start(self.lblResult)
:-):-)self.Box.pack_start(self.btnCalc)
		
:-):-)#Ajout de la box à la fenêtre
:-):-)self.window.add(self.Box)
		
:-):-)#Visibilité des widgets
:-):-)self.window.show_all()
	
:-)#Méthode de lancement de l'interface
:-)def main(self):
:-):-)gtk.main()
		
		
		
if __name__ == "__main__":
:-)Defi1 = CMainWindow()
:-)Defi1.main()

------- <br />
La meilleure façon de prédire le futur, c'est de l'inventer ~ Alan Kay

Poste le Sunday 15 May 2005 16:05:02
Répondre     Citer    
Re: Les mini défis de léa smiling smiley
Envoyé par: Raph__

Citation
Tuxfanch
Raph__ : dans mes souvenirs, une commande bash permet de lire une entrée sans qu'elle soit affichée à l'écran, à partir de là, il suffit de faire une fausse commande su qui trace ce qui va bien puis qui lance un vrai su ? sinon, en jouant avec termio.h, ça doit le faire ... (enfin je dis ça, j'ai pas réfléchi).

Tout à fait, un alias, un read -s et pourquoi pas un printf pour faire plus vrai. Mais bon on ne peut pas appeler ça un keylogger. Enfin je n'ai pas la définition exact de keylogger...

Par keylogger j'entendais, programme/moyen permettant d'intercepter l'entrée standard.
Un peu comme le fait xev, d'ailleurs on peut utiliser xev.

Citation
Tuxfanch
sinon, en jouant avec termio.h
C'est là que c'est le plus intéressant. Je n'ai pas encore essayer, mais je pense qu'on risque d'être limité par le fait qu'il faudra surement ouvrir /dev/console et que seul root peut le faire.


A Ciao



Poste le Sunday 15 May 2005 18:00:55
Répondre     Citer    
Re: Les mini défis de léa smiling smiley
Envoyé par: lloyds

ça a l'air intéressant vos défis je me serais bien laissé tenté mais bon je ne connais pas ssez de lanage ni assez bien et aussi j'ai pas trop le temps pour ça.

Mais continuez c'est très intéressant

--
Adolescent attardé et fier de l'être

Poste le Wednesday 18 May 2005 13:22:28
Répondre     Citer    
Aller à la page:  Page précédente 1 2
Page: 2 sur 2

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
Les mini défis de léa
Pour poser vos questions sur les scripts shell, le Perl, le C, etc... Attention : nous ne sommes pas des spécialistes du dev, ce forum est juste pour de petites aides ponctuelles concernant le développement et les outils de développement.
Nouveau sujet sur ce forum

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons