Skip to main content

Reverse Engineering (5 cr)

Code: TTC6510-3004

General information


Enrollment
18.11.2024 - 09.01.2025
Registration for the implementation has ended.
Timing
13.01.2025 - 30.04.2025
Implementation is running.
Number of ECTS credits allocated
5 cr
Local portion
0 cr
Virtual portion
5 cr
Mode of delivery
Online learning
Unit
School of Technology
Campus
Lutakko Campus
Teaching languages
English
Seats
0 - 35
Degree programmes
Bachelor's Degree Programme in Information and Communications Technology
Bachelor's Degree Programme in Information and Communications Technology
Teachers
Joonatan Ovaska
Groups
TTV22S5
Tieto- ja viestintätekniikka (AMK)
TTV22S2
Tieto- ja viestintätekniikka (AMK)
TTV22S3
Tieto- ja viestintätekniikka (AMK)
TIC22S1
Bachelor's Degree Programme in Information and Communications Technology
TTV22S1
Tieto- ja viestintätekniikka (AMK)
TTV22S4
Tieto- ja viestintätekniikka (AMK)
Course
TTC6510

Realization has 35 reservations. Total duration of reservations is 82 h 45 min.

Time Topic Location
Mon 13.01.2025 time 12:15 - 16:00
(3 h 45 min)
Ethical Hacking -moduulin opintojaksoinfo
P2_D110 Auditorio
Wed 15.01.2025 time 12:00 - 13:30
(1 h 30 min)
Reverse Engineering TTC6510-3004
Online
Thu 16.01.2025 time 13:30 - 16:00
(2 h 30 min)
Workshop
Online
Tue 21.01.2025 time 14:00 - 16:30
(2 h 30 min)
Workshop
P2_D436 Tietoliikennelaboratorio
Wed 22.01.2025 time 12:00 - 13:30
(1 h 30 min)
Reverse Engineering TTC6510-3004
Online
Thu 23.01.2025 time 13:30 - 16:00
(2 h 30 min)
Workshop
Online
Tue 28.01.2025 time 14:00 - 16:30
(2 h 30 min)
Workshop
P2_D436 Tietoliikennelaboratorio
Wed 29.01.2025 time 12:00 - 13:30
(1 h 30 min)
Reverse Engineering TTC6510-3004
Online
Thu 30.01.2025 time 13:30 - 16:00
(2 h 30 min)
Workshop
Online
Tue 04.02.2025 time 14:00 - 16:30
(2 h 30 min)
Workshop
Verkko/Online (KYHA)
Wed 05.02.2025 time 12:00 - 13:30
(1 h 30 min)
Reverse Engineering TTC6510-3004
Online
Thu 06.02.2025 time 13:30 - 16:00
(2 h 30 min)
Workshop
Online
Tue 11.02.2025 time 14:00 - 16:30
(2 h 30 min)
Workshop
P2_D436 Tietoliikennelaboratorio
Wed 12.02.2025 time 12:00 - 13:30
(1 h 30 min)
Reverse Engineering TTC6510-3004
Online
Thu 13.02.2025 time 13:30 - 16:00
(2 h 30 min)
Workshop
Online
Tue 18.02.2025 time 14:00 - 16:30
(2 h 30 min)
Workshop
P2_D436 Tietoliikennelaboratorio
Wed 19.02.2025 time 12:00 - 13:30
(1 h 30 min)
Reverse Engineering TTC6510-3004
Online
Thu 20.02.2025 time 13:30 - 16:00
(2 h 30 min)
Workshop
Online
Tue 04.03.2025 time 14:00 - 16:30
(2 h 30 min)
Workshop
P2_D436 Tietoliikennelaboratorio
Thu 06.03.2025 time 13:30 - 16:00
(2 h 30 min)
Workshop
Online
Tue 11.03.2025 time 14:00 - 16:30
(2 h 30 min)
Workshop
Verkko/Online
Thu 13.03.2025 time 13:30 - 16:00
(2 h 30 min)
Workshop
Online
Tue 18.03.2025 time 14:00 - 16:30
(2 h 30 min)
Workshop
Verkko/Online
Thu 20.03.2025 time 13:30 - 16:00
(2 h 30 min)
Workshop
Online
Tue 25.03.2025 time 14:00 - 16:30
(2 h 30 min)
Workshop
Verkko/Online
Thu 27.03.2025 time 13:30 - 16:00
(2 h 30 min)
Workshop
Online
Tue 01.04.2025 time 14:00 - 16:30
(2 h 30 min)
Workshop
Verkko/Online
Thu 03.04.2025 time 13:30 - 16:00
(2 h 30 min)
Workshop
Online
Tue 08.04.2025 time 14:00 - 16:30
(2 h 30 min)
Workshop
Verkko/Online
Thu 10.04.2025 time 13:30 - 16:00
(2 h 30 min)
Workshop
Online
Tue 15.04.2025 time 14:00 - 16:30
(2 h 30 min)
Workshop
Verkko/Online
Thu 17.04.2025 time 13:30 - 16:00
(2 h 30 min)
Workshop
Online
Tue 22.04.2025 time 14:00 - 16:30
(2 h 30 min)
Workshop
Verkko/Online
Thu 24.04.2025 time 13:30 - 16:00
(2 h 30 min)
Workshop
Online
Tue 29.04.2025 time 14:00 - 16:30
(2 h 30 min)
Workshop
Verkko/Online
Changes to reservations may be possible.

