Looking to get the most out of Binary Ninja? Join one of our upcoming trainings or request a private class for your organization today!
All great Ninjas start from humble beginnings. This course is intended for anyone just starting on their reverse engineering journey. It covers all of the basics required for more specialized applications of reversing like malware analysis, vulnerability research, and program analysis. From processors and assembly languages, to memory addressing and layout, to compilers and common language features, this class starts from ground zero and covers everything you need to go from Novice to Ninja.
Familiarity with Python and C would be helpful, but not required. You must understand variables, if/while/for/etc logic, numbers in different bases, truth tables, and similar fundamental computing concepts.
At the end of each topic during the class, students get to vote on which topic they'd like to explore next. This allows us to accommodate a wide array of student backgrounds by spending more time on the things you need to know, and less time on the things you're already a pro at.
You'll learn the basic kicks and punches every Ninja should know about reading assembly (x86, x86-64, ARM, MIPS, etc), but also how to circumvent the need to do so as much as possible. Instead, this class aims to make you fluent in the high level abstractions provided by modern decompilers and analysis frameworks, their associated interactive features, and how to achieve an understanding of a program.
A laptop that can run Binary Ninja (Ubuntu 20.04/22.04 x64; Windows 10/11 x64; MacOSX 11+ x64, MacOSX 12+ arm64).
A compatible Python installation.
(Optional) A VM to run binaries (most binaries are also provided for Linux, Mac, and Windows, though we often focus on just the Linux versions)
Dates: February 3-6, 2025
Time: 09:00-16:00 ET
Location: Online