User Tools

Site Tools


laboratoare:laborator-08

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
Next revision Both sides next revision
laboratoare:laborator-08 [2015/12/01 23:38]
adrian.bogatu [analiza dinamica/gdb cu exercitii de debugging asociate]
laboratoare:laborator-08 [2015/12/02 00:58]
adrian.bogatu [Tutoriale și exerciții]
Line 2: Line 2:
  
 După un scurt breviar care va explica noțiunile introduse în acest laborator, va urma o parte practică care alternează între secțiuni de tip tutorial, cu parcurgere pas cu pas și prezentarea soluției, și exerciții care trebuie să fie rezolvate. După un scurt breviar care va explica noțiunile introduse în acest laborator, va urma o parte practică care alternează între secțiuni de tip tutorial, cu parcurgere pas cu pas și prezentarea soluției, și exerciții care trebuie să fie rezolvate.
 +
 ===== Interfața în linia de comanda ===== ===== Interfața în linia de comanda =====
  
-Deși folosirea unui mediu grafic pentru programare ​este facilă, de multe ori folosirea liniei de comandă oferă mai multă putere și control asupra a ceea ce vrem să facem. În plus, folosirea utilitarelor din linia de comandă ​ în scripturi poate facilita automatizarea unor task-uri, lucru care ne va face viața mai ușoară în nenumărate cazuri.+Deși folosirea unui mediu grafic pentru programare ​poate părea mai atractivă, de multe ori folosirea liniei de comandă oferă mai multă putere și control asupra a ceea ce vrem să facem. În plus, folosirea utilitarelor din linia de comandă ​ în scripturi poate facilita automatizarea unor task-uri, lucru care ne va face viața mai ușoară în nenumărate cazuri.
  
 În cadrul acestui laborator, vom folosi utilitare în linia de comandă atât pentru asamblarea și link-editarea fișierelor sursă, cât și pentru analiza statică și dinamică a programelor obținute din parcurgerea tutorialelor și a exercițiilor. În cadrul acestui laborator, vom folosi utilitare în linia de comandă atât pentru asamblarea și link-editarea fișierelor sursă, cât și pentru analiza statică și dinamică a programelor obținute din parcurgerea tutorialelor și a exercițiilor.
 +
 ===== Analiza statică ===== ===== Analiza statică =====
  
Line 36: Line 38:
   * as zice debug program (dar ar fi practic sa existe cate un exercitiu de genu' la fiecare din comenzile mentionate anterior, mai ales la partile care incep cu "print something"​)   * as zice debug program (dar ar fi practic sa existe cate un exercitiu de genu' la fiecare din comenzile mentionate anterior, mai ales la partile care incep cu "print something"​)
   * debug segfault   * debug segfault
 +
 +===== Tutoriale și exerciții =====
 +
 +În cadrul exercițiilor vom folosi arhiva de laborator.
 +
 +Descărcați arhiva, decomprimați-o și accesați directorul aferent.
 +
 +<note warning>
 +Decât dacă se specifică altfel în cerință, toate utilitarele vor fi rulate din linia de comandă. Bineînțeles,​ puteți folosi orice editor text pentru a rezolva exercițiile (chiar și SASM), însă asamblarea, link-editarea etc. vor fi făcute din interfața în linia de comandă.
 +</​note>​
 +
 +==== [0.5p] 1. Tutorial: Asamblarea din linia de comandă ====
 +==== [0.5p] 2. Tutorial: Link-editarea unui fișier obiect ====
 +==== [1.5p] 3. cat (sau echo?) ====
 +==== [0.5p] 4. Tutorial: Link-editarea mai multor fișiere obiect ====
 +==== [1.5p] 5. Completarea funcțiilor ajutătoare ====
 +==== [1p] 6. Tutorial: GDB ====
 +==== [0.5p] 7. Afișarea unor informații la fiecare trecere printr-un breakpoint ====
 +==== [1p] 8. Afișarea adresei de retur a unei funcții ====
 +==== [0.5p] 9. Tutorial: Depanarea unui Segfault folosind GDB ====
 +==== [1.5p] 10. Rezolvarea unui Segfault ====
 +==== [1p] 11. Tutorial: IDA ====
 +==== [1.5p] Bonus: Modificarea control-flow-ului unui program folosind GDB ====
 +==== [2p] Bonus: Decompilarea unui program folosind IDA ====
 +
 +
 +
laboratoare/laborator-08.txt · Last modified: 2015/12/02 12:31 by vladimir.diaconescu