Results 1 to 2 of 2

Thread: IDA Pro Development Environment

  1. #1

    IDA Pro Development Environment

    Introduction

    In this blog entry, I will explain how to set up a nice environment for IDA Pro plug-in development. Instead of an extensive step by step, I will focus on giving the basic pointers. The tools used are Eclipse, MinGW and IDA Pro SDK. All the tools that I used to set up the environment are freely available, without licensing strings, except for the IDA Pro SDK.

    The Tools

    Eclipse is a open source multi platform Java based IDE. It as very good expandability trough a well implemented and defined plug-in architecture that allows it, to support many programming languages, CVS, database and many other. The plug-in that allows Eclipse to support C/C++ is CDT.
    MinGW, Minimalist GNU for Windows, allows Windows users to compile C/C++ code using the GNU tool sets. It contains freely distributable Windows specific header files and import libraries. Another advantage, over Microsoft tool set, is that makes it easier to develop portable code. Eclipse support for MinGW is excellent.
    The IDA Pro SDK it's only available to IDA Pro licensees, but with a little bit of reverse engineering effort, the right tools, some example plug-ins freely available (OpenRCE IDA Plug-ins) and a visit to IDA Plug-in Tutorial by Steve Micallef, will give the reader all the information needed to develop is own headers for IDA Pro. There is also, a freely available version of IDA Pro, it's IDA Pro 4.9. Even though is outdated and out featured in comparison with IDA Pro 5.2, it still is a excellent choice over other options.

    Starting Up

    Installing

    The first thing to do is download Eclipse. You should download the version for C/C++ developers. If you already have Eclipse installed, you can update it trough software updates from the help menu in Eclipse. Eclipse doesn't need to be installed on a specific directory. Note that you should have an updated version of the JRE (Java Runtime Environment). The next step is to download the MinGW installer. It will download all the tools necessary for you. After you completed all the steps above, and assuming that you already have IDA Pro and IDA Pro SDK installed, its time to fire up Eclipse.

    Test Project

    After starting Eclipse, create a new C++ project. Define the name, and select MinGW toolchain from the shared library.





    Right click on the project and choose properties, it's needed to add the include paths.






    If you are using the official SDK, you should define the following symbols, __NT__, __IDP__ and WIN32.




    Add the library, and the library path in the MinGW Linker options. Because MinGW Linker is a bit picky about library names, make sure that the name of the library in the file system is libida.a, and that you choose the GCC version.




    Create new source file, add some code :P and build.





    Conclusion

    This environment, will allow a soft, and fast developing of IDA Pro plug-ins. With capabilities like CVS, task focused developing (Mylyn), refactor and code assistance, makes it the perfect option for team projects.

    Hope y'all enjoyed this blog entry.

    https://www.openrce.org/blog/view/1157/IDA_Pro_Development_Environment

  2. #2
    damn nice.. i hope you post more :P

Similar Threads

  1. Thoughts on RCE VM Environment
    By Silver in forum Off Topic
    Replies: 7
    Last Post: March 27th, 2007, 10:31
  2. LINK: Toby Opferman's Driver Development Tutorials
    By ZaiRoN in forum Advanced Reversing and Programming
    Replies: 4
    Last Post: December 6th, 2005, 04:14
  3. [new] Plugin Development Kit 1.08 beta released
    By Gigapede in forum OllyDbg Support Forums
    Replies: 2
    Last Post: January 1st, 2003, 13:15
  4. Environment space in Windows Me
    By [KSC] in forum Advanced Reversing and Programming
    Replies: 2
    Last Post: June 13th, 2001, 16:51

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •