User Tools

Site Tools


secure-low-level-programming:capitole:02-spatii-de-adrese

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:02-spatii-de-adrese [2018/12/17 08:51]
razvan
secure-low-level-programming:capitole:02-spatii-de-adrese [2018/12/17 17:06] (current)
razvan [Spațiul de adrese]
Line 22: Line 22:
 </​code>​ </​code>​
  
-==== Exercițiu 1 ====+==== Spațiul de adrese ​====
  
-Accesăm directorul ''​lalala/''​ din arhiva de suport.+Accesăm directorul ''​address-space/''​ din arhiva de suport.
  
-TODO+Urmăriți conținutul fișierului ''​prog.c''​ și rulați executabilul ''​prog''​.
  
-==== Exercițiu 2 ====+Într-o altă consolă rulați comanda 
 +<​code>​ 
 +pmap -p $(pidof prog) 
 +</​code>​ 
 +Comanda afișează spațiul virtual de adrese al procesului.
  
-Accesăm directorul ''​lalala/''​ din arhiva ​de suport.+Dacă doriți să urmăriți continuu (automat) spațiul virtual ​de adrese al procesului, rulați comanda 
 +<​code>​ 
 +watch -d -n 1 pmap -p $(pidof prog) 
 +</​code>​
  
-TODO+Treceți prin fiecare pas în program și rulați comanda de mai sus la fiecare pas pentru a vedea cum se modifică (sau nu) zonele din spațiul virtual de adrese al procesului.
  
-==== Exercițiu 3 ====+Faceți o modificare ca să alocați (într-o buclă, cel mai simplu) de 10 ori memorie de fiecare fel.
  
-Accesăm directorul ''​lalala/''​ din arhiva de suport.+==== Acces read-write ====
  
-TODO+Accesăm directorul ''​read-write-areas/''​ din arhiva de suport. 
 + 
 +Urmăriți conținutul fișierului ''​prog.c''​ și rulați executabilul ''​prog''​. Generați accesarea de fiecare tip (//read// sau //write//) a fiecărei zone de mari de memorie a unui proces. De ce la unele primiți //​segmentation fault//? 
 + 
 +==== Acces peste limite ==== 
 + 
 +Accesăm directorul ''​over-the-edge/''​ din arhiva de suport. 
 + 
 +Urmăriți conținutul fișierului ''​vuln.c''​ și rulați executabilul ''​vuln''​. Observați cum accesarea dincolo de limitele buffer-ului nu generează //​segmentation fault//. 
 + 
 +Modificați programul pentru a vedea la ce index din cadrul fiecărei zone (''​data'',​ ''​stack'',​ ''​heap''​) obțineți //​segmentation fault//.
  
  
secure-low-level-programming/capitole/02-spatii-de-adrese.1545029512.txt.gz · Last modified: 2018/12/17 08:51 by razvan