Summary

This 2-day course is ideal for intermediate or advanced IDA users looking to further hone their IDA programming. This course focuses on writing file format loaders and processor modules to extend IDA's functionality. Participants will perform prototyping using IDAPython and then write a full-blown implementation for a custom executable image format and processor architecture using 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.

Duration

2 days

Delivery mode

Online, Instructor-Led

Level

Advanced

Price

$ 1599 VAT excl.

Session 1: Overview of Scripting Languages & Setup

Approx. 1.5h
  • Components of , Python SDK
  • C++ SDK Setup on Windows/Linux/macOS
  • IDAPython Configuration
 

 

Session 2: Tour of the IDA SDKs

Approx. 3h
  • C++ SDK & API
  • Python API
  • Python Specialities
 

 

Session 3: Interface to the IDA Kernel

Approx. 3h
  • Plugins
  • Loaders
  • Processor Modules
  • Callbacks
 

 

Session 4: Open IDA Development

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

 

If you want to learn about implementing you're own processor or loader module, which is extremely important for the embedded side, this is a must-have training. It was beyond my expectation and the instructor’s knowledge of the course material and clarity of the presentation was excellent.

Prerequisites

Knowledge requirements
Computer Requirements
Proficiency in IDA Pro, good knowledge of Python and C++

Enroll to one of our next sessions

Advanced: IDA Python and C++ SDK Programming

May 26-27, 2026 10:00 (Paris Time Zone)

Enroll now

Advanced: IDA Python and C++ SDK Programming

Jun 16-17, 2026 10:00 (New York Time Zone)

Enroll now

Advanced: IDA Python and C++ SDK Programming

Nov 24-25, 2026 10:00 (Paris Time Zone)

Enroll now

Advanced: IDA Python and C++ SDK Programming

Dec 15-16, 2026 10:00 (New York Time Zone)

Enroll now

Trainers

Julian Kirsch, Product Owner, Hex-Rays (for Paris time zone)

In his role at Hex-Rays, Julian 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.)

Elias Bachaalany (for New-York time zone)

Elias is a longtime IDA pro user with over 20 years of experience. He was also a programmer for IDA, and during his Hex-Rays tenure, he developed key features such as the Bochs and WinDbg plugins and contributed vastly to IDAPython. Today, Elias is a game security engineer who focuses on helping first- and third-party game studios mitigate against cheaters and game vulnerabilities.

In his free time, Elias runs the @allthingsIDA YouTube channel dedicated to teaching practical reverse engineering with IDA Pro and various reverse engineering tools.

Additionally, Elias is an accomplished author/co-author with titles such as Batchography: The Art Of Batch Files Programming, Practical Reverse Engineering, and The Antivirus Hacker's Handbook.

Elias is embarking on his fifth year of teaching with us.

Fun fact: Elias likes riding Electric Unicycles (EUCs) with over 6,000 miles so far. He is an intermediate racing FPV drone flyer and a good bowling player. Elias can handle technical discussions alongside spiritual and new-age topics in a single sitting.