FA2021 Week 06

Reverse Engineering II

Presented by: 

Meeting Summary

  • Reverse engineering is the process of understanding a program's functionality and behavior
  • Symbolic analysis tools such as angr help determine what codepath is desired and how to reach that point
  • Self-modifying code exists as additional protections against reverse engineering
  • Side channel attacks, such as instruction counting, can be used to leak information or determine the current state of a program
  • Virtual machine obfuscation is a technique used to make reverse engineering more difficult by creating another layer of execution