After spending a lot of time going through the header files in the IDA SDK as well as looking at the source to other people's plug-ins, I figured there should be an easier way to get started with writing IDA plug-ins. Although the header file commentary is amazingly thorough, I found it a little difficult navigating and finding things when I needed them without a lot of searching and trial-and-error. I thought that I'd write this tutorial to try and help those getting started as well as hopefully provide a quick reference point for people already proficient at developing plug-ins. I've also dedicated a section to setting up a development environment which should make the development process quicker to get into.
Get version 1.1 of the tutorial HERE (126 pages, 508KB PDF). This version is for IDA 5.4, though the SDK was mostly frozen since 4.9 so most things should still work.
Plug-in template:
Example plug-in source code:
- beingdebugged.cpp (new)
- bulkbpt.cpp
- copypaste.cpp
- loadlib.cpp
- movsfinder.cpp
- snaptrace.cpp
- snaptrace2.cpp
- unsafefunc.cpp
Version 1.0 can still be obtained here and has also been published at CodeBreakers Journal.