Software Reverse Engineering# Static and Dynamic Analysis. Debugger. Breakpoints. Hooking. Code Injections, Iat, Hot Patching. Examples Of Hooking Structures. Vulnerabilities and Their Usage. Exception Handling. Object-oriented and Bytecode Languages, Jit. Anti-reversing Techniques. Malware Hiding. Side Channel Attacks. Hardware Reverse Engineering. The Final Exam Will Take Place in Two 3-hour Parts On The Same Day With Computers. Learning Outcomes# By The End of The Course The Student Will# 1. Understand How Reverse Engineering of Software Is Performed, And Will Be Able to Implement Techniques For Understanding The Operation Of The Software, and For Modifying Its Operation. 2. Know Techniques For Preventing Reverse Engineering and For Making It More Difficult. 3. Understand The Width of This Area, Including The Application to Other Programming Languages, Side-channel Attacks, And Reverse Engineering of Hardware.

Faculty: Computer Science
|Undergraduate Studies |Graduate Studies

Pre-required courses

46209 - Structure of Operating Systems or 234123 - Operating Systems

Parallel course

236350 - Network Security

Semestrial Information