====== Gnu Debugger et Peda pour débuter le débuggage en C ====== ===== Gdb et UI en python ===== - Installer gdb + peda pour une aide « grahique » dans votre terminal https://mamot.fr/@XavCC/102989902429089282 - Ajout de Voltron à GDB https://github.com/snare/voltron - https://github.com/snare/voltron/wiki/Installation - Ou GEF https://github.com/hugsy/gef après installation de ''voltron'' avec ''pip3'', dans ''.gdbinit'' source ~/peda/peda.py source /usr/local/lib/python3.6/dist-packages/voltron/entry.py set disassembly-flavor intel set pagination off unset env LINES unset env COLUMNS ''gdb'' fournit quelques commandes supplémentaires pour contrôler ce qui se passe lorsque la commande ''break'' ne peut pas résoudre la spécification de l'adresse du point d'arrêt à une adresse : * ''set breakpoint pending auto'' : C'est le comportement par défaut. Lorsque ''gdb'' ne peut pas trouver l'emplacement du point d'arrêt, il vous demande si un point d'arrêt en attente doit être créé. * ''set breakpoint pending on'' : Ceci indique qu'un emplacement de point d'arrêt non reconnu devrait automatiquement entraîner la création d'un point d'arrêt en attente. * ''set breakpoint pending off'' Ceci indique que les points d'arrêt en attente ne doivent pas être créés. Toute position de point d'arrêt non reconnue entraîne une erreur. Ce réglage s'effectue dans ''.gdbinit'' {{capture_du_2020-01-02_12-29-17.png}} ===== Quelques bases de debuggers et exercices en C ===== - les principaux debuggers, courte fiche en fr, GNU/Linux et un exercice en fin de fiche https://gist.github.com/GreenCandlePrinter/efb650c69de706b367ba - 38 diapos d'un cours des Mines avec aussi initiation au C https://www-apr.lip6.fr/~mine/enseignement/prog2006/cours5.pdf ===== Débogguer et exploiter ===== - PDF, notions de base pour comprende des techniques exploit en C {{introexploit-120613131925-phpapp02_1_.pdf}} - Exemple de programme à deboguer avec un fichier d'entrée (INRIA) https://www.rocq.inria.fr/secret/Anne.Cant