Loading…
This event has ended. Create your own event → Check it out
This event has ended. Create your own
View analytic
Thursday, September 10 • 10:30 - 12:29
Introduction to Reverse Engineering C++

Sign up or log in to save this to your schedule 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

Speakers
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
Workshop

Attendees (11)