User Tools

Site Tools


secure-low-level-programming:capitole:09-utilitare-de-analiza-cod

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
secure-low-level-programming:capitole:09-utilitare-de-analiza-cod [2018/12/21 10:08]
razvan [Symbolic Execution]
secure-low-level-programming:capitole:09-utilitare-de-analiza-cod [2018/12/21 14:14] (current)
razvan [Symbolic Execution]
Line 33: Line 33:
 sudo apt install clang cppcheck splint valgrind sudo apt install clang cppcheck splint valgrind
 </​code>​ </​code>​
 +
 ==== Auditare cod ==== ==== Auditare cod ====
  
Line 47: Line 48:
 scan-build make scan-build make
 </​code>​ </​code>​
 +
 +<note tip>
 +Ignorați erori legate de fișiere incluse în rezultatul rulării comenzii ''​cppcheck''​.
 +</​note>​
  
 Foarte probabil veți vedea că utilitarele nu depistează multe erori. Multe erori nu pot fi depistate cu utilitare de analiză, ci mai degrabă de un observator uman. Foarte probabil veți vedea că utilitarele nu depistează multe erori. Multe erori nu pot fi depistate cu utilitare de analiză, ci mai degrabă de un observator uman.
Line 59: Line 64:
  
 Verificați codul sursă din cadrul directorului folosind utilitarele ''​cppcheck'',​ ''​splint''​ și ''​scan-build''​. Verificați codul sursă din cadrul directorului folosind utilitarele ''​cppcheck'',​ ''​splint''​ și ''​scan-build''​.
- 
-<note tip> 
-Pentru a rula ''​cppcheck''​ și să țină cont de bibliotecile de sistem, folosiți comanda 
-<​code>​ 
-cppcheck --enable=all -I /​usr/​include/​ -I /​usr/​include/​linux/​ -I /​usr/​lib/​gcc/​x86_64-linux-gnu/​5/​include/​ --check-config main.c 
-</​code>​ 
-Înlocuiți ''​main.c''​ cu numele fișierului pe care doriți să-l investigați. 
-</​note>​ 
  
 ==== Valgrind ==== ==== Valgrind ====
Line 115: Line 112:
 git clone https://​github.com/​angr/​angr-doc git clone https://​github.com/​angr/​angr-doc
 </​code>​ </​code>​
 +În urma comenzii de mai sus se creează directorul ''​angr-doc/''​.
  
-Testați exemplul din ''​examples/​strcpy_find''​ din repository-ul clonat, ​exemplu descris și [[https://​docs.angr.io/​examples#​beginner-vulnerability-discovery-example-strcpy_find|aici]].+Testați exemplul din ''​angr-doc/examples/​strcpy_find''​ din exemplu descris și [[https://​docs.angr.io/​examples#​beginner-vulnerability-discovery-example-strcpy_find|aici]] ​prin rularea comenzii: 
 +<​code>​ 
 +python solve.py 
 +</​code>​ 
 +Scriptul Python va "​exploata"​ executabilul ''​strcpy_find''​ folosind execuție simbolică și va obține parola cerută. Parcurgeți scriptul ''​solve.py''​ pentru o primă perspectivă asupra Angr. Nu e nevoie să înțelegeți,​ doar să știți că există.
  
secure-low-level-programming/capitole/09-utilitare-de-analiza-cod.1545379706.txt.gz · Last modified: 2018/12/21 10:08 by razvan