Evaluation scale

0-5

Content scheduling

We start by going through whole course theory, after all theory parts, we'll continue with hands-on assignments for the rest of the course.

Objective

The student is aware of the methods to analyze and reverse engineer applications. After successfully passing this course, the student is able to perform simple reverse engineering tasks on X86 Windows and Linux binaries. The student understands the differences between static and dynamic analysis. The student is able to perform basic dynamic analysis tasks. The student understands the structure of PE binary files and how they can be analyzed using existing, widely available tools. The student learns how to document his/her findings in a report format that is understandable to a person with similar skills in reverse engineering

Competences
EUR-ACE: Knowledge and understanding 
EUR-ACE: Engineering practice 
EUR-ACE: Multidisciplinary competences

Content

The course covers methodologies to analyze and reverse engineer binary files and applications using static and dynamic analysis. The course includes labs where the covered topics are put into practice.

Materials

Materials in the e-learning environment and the book: Practical Malware Analysis: The Hands-On Guide to Dissecting Malicious Software

Teaching methods

- lectures
- independent study
- distance learning
- webinars
- exercises
- learning tasks
- book

Exam schedules

No exam, assessment is based on assignments.

Completion alternatives

The admission procedures are described in the degree rule and the study guide. The teacher of the course will give you more information on possible specific course practices.

Student workload

One credit (1 Cr) corresponds to an average of 27 hours of work.

- lectures 10 h
- reading assignments 10 h
- independent study 45 h
- assignment solving 60 h
- assignment reporting 10h
Total 135 h

Assessment criteria, satisfactory (1)

Sufficient (1): The student is familiar with the basic topics discussed during the course. The student is able to perform the most basic analysis on the simplest of X86 binaries using only some of the tools covered in the course with assistance.

Satisfactory (2): The student understands the most basic topics discussed during the course, however, he/she struggles to utilize this knowledge. The student is not able to search for relevant information independently. The student is able to analyze simple X86 binaries using the tools and techniques covered in the course with assistance.

Assessment criteria, good (3)

Good (3): The student understands the most important topics discussed during the course and is able to utilize this knowledge in the most basic cases. The student is able to utilize information about the discussed topics. The student is able to analyze basic X86 binaries using the tools and techniques covered in the course.

Very good (4): The student understands the most important topics discussed during the course and is able to utilize this knowledge in most common cases. The student is able to search and understand information about discussed topics. The student is able to analyze basic X86 binaries independently using tools covered in the course.

Assessment criteria, excellent (5)

Excellent (5): The student understands all topics discussed during the course and is able to use them in an innovative manner even in challenging situations. The student is able to search and utilize information about discussed topics independently. The student is able to analyze basic X86 binaries independently using tools covered in the course and utilize widely available tools not covered in the course.

Qualifications

Basics in Programming, Operating systems, Data structures and algorithms

Further information

Points from the quizzes and from the lab reports. No exam

Go back to top of page