This is an old revision of the document!
TODO: Descriere scurtă
Arhiva de suport pentru exerciții se găsește aici. Descărcați arhiva și apoi decomprimați-o folosind comenzile:
wget http://koala.cs.pub.ro/training/res/secure-low-level-programming/arc/09-utilitare-de-analiza-cod-skel.zip unzip 09-utilitare-de-analiza-cod-skel.zip cd 09-utilitare-de-analiza-cod-skel/
Accesăm directorul hidden-bugs/
din arhiva de suport.
Fișierul cod sursă hidden-bugs.c
conține 8 erori de programare. Identificați-le parcurgând manual codul (code audit). Lucrați în echipe de 2-3 persoane.
După aceasta folosiți utilitarele cppcheck
, splint
și scan-build
pentru a verifica static prezența erorilor.
Moduri uzuale de rulare:
cppcheck --enable=all hidden-bugs.c splint hidden-bugs.c scan-build make
Folosiți utilitarele cppcheck
, scan-build
și splint
pentru a verifica fișierele ce conțin buffer overflow-uri din sesiunea 06
.
Accesăm directorul picpic/
din arhiva de suport.
Verificați codul sursă din cadrul directorului folosind utilitarele cppcheck
, splint
și scan-build
.
Accesăm directorul valgrind/
din arhiva de suport.
Urmăriți codul din fișierul cod sursă vuln.c
și rulați executabilul vuln
. Executabilul primește ca argument un număr care se asociează cu o anumită funcție din program ce va fi executată. Rulați programul sub Valgrind în forma:
valgrind ./vuln 1
Vedeți rezultatul afișat de Valgrind și validați depistarea erorilor de folosire a memoriei.