Summary

This 2-day course is ideal for intermediate or advanced IDA users looking to master the IDA Decompiler. Attendees will learn how to extend existing Decompiler passes to tweak code generation and handle specially crafted (malicious) examples. It covers both, the Microcode and the CTree API. Prototyping is done using IDAPython and then ported to the native C++ SDK. Additionally, this course provides attendees with an open development session where they can ask deeper questions and/or focus on specific features or exercises of their choice directly with the trainer.

 

Prerequisites

Proficiency in IDA Pro, good knowledge of Python and C++

 

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: Setup

Approx. 1.5h
  • Setting up on Windows/Linux/macOS
 

 

Session 2: Tour of the Decompiler SDK

Approx. 7h
  • Microcode
    • Maturity Levels
    • Micro Code Traversal
    • Micro Blocks
    • Micro Instructions
    • Micro Operands
    • Optimization Callbacks
  • CTree
    • Maturity Levels
    • Statements & Expressions
    • AST Traversal

Session 3: Open IDA Development

Time Varies
  • Ask us anything
  • More specific areas & deep dives
 

Enroll to one of our next sessions

Advanced: Decompiler Techniques

May 14-15, 2025 10:00 UTC-5 (New York)

Enroll now

Advanced: Decompiler Techniques

Jun 11-12, 2025 10:00 UTC+1 (Paris)

Enroll now

Advanced: Decompiler Techniques

Nov 13-14, 2025 10:00 UTC+1 (Paris)

Enroll now

Advanced: Decompiler Techniques

Dec 10-11, 2025 10:00 UTC-5 (New York)

Enroll now