This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
secure-low-level-programming:capitole:09-utilitare-de-analiza-cod [2018/12/20 17:06] razvan [Auditare cod] |
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 86: | 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 91: | 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]]. |