Final method of loading several files into a database
D. Use Steve’s plugin
There might be other methods of loading PE files into the database but since the presented methods cover almost all cases and needs, I’d prefer to switch to other things. One more method deserves mentioning before we move on, though.
It is about a clever hack by Steve Micallef. In his excellent IDA Plugin Writing Tutorial Steve gives a sample of a fairly short plugin which loads the PE loader module and asks it to load an additional file into the database. You see, the idea is simple and the implementation is quite short yet it solves the problem.
You can download the plugin source here. It can be modified to work with other file types since it is not limited to PE file format in any way: just replace the “pe” string in the source code with any other loader name.
Since it is a hack (completely unforeseen by me – file loaders were not supposed to be used this way) there will be some strange things (for example, the import table will not be updated), but they can be solved one way or another. The main idea remains simple: when something can not be done trough the user interface or IDC, consider writing a plugin.