This shows you the differences between two versions of the page.
iocla:utile [2021/10/11 10:03] razvan.deaconescu |
— (current) | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Resurse utile ====== | ||
- | |||
- | Aici veți găsi o suită de resurse extra pentru cei ce vor să aprofundeze ceea ce se învață în cadrul laboratorului, precum și cei pur și simplu curioși. | ||
- | |||
- | Pentru a urmări ultimele informații legate de IOCLA, abonați-vă la [[http://ocw.cs.pub.ro/courses/feed.php?ns=iocla&mode=recent&linkto=diff&content=diff|feed-ul RSS pentru wiki-ul de IOCLA]]. | ||
- | |||
- | ===== Mașini virtuale ===== | ||
- | |||
- | ==== Mașină virtuală de Linux ==== | ||
- | |||
- | Mașina virtuală de Linux dedicată temelor/laboratorului de IOCLA se găsește [[http://repository.grid.pub.ro/cs/iocla/vm/|aici]], în format OVA (fișierul ''IOCLA_VM_LUBUNTU.ova''). Pentru accesarea paginii va trebui să introduceți datele de conectare de pe cs.curs.pub.ro. Mașina virtuală poate fi importată atât în [[https://www.virtualbox.org/|VirtualBox]] cât și în [[https://my.vmware.com/web/vmware/free#desktop_end_user_computing/vmware_workstation_player/12_0|VMware Workstation Player]]. Mașina virtuală este folosită pe [[https://vmchecker.cs.pub.ro/ui/#IOCLA|vmchecker]] pentru testarea temelor de casă. | ||
- | |||
- | Mașina virtuală folosește sistemul de operare GNU/Linux Lubuntu 18.04 LTS pe 64 biți. Are în cadrul său pachetele utile pentru dezvoltarea de programe în limbaj de asamblare. | ||
- | |||
- | Pentru autentificarea în cadrul mașinii virtuale folosiți numele de utilizator ''student'' cu parola ''student''. Utilizatorul ''student'' are privilegii complete. | ||
- | |||
- | === Utilitare instalate pe mașina virtuală === | ||
- | |||
- | * [[https://packages.ubuntu.com/search?keywords=gcc-multilib|gcc-multilib]], [[https://gcc.gnu.org/|gcc]], [[https://www.nasm.us/|nasm]], [[http://manpages.ubuntu.com/manpages/xenial/man1/make.1.html|make]] | ||
- | * [[https://linux.die.net/man/1/objdump|objdump]], [[https://linux.die.net/man/1/nm|nm]] | ||
- | * [[https://ghidra-sre.org/|Ghidra]], [[https://www.hex-rays.com/products/ida/|IDA]] | ||
- | * [[https://github.com/pwndbg/pwndbg|pwndbg]] (recomandat), [[https://gef.readthedocs.io/en/master/|GEF]] | ||
- | * Editoare de text ([[https://www.vim.org/|vim]], [[https://www.sublimetext.com/|Sublime]], [[https://code.visualstudio.com/|Visual Studio Code]]) | ||
- | * [[https://www.teamviewer.com/en/|Teamviewer]], [[https://tmate.io/|tmate]] | ||
- | * [[https://www.python.org/downloads/release/python-2717/|Python 2.7.12]] | ||
- | * [[https://www.python.org/downloads/release/python-369/|Python 3.6.9]] | ||
- | * [[http://rada.re/r/|Radare]] | ||
- | |||
- | === Known issues === | ||
- | |||
- | * Folosind VirtualBox, este posibil ca mașina virtuală să nu funcționeaze dacă este pornită fără a modifica graphics controller-ul în VMSVGA. | ||
- | {{:iocla:issue_graphic_controller.png?600x400|}} | ||
- | <note tip> | ||
- | Comanda ''python'' va rula Python 2.7.17. Pentru rularea Python 3.6.9, folosiți ''python3''. | ||
- | </note> | ||
- | |||
- | <note important> | ||
- | Rezumat SHA256 pentru fișierul ''IOCLA_VM_LUBUNTU.ova'': bb627b24c616a4cdd1f6062584bee4fe40094eba9732da1fd4dc1f97dfb66557 | ||
- | </note> | ||
- | |||
- | ===== Documentație ===== | ||
- | |||
- | ==== Cărți ==== | ||
- | |||
- | * [[https://elf.cs.pub.ro/asm/res/doc/|Documentație internă IOCLA]] (folosiți contul de pe cs.curs.pub.ro) | ||
- | * [[http://savannah.nongnu.org/projects/pgubook/|Programming from the Ground Up]] - o introducere foarte bună în limbaj de asamblare. Dezavantaj: sintaxa AT&T | ||
- | * [[http://www.plantation-productions.com/Webster/www.artofasm.com/index.html|The Art of Assembly Language]] | ||
- | * [[http://www.drpaulcarter.com/pcasm/|PC Assembly Language]] | ||
- | * [[http://beginners.re/|Reverse Engineering for Beginners]] | ||
- | |||
- | ==== Diverse ==== | ||
- | |||
- | * Bit [[https://graphics.stanford.edu/~seander/bithacks.html#DetectOppositeSigns | hacks]] nov 2020 | ||
- | * x86 never ending [[https://www.blopeur.com/2020/04/08/Intel-x86-patent-never-ending.html|patents]], aprilie 2020 | ||
- | * instrucțiunea [[https://vaibhavsagar.com/blog/2019/09/08/popcount/|popcnt]] ajunge pe [[https://news.ycombinator.com/item?id=20914479|HackerNews]] în septembrie 2019! | ||
- | * [[http://www.xorpd.net/pages/xchg_rax/snip_00.html|xchg rax, rax]] - o colecție de 0x40 mini-puzzle-uri scrise în limbaj de asamblare | ||
- | * [[http://www.jegerlehner.ch/intel/|Intel Assembler 80x86 CodeTable]] - tabelă cu cele mai comune instrucțiuni x86 | ||
- | * [[https://github.com/daniel-e/tetros|TetrOS]] TetrisOS - tetris fără OS, în 512 octeți! | ||
- | * [[http://www.nasm.us/doc/|NASM Manual]] | ||
- | |||
- | ==== Alte cursuri ==== | ||
- | |||
- | * http://www.cs.smith.edu/~jfrankli/231f13/ | ||
- | * http://catalog.sunybroome.edu/preview_course_nopop.php?catoid=1&coid=335 | ||
- | |||
- | ==== Pentru aprofundare în assembly/reversing/security ==== | ||
- | |||
- | * [[http://opensecuritytraining.info/Training.html|OpenSecurityTraining]] - set de cursuri gratuite pe diferite arii ale securității, multe având și materiale video | ||
- | * [[https://challenges.re/|Reverse Engineering Challenges]] - colecție de challenge-uri de reverse engineering, în tandem cu cartea Reverse Engineering for Beginners. | ||
- | * [[https://github.com/RPISEC|RPISEC GitHub]] - workshop-uri publice de Modern Binary Exploitation și Malware Analysis. | ||
- | * [[https://microcorruption.com/login|MicroCorruption]] - set de challenge-uri de reverse engineering/exploiting pe altă arhitectură (MSP430) | ||
- | * [[https://security.cs.pub.ro/summer-school/wiki/|Security Summer School]] | ||