Program Analysis Training

This is four-day course trains students to do sophisticated program analysis using Binary Ninja and the Binary Ninja Python API. Students will learn Binary Ninja inside and out by extending its analysis capabilities to support a custom architecture which is difficult to analyze manually. Students will also leverage the Binary Ninja plugin architecture to identify vulnerabilities in a machine architecture independent way. After taking this course students will have experience working with the least intuitive and even some undocumented parts of Binary Ninja to create powerful program analysis tools.


Drawing from experiences in the competitive CTF space and professional reverse engineering environments, Sophia and Evan teach program analysis with hands-on exercises with immediate feedback. Problems are designed to be realistic with objective solutions but allow for subjective approaches. This lets the work feel more like a creative exercise than a gym routine. Class exercises are composable, meaning lessons learned are leveraged later in the course. Exercises are realistic and tied to real world scenarios. Nobody will be left wondering why an exercise is being done or merely copying code out of a book.

Learning Objectives

  • Have a thorough grasp on the binary ninja python API
  • Familiarity with many program analysis concepts and common challenges
  • The ability to write sophisticated program analysis plugins unassisted



« Return to Events