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 and 234123 - Operating Systems) or 46209 - Structure of Operating Systems or (234123 - Operating Systems and 236490 - Computer Security) or 236350 - Network Security


Parallel course

236350 - Network Security


Semestrial Information