Category Archives: Programming

Extending IDAPython in IDA 6.5: Be careful about the GIL

Target audience You may want to read this if you have been writing an IDA C++ plugin, that itself uses the CPython runtime. Prior art In 2010, Elias Bachaalany wrote a blog post about extending IDAPython: http://www.hexblog.com/?p=126 Note that this … Continue reading

Posted in IDA Pro, IDAPython, Programming | Leave a comment

Loading your own modules from your IDAPython scripts with idaapi.require()

TL;DR If you were using import to import your own “currently-in-development” modules from your IDAPython scripts, you may want to use idaapi.require(), starting with IDA 6.5. Rationale When using IDAPython scripts, users were sometimes facing the following issue Specifically: User … Continue reading

Posted in IDA Pro, IDAPython, Programming | 2 Comments

Recon 2012: Compiler Internals

This year I again was lucky to present at Recon in Montreal. There were many great talks as usual. I combined the topic of my last year’s talk on C++ reversing and my OpenRCE article on Visual C++ internals. New … Continue reading

Posted in IDA Pro, Programming, Uncategorized | 6 Comments

Code viewer, forms & timers

In this post I’ll present some new things in IDA 6.2. There’s a new control, the code viewer, some additions to forms and the introduction of timers to discuss. All these new features have been exposed to the SDK, so … Continue reading

Posted in IDA Pro, Programming | Comments Off

When choosers invade forms

With the upcoming IDA 6.1 it will be possible to create forms which host chooser controls. This feature will be available in the Qt and text version (not so in the VCL one).

Posted in IDA Pro, Programming | 2 Comments

IDA & Qt: Under the hood

Generally speaking most plugins for IDA can be written by using only the provided SDK. The API environment provided by IDA is vast and gives the plugin writer the capability to display graphical elements such as colored text views, graphs, … Continue reading

Posted in IDA Pro, Programming | Tagged | 4 Comments

Calculating API hashes with IDA Pro

Many times when debugging malware you discover that the malware does not import any function, replaces API names by hashes and tries to resolve the addresses by looking up which API name has the desired hash! In this blog post … Continue reading

Posted in IDA Pro, Programming | 11 Comments

Book Review: The Art of Assembly Language, 2nd Edition

Have you ever tried to teach x86 assembly language programming to someone coming from high level language programming background and discovered that it was hard? Before being able to write a simple “Hello World” program one needs to know a … Continue reading

Posted in Programming | 7 Comments

Casts are bad

Halvar and Dennis Elser recently blogged about a serious vulnerability in the ATL libraries. A few days ago, Microsoft released an emergency “out-of-band” patch. Yes, the bug was that nasty, and since it is in a library, many MS Windows … Continue reading

Posted in Programming, Security | 5 Comments

Never say never

I never thought that I’d be directly hit by an IE bug. However, it happened today. This page: http://www.hex-rays.com/compare.shtml does not render correctly in IE7. I tried everything, got rid of all validator complaints, rearranged the code, played with the … Continue reading

Posted in Programming | 8 Comments