Module ida_registry

IDA uses the registry to store global configuration options that must persist after IDA has been closed.

On Windows, IDA uses the Windows registry directly. On Unix systems, the registry is stored in a file (typically ~/.idapro/ida.reg).

The root key for accessing IDA settings in the registry is defined by ROOT_KEY_NAME.

Global Variables

HVUI_REGISTRY_NAME

HVUI_REGISTRY_NAME = 'hvui'

IDA_REGISTRY_NAME

IDA_REGISTRY_NAME = 'ida'

ROOT_KEY_NAME

ROOT_KEY_NAME = 'Software\\Hex-Rays\\IDA'

reg_binary

reg_binary = 3

reg_dword

reg_dword = 4

reg_sz

reg_sz = 1

reg_unknown

reg_unknown = 0

Functions

reg_data_type(name: char const *, subkey: char const * = None) ‑> regval_type_t

reg_data_type(name, subkey=None) -> regval_type_t Get data type of a given value.

name: (C++: const char *) value name
subkey: (C++: const char *) key name
return: false if the [key+]value doesn't exist

reg_delete(name: char const *, subkey: char const * = None) ‑> bool

reg_delete(name, subkey=None) -> bool Delete a value from the registry.

name: (C++: const char *) value name
subkey: (C++: const char *) parent key
return: success

reg_delete_subkey(name: char const *) ‑> bool

reg_delete_subkey(name) -> bool Delete a key from the registry.

name: (C++: const char *) char const *

reg_delete_tree(name: char const *) ‑> bool

reg_delete_tree(name) -> bool Delete a subtree from the registry.

name: (C++: const char *) char const *

reg_exists(name: char const *, subkey: char const * = None) ‑> bool

reg_exists(name, subkey=None) -> bool Is there already a value with the given name?

name: (C++: const char *) value name
subkey: (C++: const char *) parent key

reg_read_binary(name: char const *, subkey: char const * = None) ‑> PyObject *

reg_read_binary(name, subkey=None) -> PyObject Read binary data from the registry.

name: (C++: const char *) value name
subkey: (C++: const char *) key name
return: success

reg_read_bool(name: char const *, defval: bool, subkey: char const * = None) ‑> bool

reg_read_bool(name, defval, subkey=None) -> bool Read boolean value from the registry.

name: (C++: const char *) value name
defval: (C++: bool) default value
subkey: (C++: const char *) key name
return: boolean read from registry, or 'defval' if the read failed

reg_read_int(name: char const *, defval: int, subkey: char const * = None) ‑> int

reg_read_int(name, defval, subkey=None) -> int Read integer value from the registry.

name: (C++: const char *) value name
defval: (C++: int) default value
subkey: (C++: const char *) key name
return: the value read from the registry, or 'defval' if the read failed

reg_read_string(name: char const *, subkey: char const * = None) ‑> PyObject *

reg_read_string(name, subkey=None, _def=None) -> PyObject Read a string from the registry.

name: (C++: const char *) value name
subkey: (C++: const char *) key name
def: char const *
return: success

reg_read_strlist(subkey: char const *) ‑> qstrvec_t *

reg_read_strlist(subkey) Retrieve all string values associated with the given key. Also see reg_update_strlist().

subkey: (C++: const char *) char const *

reg_subkey_exists(name: char const *) ‑> bool

reg_subkey_exists(name) -> bool Is there already a key with the given name?

name: (C++: const char *) char const *

reg_subkey_subkeys(name: char const *) ‑> PyObject *

reg_subkey_subkeys(name) -> [str, ...] Get all subkey names of given key.

name: (C++: const char *) char const *

reg_subkey_values(name: char const *) ‑> PyObject *

reg_subkey_values(name) -> [str, ...] Get all value names under given key.

name: (C++: const char *) char const *

reg_update_filestrlist(subkey: char const *, add: char const *, maxrecs: size_t, rem: char const * = None) ‑> void

reg_update_filestrlist(subkey, add, maxrecs, rem=None) Update registry with a file list. Case sensitivity will vary depending on the target OS. note: 'add' and 'rem' must be UTF-8, just like for regular string operations.

subkey: (C++: const char *) char const *
add: (C++: const char *) char const *
maxrecs: (C++: size_t)
rem: (C++: const char *) char const *

reg_update_strlist(subkey: char const *, add: char const *, maxrecs: size_t, rem: char const * = None, ignorecase: bool = False) ‑> void

reg_update_strlist(subkey, add, maxrecs, rem=None, ignorecase=False) Update list of strings associated with given key.

subkey: (C++: const char *) key name
add: (C++: const char *) string to be added to list, can be nullptr
maxrecs: (C++: size_t) limit list to this size
rem: (C++: const char *) string to be removed from list, can be nullptr
ignorecase: (C++: bool) ignore case for 'add' and 'rem'

reg_write_binary(name: char const *, py_bytes: PyObject *, subkey: char const * = None) ‑> PyObject *

reg_write_binary(name, py_bytes, subkey=None) -> PyObject Write binary data to the registry.

name: (C++: const char *) value name
py_bytes: PyObject *
subkey: (C++: const char *) key name

reg_write_bool(name: char const *, value: int, subkey: char const * = None) ‑> void

reg_write_bool(name, value, subkey=None) Write boolean value to the registry.

name: (C++: const char *) value name
value: (C++: int) boolean to write (nonzero = true)
subkey: (C++: const char *) key name

reg_write_int(name: char const *, value: int, subkey: char const * = None) ‑> void

reg_write_int(name, value, subkey=None) Write integer value to the registry.

name: (C++: const char *) value name
value: (C++: int) value to write
subkey: (C++: const char *) key name

reg_write_string(name: char const *, utf8: char const *, subkey: char const * = None) ‑> void

reg_write_string(name, utf8, subkey=None) Write a string to the registry.

name: (C++: const char *) value name
utf8: (C++: const char *) utf8-encoded string
subkey: (C++: const char *) key name

set_registry_name(name: char const *) ‑> bool

set_registry_name(name) -> bool

name: char const *

Last updated