Summary

This 1-day course is ideal for beginner or first-time IDA users. In this course, you will receive a succinct introduction to the fundamental features of IDA Pro (8 or 9 series). Participants will become familiar with the most commonly used parts of the user interface and learn how to overcome challenges encountered during the reverse engineering process. The program will include both lectures and in-program demonstrations. Additionally, we will provide exercises for participants to solve during the course to deepen their understanding of the covered material.

 

Prerequisites

Basics in Computer Architecture, Operating Systems and Programming (basic C and Python programming)

 

Computer Requirements

  • Has IDA installed with a valid license for at least the Disassembler and a minimum of 1 Decompiler - we can provide a license for training if need be
  • Runs Windows (Intel), Linux (Intel), or macOS (ARM or Intel) matching your IDA license
  • Has IDAPython (Python 3.8+) installed
  • Has a stable internet connection
  • Can join Google Meets video conferencing, preferably with an active microphone, but not required

 

Trainer

Julian Kirsch, Product Owner, Hex-Rays

In his role at Hex-Rays, Julia sits at the intersection of product, research, and development. Julian spends a lot of time talking to our power users to lear what is working (and what is not) to influence the product roadmap.

Julian has spent nearly half of his life as a reverse engineer, poking around binaries using IDA Pro much like our users. At one point, about 2 years ago, he asked himself, "Why not join Hex-Rays and help build the product in impactful ways?" At the beginning of his time at Hex-Rays, Julian was in development which gives him in-depth knowledge of the codebase and makes him an excellent trainer for all levels. He currently runs our Starter, Advanced Programming and Advanced Decompiler courses.

Fun fact: Julian can solve a 4x4 Rubik's cube in an impressive amount of time. (He doesn't want to brag too much.)

 

“This training absolutely met my expectations and I would recommend to anyone looking for good basic training to get up to speed with all the capabilities IDA has to offer. The trainer’s knowledge was excellent and I was satisfied with the clarity of the course.”

Course Overview

Session 1: IDA Overview and Navigation

Approx. 1.5h
  • IDA overview using 8 or 9 series
  • Loading files into IDA
    • File format loader
    • Target processor
    • Auto analyzer
  • Main user interface
    • Main menu
    • Navigation bar
    • Status indicator
    • Analysis indicator
    • Output window
    • Command line interpreter
    • Desktop configuration
    • Command palette
    • View synchronization
  • Disassembly View
    • Text mode
    • Graph mode
    • Proximity mode
    • Navigation
    • Bookmarks
    • Hints
    • Address details window
  • Functions view
  • Pseudocode view
  • Hex view
  • Names view
  • Strings view
  • Imports view
  • Exports view
  • Segments view

Session 2: "I" in IDA is for Interactive

Approx. 2h
  • Editing data
    • Converting bytes to data
    • Builtin data types
    • Data representation
    • Strings
    • Offsets
    • Arrays
    • Patching
  • Editing code
    • Disassembler options
    • Converting bytes to code
    • Creating functions
    • Editing functions
  • Editing pseudocode
    • Renaming
    • Setting and editing builtin data types
    • Mapping and splitting variables
    • Casts
  • Undo / Redo
  • Snapshots
  • Commenting

Session 3: The IDA Type System

Approx. 1.5h
  • Creating and Editing Types
    • Standard Structures and Enums
    • Creating Structures
    • Editing Structures
    • Unions
    • Creating Enums
    • Editing Enums
    • Type libraries
    • Importing/exporting types
  • Applying Types
    • Applying types to data
    • Applying types to code
    • Applying types to pseudocode

Session 4: Various Useful IDA Tricks

Approx. 1h
  • IDA file system hierarchy
  • Using plugins
  • Decompiler tricks
    • Decompile as call
    • Skippable instructions
    • Intrinsics
    • Force decompilation
  • Working with more than one analysis target
  • Function recognition
  • Function identification
    • Signatures
    • Lumina
  • Architecture-specific tricks
  • String pools
  • Memory segments
  • Searching
    • Byte patterns
    • Wildcards
    • Regular expressions

Enroll to one of our next sessions

Starter: Learn the Fundamentals

Feb 27, 2025 10:00 UTC-5 (New York)

Enroll now

Starter: Learn the Fundamentals

Apr 10, 2025 10:00 UTC+1 (Paris)

Enroll now

Starter: Learn the Fundamentals

Sep 10, 2025 10:00 UTC+1 (Paris)

Enroll now

Starter: Learn the Fundamentals

Oct 2, 2025 10:00 UTC-5 (New York)

Enroll now