Files
idapython-src/docs/bc695.md
T

1.9 KiB

IDAPython for IDA 7.00: backward-compatibility with 6.95 APIs

Availability of the backward-compatibility code

  • Backward-compatibility is provided by python.cfg's AUTOIMPORT_COMPAT_IDA695 directive. This directive is currently turned on by default, but in the future it will:

    1. be turned off by default
    2. eventually disappear, and all the corresponding code will be removed
  • Consequently IDAPython script/plugin writers should try and port their code, with the help of the porting guide XXX FIXME URL? XXX.

  • Once you have done the porting, please check that your code works with AUTOIMPORT_COMPAT_IDA695 set to NO.

  • If anything proves too hard or confusing, please let us know about it on support@hexrays.com, and we will help you, either by fixing IDAPython if needed, or by improving the documentation.

Coverage of the backward-compatibility code

  • We did what was reasonably feasible, to provide an IDAPython API that's as backward-compatible as possible with the IDA 6.95 API

  • However, we considered it unreasonable for some parts of the API to be ported. Most notably:

    • the "processor module" API: existing processor modules will have to be ported to the new API. Please see the SDK's module/script/proctemplate.py (or any other *.py file in that directory) for examples how to use the new API.
    • processor module-related notifications: some of those have either been renamed, or have possibly changed signature
  • Most (all?) of the renamed functions, properties, etc... should be covered, in all modules: idaapi, idc, ... If something doesn't work/isn't there anymore, it's likely an omission from our side.

  • Please let us know about any missing bits & pieces, that you believe should be there and that we might have forgotten!