Logo ČVUT
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE
STUDIJNÍ PLÁNY
2024/2025

Reverse Engineering

Přihlášení do KOSu pro zápis předmětu Zobrazit rozvrh
Kód Zakončení Kredity Rozsah Jazyk výuky
NIE-REV Z,ZK 5 1P+2C anglicky
Garant předmětu:
Josef Kokeš
Přednášející:
Josef Kokeš
Cvičící:
Josef Kokeš
Předmět zajišťuje:
katedra informační bezpečnosti
Anotace:

Students will learn fundamentals of reverse engineering of computer software (methods of executing and initializing programs, organization of executable files, work with third-party libraries). Special attention will be paid to C ++. Students will also become familiar with the principles of debugging tools, disassemblers and obfuscation methods. Finally, the course will focus on code compression and decompression and executable file reconstruction.

Požadavky:

Very good knowledge of C, C++. Basic knowledge of programming in assembler/machine code.

Osnova přednášek:

1. Introduction to reverse engineering

2. Analysis of a program's flow

3. Analysis of C++ classes

4. Disassembling and obfuscation

5. Compiler recognition

6. Debugging and anti-debugging

7. Malware

Osnova cvičení:

1. Introduction to debuggers and assembler

2. Basic function analysis, stack frame

3. Reverse engineering tools

4. PE file structure, Import Address Table

5. Type information analysis

6. Analysis of obfuscated programs

7. Advanced obfuscation techniques

8. Reconstruction of packed files

9. Antidebugging

10. Code injection

11. Reverse analysis of high level languages

Cíle studia:

After he/she had completed the course, the student will be able to independently perform reverse analyses of binary executable files on the MS Windows platform, including analyzing obfuscated files (i.e. malware).

Studijní materiály:

[1] Eilam, E.: Reversing: Secrets of Reverse Engineering. Wiley. 2005. 987-0-7645-7481-8.

[2] Eagle, C.: The IDA Pro Book: The unofficial Guide to the World's Most Popular Disassembler. No Starch Press. 2011. 987-1-59327-289-0.

[3] Seacord, R. C.: Secure Coding in C and C++. Software Engineering Institute, Carnegie Mellon University. 2013. 987-0-321-82213-0.

[4] Russinovich M. - Solomon D. A. - Ionescu A.: Windows Internals Part 1. Microsoft Press. 2012. 987-0-7356-4873-9.

[5] Russinovich M. - Solomon D. A. - Ionescu A.: Windows Internals Part 2. Microsoft Press. 2012. 987-0-7356-6587-3.

Poznámka:

Informace o předmětu a výukové materiály naleznete na https://courses.fit.cvut.cz/MI-REV/.

Tento předmět obsahově navazuje na bakalářský předmět Bezpečný kód.

Rozvrh na zimní semestr 2024/2025:
06:00–08:0008:00–10:0010:00–12:0012:00–14:0014:00–16:0016:00–18:0018:00–20:0020:00–22:0022:00–24:00
Po
Út
místnost T9:345
Kokeš J.
16:15–17:45
LICHÝ TÝDEN

(přednášková par. 1)
Dejvice
NBFIT BOU ucebna
místnost T9:345
Kokeš J.
18:00–19:30
(přednášková par. 1
paralelka 101)

Dejvice
NBFIT BOU ucebna
St
Čt

Rozvrh na letní semestr 2024/2025:
Rozvrh není připraven
Předmět je součástí následujících studijních plánů:
Platnost dat k 21. 11. 2024
Aktualizace výše uvedených informací naleznete na adrese https://bilakniha.cvut.cz/cs/predmet6626206.html