Skip to main content

Reverse Engineering (5 cr)

Code: TTKW0230-3001

General information


Enrollment
04.01.2021 - 15.01.2021
Registration for the implementation has ended.
Timing
15.02.2021 - 26.03.2021
Implementation has ended.
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 - 32
Degree programmes
Bachelor's Degree Programme in Information and Communications Technology
Teachers
Marko Silokunnas
Teacher in charge
Joonatan Ovaska
Groups
TTV21VK
Tieto- ja viestintätekniikka (AMK), vaihto-opiskelu/Exchange studies
TTV18S1
Tieto- ja viestintätekniikka
Course
TTKW0230
No reservations found for realization TTKW0230-3001!

Evaluation scale

0-5

Content scheduling

Every week there will be a lecture video and some assignments. The assignments are executables that students have to reverse engineer. Students write a report based detailing their approach and their findings. After the first week videos showing how to solve the previous assignments are also released alongside the lecture video.

Objective

The student is aware of the methods to analyze and reverse engineer undocumented protocols, binary files and 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 findings in a report format that is understandable to a person with similar skills in reverse engineering.

Content

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

Location and time

The course is 100% virtual and will start on the 7th week of 2021

Materials

Practical Malware Analysis: The Hands-On Guide to Dissecting Malicious Software

Teaching methods

Lecture videos, assignment solving videos, book

Student workload

The course last only 5 weeks and is worth 5 ECTS credits. Expected student workload per week is 10-20 hours.

Assessment criteria, satisfactory (1)

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 has the ability to utilize widely available tools not 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.

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.

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.

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.

Fail 0: The student does not meet the minimum criteria set for the course.

Qualifications

Basics in Programming, Operating systems, Data structures and algorithms, Introduction to Internet technology.

Further information

Exchange students 5 places

Go back to top of page