Я хочу писать сценарии и плагины IDAPython. Проблема в том, чтобы заставить мою Python IDE (PyCharm) правильно разрешать импорт и, следовательно, получать правильное завершение кода.
Вот пример. Я хочу, чтобы автозавершение кода работало для таких команд IDAPython, как:
ea = ScreenEA()
или
ea = idc.get_screen_ea()
Вот что я сделал. Я загрузил IDAPython и поместил исходный код в исходную папку моих проектов Python.
Я также скопировал папку python из установочного каталога IDA в исходный каталог проектов Python.
Оказывается, Pycharm не может правильно разрешить функции.
Как настроить Python IDE для автоматического завершения работы?
Пока файлы IDAPython отображаются в вашем проекте Pycharm или находятся в той же папке, вам просто нужно импортировать файл, который вы хотите использовать.
Итак, для вашего примера idc.get_screen_ea (), если у вас есть это в верхней части вашего файла python, над которым вы работаете:
#import idc
Тогда вы получите предложения по поводу всего, что связано с idc.
Вот метод, который я использовал для версии PyCharm для Windows. Сначала создайте проект на основе venv с версией python, соответствующей вашей версии python IDA.
Файл -> Настройки -> Проект -> Python Interpreter
Щелкните значок настройки, выберите Show All...
.
Выберите интерпретатор, который вы используете в настоящее время, нажмите Show paths for the selected interpreter
.
Во всплывающем окне добавьте свой %IDA_INSTALL_PATH%\python
Затем вы можете использовать функции PyCharm IDE для написания плагина IDA python.