So iI am trying to write a plugin for IDA PRO, mainly because iI want to use the nifty graphing feature on a custom intermediate language.
Anyways, after After the first look at the IDA plugin system, i crawled into some corner and felt small and unimportant. Crap, that'sI am a lot of stufflittle lost.
Before i diggI dig deeper, iI have some generic understanding questions, which put me at unease:
doesDoes the SDK enforce a struct alignment? If not, how can iI receive or supply pointers to structs compatible across compilers?
whyWhy do plugins export a data strcut
strcut
(PLUGIN), and not standard exported functions? What is the advantage? Again i, I would fear for alignment issues across compilers.evenEven more surprising, at least the HexRays part of the sdk seems to offer class ABI compatibility, meaning iI can derive from a supplied class definition and use the result with the SDK (virtual functions and all)! How does that work?
Additionally, the SDK can return pointers to classes that I am supposed to destroy with the "delete" keyword. Isnt that bound to end in trouble?
how can that possibly work?
- Additionally, the SDK can return pointers to classes that i am supposed to destroy with the "delete" keyword. Isnt that bound to end in trouble?
All that makes me a little nervous. Does anyone know how this is done?