This shows you the differences between two versions of the page.
tsc:laboratoare:laborator-09 [2025/05/08 15:25] matei.calugaru [Exerciții] |
tsc:laboratoare:laborator-09 [2025/05/12 13:42] (current) matei.calugaru [Fuzz testing] |
||
---|---|---|---|
Line 72: | Line 72: | ||
Pentru acest laborator vom folosi fuzzer-ul atheris. | Pentru acest laborator vom folosi fuzzer-ul atheris. | ||
<note tip><code teraterm> | <note tip><code teraterm> | ||
- | $pip install atheris | + | Atheris supports Linux (32- and 64-bit) and Mac OS X, Python versions 3.6-3.11. |
</code></note> | </code></note> | ||
+ | <note tip><code teraterm> | ||
+ | $pip install atheris | ||
+ | </code></note> | ||
Line 98: | Line 101: | ||
{{:tsc:laboratoare:result_atheris.jpeg?600|}} | {{:tsc:laboratoare:result_atheris.jpeg?600|}} | ||
- | În același fișier în care se află executabilul atheris va genera un nou fișier text cu numele hash-ului generat, în care va scrie input-urile care au dus la generarea erorilor. În cazul de mai sus va crea dun fișier care conține doar cuvântul "bad" | + | În același fișier în care se află executabilul atheris va genera un nou fișier text cu numele hash-ului generat, în care va scrie input-urile care au dus la generarea erorilor. În cazul de mai sus va crea un fișier care conține doar cuvântul "bad". |
Pentru a-i putea spune lui atheris care părți din cod trebuie instrumentate. Pentru a face acest lucru avem 3 opțiuni: | Pentru a-i putea spune lui atheris care părți din cod trebuie instrumentate. Pentru a face acest lucru avem 3 opțiuni: | ||
Line 141: | Line 144: | ||
Dacă folosiți un fork al repo-ului, asigurați-vă că este sincronizat cu repo-ul principal. | Dacă folosiți un fork al repo-ului, asigurați-vă că este sincronizat cu repo-ul principal. | ||
- | TODO-urrile sunt scrise pentru fiecare exercitiu in repo. | + | TODO-urile sunt scrise pentru fiecare exercitiu in repo. |