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/20 16:50]
razvan [Exerciții]
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 48: Line 49:
 </​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.
  
 ==== Verificare cod anterior ==== ==== Verificare cod anterior ====
Line 85: Line 91:
  
 Urmăriți indicațiile de [[https://​github.com/​angr/​angr-doc/​blob/​master/​INSTALL.md#​installing-angr|aici]] pentru instalarea Angr. Urmăriți indicațiile de [[https://​github.com/​angr/​angr-doc/​blob/​master/​INSTALL.md#​installing-angr|aici]] pentru instalarea Angr.
 +
 +<note important>​
 +Pe versiunea de Ubuntu din sistemele din sala PR708 nu funcționează comanda ''​mkvirtualenv''​. Folosiți următoarele două comenzi pentru a crea un mediu virtual în care să instalați și rulați ''​angr'':​
 +<​code>​
 +virtualenv angr
 +cd angr
 +source ./​bin/​activate
 +</​code>​
 +
 +Acum puteți install ''​angr''​ folosind comanda ''​pip''​ așa cum e indicat în [[https://​github.com/​angr/​angr-doc/​blob/​master/​INSTALL.md#​installing-angr|documentație]].
 +
 +Dacă doriți să părăsiți mediul virtualenv folosiți comanda
 +<​code>​
 +deactivate
 +</​code>​
 +</​note>​
  
 Clonați repository-ul de exemple Angr de [[https://​github.com/​angr/​angr-doc|aici]] folosind coamnda Clonați repository-ul de exemple Angr de [[https://​github.com/​angr/​angr-doc|aici]] folosind coamnda
Line 90: 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 ''​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ă.
  
-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]]. 
secure-low-level-programming/capitole/09-utilitare-de-analiza-cod.1545317455.txt.gz · Last modified: 2018/12/20 16:50 by razvan