44CON LONDON 2015 has ended
Back To Schedule
Thursday, September 10 • 10:30 - 12:29
Introduction to Reverse Engineering C++

Sign up or log in to save this to your schedule, view media, leave feedback and see who's attending!

C++ and Object Oriented Programming (OOP) has been around for a while. Software (small to large scale projects) and malware are leveraging C++ and OOP more and more. Understanding how to program and reverse engineer C++ can aid in finding or exploiting vulnerabilities, performing in-depth analysis on malware, hacking games, etc.

In this workshop we will discuss
  • C++ Overview: Builds a foundation of C++-isms to ensure everyone understands the basic concepts we will discuss during the workshop. Some C++ topics that will be covered: class keyword, scope operator (::), public/private/protected keywords, constructor/destructor, getter/setter methods, this keyword, etc.
  • Polymorphism: What is polymorphism and what it adds to C++ programming that cannot be accomplished in a C application
  • Class Relationships and Binding Types: Highlights three different class relationships (containment, association, and inheritance) and how binding types (compile vs run time) affect the assembly generated by the compiler
  • Reversing Strategies: Developing a methodology for reverse engineering C++ object oriented programs with IDA Pro by leveraging structures and applying them to the disassembly. All previously discussed topics will be revisited at the assembly level.

This workshop requires attendees to:
  • Understand C and x86 Assembly
  • Have a Windows XP or higher VM
  • Have a free, license, or demo version of IDA Pro
  • Have a version of Microsoft's Visual Studio

avatar for Angel Villega

Angel Villega

Angel doesn't like writing about himself... Angel is a Research Engineer within the Talos Security Intelligence and Research Group at Cisco. He is based in Maryland, USA. In this role he conducts in-depth analysis of malware, vulnerability research, and develops software.

Thursday September 10, 2015 10:30 - 12:29 BST

Attendees (0)