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.
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).
(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)