Skip to main content
deleted 179 characters in body
Source Link
0xC0000022L
  • 10.9k
  • 9
  • 41
  • 79

For decades, IDA's plugin interface remained the same. Your plugin had to export a plugin_t structure named PLUGIN, which contained function pointers to its init, run, and optional term functions. You can see that in your snippets above.

IDA 7.5 introduced a new plugin interface for C++ plugins, based on inheritance from the plugmod_t interface, seemingly because future versions of IDA will support multiple databases being loaded at the same time. Download the IDA SDK and look in its plugins subdirectory. All of the existing example plugins have been updated to use the new interface.

TL;DR plugin source code developed for versions less than 7.5 is not going to work anymore for 7.5 and above; it needs to be modified to use the new plugmod_t interface.

P.S. don't add updates to your post as comments and don't make major edits to your original post. Ask one question at a time. Make a new post if you have a different question.

For decades, IDA's plugin interface remained the same. Your plugin had to export a plugin_t structure named PLUGIN, which contained function pointers to its init, run, and optional term functions. You can see that in your snippets above.

IDA 7.5 introduced a new plugin interface for C++ plugins, based on inheritance from the plugmod_t interface, seemingly because future versions of IDA will support multiple databases being loaded at the same time. Download the IDA SDK and look in its plugins subdirectory. All of the existing example plugins have been updated to use the new interface.

TL;DR plugin source code developed for versions less than 7.5 is not going to work anymore for 7.5 and above; it needs to be modified to use the new plugmod_t interface.

P.S. don't add updates to your post as comments and don't make major edits to your original post. Ask one question at a time. Make a new post if you have a different question.

For decades, IDA's plugin interface remained the same. Your plugin had to export a plugin_t structure named PLUGIN, which contained function pointers to its init, run, and optional term functions. You can see that in your snippets above.

IDA 7.5 introduced a new plugin interface for C++ plugins, based on inheritance from the plugmod_t interface, seemingly because future versions of IDA will support multiple databases being loaded at the same time. Download the IDA SDK and look in its plugins subdirectory. All of the existing example plugins have been updated to use the new interface.

TL;DR plugin source code developed for versions less than 7.5 is not going to work anymore for 7.5 and above; it needs to be modified to use the new plugmod_t interface.

Source Link
Rolf Rolles
  • 9.2k
  • 1
  • 23
  • 33

For decades, IDA's plugin interface remained the same. Your plugin had to export a plugin_t structure named PLUGIN, which contained function pointers to its init, run, and optional term functions. You can see that in your snippets above.

IDA 7.5 introduced a new plugin interface for C++ plugins, based on inheritance from the plugmod_t interface, seemingly because future versions of IDA will support multiple databases being loaded at the same time. Download the IDA SDK and look in its plugins subdirectory. All of the existing example plugins have been updated to use the new interface.

TL;DR plugin source code developed for versions less than 7.5 is not going to work anymore for 7.5 and above; it needs to be modified to use the new plugmod_t interface.

P.S. don't add updates to your post as comments and don't make major edits to your original post. Ask one question at a time. Make a new post if you have a different question.