Skip to content

williballenthin/ida-settings

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

87 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ida-settings

ida-settings is a Python library used by IDA Pro plugins to fetch configuration values from the shared settings infrastructure.

During plugin installation, hcli prompts users for the configuration values and stores them in ida-config.json. Subsequently, users can invoke hcli (or later, the IDA Pro GUI) to update their configuration. This is the library that plugins use to fetch the configuration values.

For example, within an IDA Pro plugin:

import ida_settings

api_key = ida_settings.get_current_plugin_setting("openai_key")

API reference

def get_current_plugin_setting(key: str) -> str | bool

Fetch the setting value identified by key, raising KeyError if its not found. This setting should be declared in the current plugin's ida-plugin.json file.

Changing of configuration values should be done via hcli or the IDA Pro GUI. However, there are also set/del/has/list routines for programmatic access.

Notes

  • this library relies on the IDA Pro's specific plugin environment to identify the current plugin; therefore, this library doesn't work outside of IDA Pro.
  • plugins shouldn't try to reach into ida-config.json themselves, because in the future, we may introduce cascading settings, a la VS Code.

IDA Settings Editor Plugin

This repository also includes a graphical settings manager plugin for IDA Pro.

Install it with:

hcli plugin install ida-settings-editor

Features

  • Browse all plugins with settings
  • Edit settings with appropriate UI controls
  • Immediate validation and feedback
  • Revert to defaults
  • Dockable/floating window

Usage

Open via:

  • Edit → Plugins → Plugin Settings Manager
  • View → Open subviews → Plugin Settings Manager

About

Fetch and set configuration values for IDA Plugins

Topics

Resources

Stars

Watchers

Forks

Contributors 2

  •  
  •  

Languages