h0 Compile and Analyze (Tero)

a) Compile a simple program. Analyze the binary.

Once you've submitted your report, cross review two. (As always)

Tips

h1 Freedom of Action, Control, and Risk Mitigation (Lari)

The target environment is your own home network and the computer you use to complete the course exercises. In practice, the “organisation” consists of your household and your own IT environment, including devices, router/Wi-Fi, cloud services, lab machines, a possible NAS, and so on.

Objectives

Tasks

Tip

Translation made by AI (sol 5.4)

h2 Break & Unbreak (Tero)

Now we hack! And code!

You'll learn to find and fix vulnerabilities.

Remember systematic working methods and report as you go. Also reflect: Where could this vulnerability be common? How could this mistake be avoided? What did I learn from this?

Tips

h3 No Strings Attached (Tero)

Did you know you can get information from binaries before running them? Here we step into next week's world of static analysis.

The uncrowned king of static analysis, 'strings', greets us!

Tips

Additional tips, packd

Packd, minor spoilers. The task is fun even if you look at these. (click to show)

Big hints, packd

Spoilers for the packd task. Still not a walkthrough. (click to show)
$ strings foo|head
$ strings -n 20 packd

h4 Some Disassembly Required (Tero)

Want even harder challenges? You can solve more NoraCodes/crackmes challenges if you wish and your skills allow.

Tips

h5 Binääri tässä, missä koodit? (Lari)

  1. main.cpp - käytiin yhdessä tunnilla läpi GDB:n perusasiat.
  2. Lab0.zip - Harjoitellaan tunnilla itsenäisesti debuggerin käyttöä. Etsitään virhe ja pyritään korjaamaan se
  3. Lab1.zip - Harjoitellaan tunnilla itsenäisesti. Etsitään, miksi ohjelma kaatuu ja voidaanko se korjata.
  4. Lab2.zip - kotitehtävä. Ohjelma on käännetty, mutta koodit ovat päässeet katoamaan. Tehtävänä on löytää ohjelman kysymä uusi salasana ja ohjelman tulostama lippu. Kirjoita dokumentti siitä, miten sait nämä selville. Sekä mitä uutta opit GNU Debuggerista, että mitä et oppinut tunnilla.
  5. Lab3.zip - Tiedostossa on Nora Crackme -haasteita. Valitse yksi tiedosto ja yritä ratkaista binäärin salasana. Kirjoita tästä dokumentti, miten sait salasanan selville.
  6. Lab4.zip - Vapaaehtoinen tehtävä. Ratkaise tämän binäärin salasana ja kirjoita siitä dokumentaatio.

Dokumentaation tulee olla sellaisella tasolla, että kuka tahansa kurssilla olevista kykenee toistamaan ratkaisusi.

Tärkeimpänä tehtävänä on oppia käyttämään analyyttista ajattelua ja GNU Debuggeria, joten ethän käytä tehtävän tekemiseen tekoälyä, vaikka sen käyttö helpottaa tehtävien tekemistä merkittävästi. Tällöin oppimisen tavoitteet eivät toteudu.

Päivitetty 2026-08-05

h6 Onkohan tämä turvallinen käyttää? (Lari)

Tutki kotona Tapo C200 -kameran ohjelmiston turvallisuutta ja käytä kaikkia menetelmiä, joita olet oppinut tällä kurssilla analyysin tekemiseen.

Kirjoita tutkimuksestasi raportti, josta selviää, mitä löysit ja miten löysit mahdolliset ongelmat. Onko mahdollista käyttää hyödyksi löytämiäsi haavoittuvuuksia.

Päivitetty 2026-08-05

h7 Happy Hacking Day

h8 Bonus

Optional: Bonus: list and link here your completed

Deadline 24 h before the last meeting, i.e., the same as the previous task.