This shows you the differences between two versions of the page.
uso:teme:tema-4 [2017/12/15 12:59] acaciulescu [Informații generale] |
uso:teme:tema-4 [2019/10/22 17:10] (current) razvan.serban |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | <hidden> | ||
====== Tema 4 ====== | ====== Tema 4 ====== | ||
Line 22: | Line 23: | ||
<note important> | <note important> | ||
- | Deadline: **10 Ianuarie**\\ | + | Deadline: **10 Ianuarie 2018, ora 23:55**\\ |
Timp de lucru: **Enough**\\ | Timp de lucru: **Enough**\\ | ||
Punctaj: **0.8 puncte** din nota finală\\ | Punctaj: **0.8 puncte** din nota finală\\ | ||
- | Formular pentru trimitere temă: TODO\\ | + | Formular pentru trimitere temă: [[ https://docs.google.com/forms/d/1msG5ZoiiQdPHX8OMsTLBydXoOv-v-6dZ7hZGoe4lJ1s | Formular submitere ]] |
</note> | </note> | ||
<note> | <note> | ||
**Actualizări enunț:** | **Actualizări enunț:** | ||
+ | * 4 Ian 2018 V2 | ||
+ | * Task01 - Update enunt rail-fence, poate contine caractere alfanumerice, linie ''-'', virgula '','' si spatii. | ||
</note> | </note> | ||
<note> | <note> | ||
**Actualizări checker:** | **Actualizări checker:** | ||
+ | * 19 Dec 2017 V6 | ||
+ | * Task02 - update checker, acum checker-ul accepta si combinatii de space/tabs in configurare | ||
+ | * 19 Dec 2017 V5 | ||
+ | * Task04 - update checker anti-cheating | ||
+ | * 19 Dec 2017 V4 | ||
+ | * Task03 - update checker | ||
+ | * 18 Dec 2017 V3 | ||
+ | * Task02 - update checker | ||
* 15 Dec 2017 V2 | * 15 Dec 2017 V2 | ||
* Task01 - update teste pentru ''xor.sh'' | * Task01 - update teste pentru ''xor.sh'' | ||
Line 104: | Line 115: | ||
* argumentul 2 reprezintă textul care se va cripta/decripta | * argumentul 2 reprezintă textul care se va cripta/decripta | ||
* argumentul 3 reprezintă cheia | * argumentul 3 reprezintă cheia | ||
- | * Se garanteaza ca input pentru acest cipher doar caractere din alfabetul latin si spatii. | + | * Se garanteaza ca input pentru acest cipher doar caractere alfanumerice, spatii, linie ''-'' si virgula '',''. |
* Mai multe detalii despre Rail-Fence Cipher gasiti aici: [[https://en.wikipedia.org/wiki/Rail_fence_cipher|Wiki]] | * Mai multe detalii despre Rail-Fence Cipher gasiti aici: [[https://en.wikipedia.org/wiki/Rail_fence_cipher|Wiki]] | ||
* Exemplu de folosire a scriptului ''rail-fence.sh'': | * Exemplu de folosire a scriptului ''rail-fence.sh'': | ||
Line 118: | Line 129: | ||
==== Task 02 (20p) ==== | ==== Task 02 (20p) ==== | ||
+ | |||
+ | <note warning> | ||
+ | Este recomandata testarea individuala a acestui task folosind ''sudo uso check 2''. | ||
+ | |||
+ | **Testarea va dura aproximativ un minut.** Be patient! | ||
+ | </note> | ||
Vă aflați în folderul ''/home/student/tema04/task02''. | Vă aflați în folderul ''/home/student/tema04/task02''. | ||
Line 152: | Line 169: | ||
==== Task 03 (20p) ==== | ==== Task 03 (20p) ==== | ||
- | TBA | + | <note warning> |
+ | Acest task se va testa direct pe VM, fara conexiuni de ssh de pe masina host. | ||
+ | |||
+ | De asemenea este recomandat sa il testati individual folosind ''sudo uso check 3''. **Nu tastati nimic in timp ce se executa scriptul de testare!** Dupa terminarea checker-ului este posibil sa nu mai apara nimic din ce tastati la terminal desi comenzile merg in continuare. Daca se intampla acest lucru tastati ''reset'' si terminal va reveni la normal. | ||
+ | </note> | ||
+ | |||
+ | Vă aflați în folderul ''/home/student/tema04/task03''. Pentru acest task va trebui sa implementati un [[https://en.wikipedia.org/wiki/Keystroke_logging|keylogger]] simplificat, acesta este un software care va inregistra tot ce se scrie la tastatura. | ||
+ | Linux va pune la dispozitie un anumit utilitar care va rezolva mare parte din munca. | ||
+ | |||
+ | <note> | ||
+ | Hint: ''man showkey'' | ||
+ | |||
+ | Cititi cu atentie manualul, nu este nevoie de bucle infinite pentru acest task! | ||
+ | </note> | ||
+ | |||
+ | Creati scriptul de bash ''keylogger.sh'' care va intercepta cand se apasa o tasta si va inregistra totul in ''output.log'' intr-o forma **human readible**. Exemplu de utilizare/testare/output: | ||
+ | |||
+ | <code bash> | ||
+ | [student@usovm]$ sudo ./keylogger.sh | ||
+ | |||
+ | </code> | ||
+ | |||
+ | Dupa ce am dat enter porneste procesul si terminalul curent ramane aparent neresponsiv. Intre timp tastez "# loktar ogar<enter>". Dupa ce se termina scriptul inspectam rezultatul. | ||
+ | |||
+ | <code bash> | ||
+ | [student@usovm]$ cat output.log | ||
+ | |||
+ | 3 loktar ogar | ||
+ | </code> | ||
+ | |||
+ | Va trebui sa interceptati doar caracterele alfanumerice, spatiu si enter. A se observa ca ''#'' a fost capturat ca ''3'' in acest exemplu. | ||
==== Task 04 (30p) ==== | ==== Task 04 (30p) ==== | ||
Line 165: | Line 212: | ||
+ | </hidden> |