Quelques idées, envies,… ====== Software ====== * Faire fonctionner un logiciel de reconnaissance automatique de la parole * Faire un outil d’extraction / décryptage des mots de passes enregistrés dans Firefox fonctionnant sous linux en ligne de commande * http://korben.info/les-mots-de-passe-sous-firefox.html * Jouets autour du format ELF * Rajouter / modifier des données dans un binaire (de manière similaire aux ressources du format PE) * Un packer pour ELF (copiant les méthodes existant sous Windows) * Un execve en userland [[http://plash.beasts.org/wiki/UserModeExec|existe déjà]] -> projet pédagogique pour comprendre tout ce qu’il se passe côté noyau. Idée d’amélioration : Faire du [[http://en.wikipedia.org/wiki/Return-oriented_programming|rop]] pour décharger la dernière lib avant de lancer le nouveau processus. * Patcher [[http://hte.sourceforge.net/|ht]] (un outil qui fait notamment du désassemblage) * Rajouter des symboles @plt à la place des //wrapper// tout moisis * Rajouter le support des .o * Rajouter le support des .ko * Rajouter le support des //core dump// * Amélioration du décompilateur [[http://boomerang.sourceforge.net/|boomerang]] pour le rendre au moins aussi bon que le plugin [[http://www.hex-rays.com/products/decompiler/index.shtml|hexrays]] d’[[http://www.hex-rays.com/products/ida/index.shtml|IDA]] * Un désobfuscateur de binaire (peut-être dans boomerang) * Un petit OS pour mieux comprendre Linux * Un hyperviseur pour Linux + l’OS sus-codé * Un “proxy X11” pour détacher / attacher les applications graphiques comme [[http://fr.wikipedia.org/wiki/GNU_Screen|screen]] avec les applications en terminal. * Edit : [[http://en.wikipedia.org/wiki/Xmove|xmove]] et [[http://en.wikipedia.org/wiki/Xpra|xpra]] font déjà ça -> projet pédagogique pour comprendre le protocole X11. * Un “suspend to disk” d’un processus isolé : snapshot et restauration (projet relativement lié à l’execve en userland) * Un terminal simple * Modifier le terminal par défaut de Linux pour qu’il soit compatible VT100 et plus ====== Programmation hardware / µ-contrôleur ====== * Piloter un axe d’imprimante, de plastifieuse,.. * http://www.azega.com/controlling-a-stepper-motor-with-an-arduino * http://www.arduino.cc/en/Tutorial/Stepper * Jouer avec le système de [[http://fr.wikipedia.org/wiki/Gameboy|GameBoy]] classique * Quelques trucs amusants : [[http://tasvideos.org/3256S.html|Lancer les crédits de fin de jeu en exploitant des bugs]], [[http://hackaday.com/2012/11/24/programming-a-game-boy-while-playing-pokemon/|écrire un programme juste avec les boutons de la console]] * Dumper une ROM de cartouche * Émuler une cartouche depuis le PC * Faire du reversing / décompilation de ROM * Reprogrammer une cartouche * Faire joujou avec le décodeur du lecteur DVD / DivX ZORAN ZR36966ELCG * Le reprogrammer (beaucoup d’entrées / sorties) * Chercher à obtenir sa clé de décodage DVD ====== Robotique ====== * Des robots en [[http://fr.wikipedia.org/wiki/Pendule_invers%C3%A9|pendule inversé]] * Un robot à deux roues façon [[http://fr.wikipedia.org/wiki/Gyropode|gyropode]] * Un robot à deux roues façon [[http://www.youtube.com/watch?v=A5Uvdx0IyXo|moto / vélo]] * Un robot à une roue façon monocycle * Si tout ça est trop simple : rajouter [[http://www.youtube.com/watch?v=B6vr1x6KDaY|un]] ou [[http://www.youtube.com/watch?v=Ep2lNMic_fk|deux]] autres [[http://www.youtube.com/watch?v=cyN-CRNrb3E|niveaux de pendule]] * De toutes façons, avec des roues c’est trop simple, [[http://www.darpa.mil/NewsEvents/Releases/2012/12/06.aspx|un robot volant c’est mieux]] * Leur rajouter des capteurs pour [[http://www.youtube.com/watch?v=M8YNhIpdzQ0#t=303s|s’orienter]] [[http://www.youtube.com/watch?v=3hAH5L-__0Q|dans un]] [[http://www.youtube.com/watch?v=A4hzCcFikm0|labyrinthe]] * Faire un robot [[http://www.youtube.com/watch?v=_d0LfkIut2M|résolveur de rubik’s cube]] ([[http://www.speedsolving.com/wiki/index.php/List_of_cube_solving_robots|y’a de quoi s’inspirer]]) ====== Divers ====== * Installer une GNU/Hurd -> [[C’est fait|LOL-Hurd]] ! * Faire mumuse avec un EEG * https://github.com/qdot/emokit * http://openvibe.inria.fr/ * http://openeeg.sourceforge.net/doc/ * Fabriquer une [[http://www.youtube.com/watch?v=aqAUmgE3WyM|useless box]]