diff --git a/api_contents2.txt b/api_contents2.txt index 99da607..26d1408 100644 --- a/api_contents2.txt +++ b/api_contents2.txt @@ -2939,6 +2939,8 @@ 'direntry_vec_t_size', 'direntry_vec_t_swap', 'direntry_vec_t_truncate', + 'dirspec_t_flags_get', + 'dirspec_t_flags_set', 'dirspec_t_get_attrs', 'dirspec_t_get_inode', 'dirspec_t_get_name', @@ -6338,6 +6340,7 @@ 'mba_t_clr_cdtr', 'mba_t_clr_mba_flags', 'mba_t_clr_mba_flags2', + 'mba_t_code16_bit_removed', 'mba_t_combine_blocks', 'mba_t_common_stkvars_stkargs', 'mba_t_consumed_argregs_get', @@ -11023,7 +11026,9 @@ 'uchar_array_frompointer', 'udc_filter_t_apply', 'udc_filter_t_init', + 'udc_filter_t_install', 'udc_filter_t_match', + 'udc_filter_t_remove', 'udcall_map_begin', 'udcall_map_clear', 'udcall_map_end', diff --git a/api_contents3.txt b/api_contents3.txt index ee25d47..b066475 100644 --- a/api_contents3.txt +++ b/api_contents3.txt @@ -2939,6 +2939,8 @@ 'direntry_vec_t_size', 'direntry_vec_t_swap', 'direntry_vec_t_truncate', + 'dirspec_t_flags_get', + 'dirspec_t_flags_set', 'dirspec_t_get_attrs', 'dirspec_t_get_inode', 'dirspec_t_get_name', @@ -6338,6 +6340,7 @@ 'mba_t_clr_cdtr', 'mba_t_clr_mba_flags', 'mba_t_clr_mba_flags2', + 'mba_t_code16_bit_removed', 'mba_t_combine_blocks', 'mba_t_common_stkvars_stkargs', 'mba_t_consumed_argregs_get', @@ -11828,4 +11831,4 @@ 'xreflist_t_swap', 'xreflist_t_truncate', 'yword_flag', - 'zword_flag']} + 'zword_flag']} \ No newline at end of file diff --git a/idapyswitch_win.cpp b/idapyswitch_win.cpp index 79f5603..7a2b221 100644 --- a/idapyswitch_win.cpp +++ b/idapyswitch_win.cpp @@ -303,7 +303,7 @@ static bool has_appx_path(qstrvec_t paths) //------------------------------------------------------------------------- // ignore known bad Pythons: // 3.8.0 release (https://bugs.python.org/issue37633) -// Anaconda 2019.10 (https://github.com/ContinuumIO/anaconda-issues/issues/11374) +// Anaconda 2019.10 and 2020.02 (https://github.com/ContinuumIO/anaconda-issues/issues/11374) // AppStore Python on Windows 10 (dll can't be loaded from outside of Appx package) static bool bad_entry(const pylib_entry_t &e) { @@ -314,9 +314,10 @@ static bool bad_entry(const pylib_entry_t &e) out("Ignoring unusable Python 3.8.0 \"%s\"\n", !e.paths.empty() ? e.paths[0].c_str() : "?"); return true; } - if ( e.display_name == "Anaconda 2019.10" ) + if ( e.display_name == "Anaconda 2019.10" + || e.display_name == "Anaconda 2020.02" ) { - out("Ignoring unusable Anaconda 2019.10 \"%s\"\n", !e.paths.empty() ? e.paths[0].c_str() : "?"); + out("Ignoring unusable %s \"%s\"\n", e.display_name.c_str(), !e.paths.empty() ? e.paths[0].c_str() : "?"); return true; } if ( has_appx_path(e.paths) ) diff --git a/out_of_tree/parsed_notifications.zip b/out_of_tree/parsed_notifications.zip index c8ecd87..876b6c9 100644 Binary files a/out_of_tree/parsed_notifications.zip and b/out_of_tree/parsed_notifications.zip differ diff --git a/pydoc_injections2.txt b/pydoc_injections2.txt index 162ac42..36e43fd 100644 --- a/pydoc_injections2.txt +++ b/pydoc_injections2.txt @@ -7694,8 +7694,9 @@ class dirspec_t(__builtin__.object) | __disown__(self) | | __init__(self, *args) - | __init__(self, nm=None) -> dirspec_t + | __init__(self, nm=None, f=0) -> dirspec_t | nm: char const * + | f: uint32 | | __repr__ = _swig_repr(self) | @@ -7733,6 +7734,9 @@ class dirspec_t(__builtin__.object) | __weakref__ | list of weak references to the object (if defined) | + | flags + | dirspec_t_flags_get(self) -> uint32 + | | nodename | dirspec_t_nodename_get(self) -> qstring * | @@ -7742,6 +7746,10 @@ class dirspec_t(__builtin__.object) | ---------------------------------------------------------------------- | Data and other attributes defined here: | + | DSF_INODE_EA = 1 + | + | DSF_PRIVRANGE = 2 + | | __swig_destroy__ = | delete_dirspec_t(self) @@ -25902,11 +25910,12 @@ Help on function install_microcode_filter in module ida_hexrays: install_microcode_filter(*args) register/unregister non-standard microcode generator - install_microcode_filter(filter, install=True) + install_microcode_filter(filter, install=True) -> bool @param filter: - microcode generator object (C++: microcode_filter_t *) @param install: - TRUE - register the object, FALSE - unregister (C++: bool) + @return: success Help on function is_additive in module ida_hexrays: @@ -28073,6 +28082,9 @@ class mba_t(__builtin__.object) | clr_mba_flags2(self, f) | @param f (C++: int) | + | code16_bit_removed(self, *args) + | code16_bit_removed(self) -> bool + | | combine_blocks(self, *args) | Combine blocks. This function merges blocks constituting linear flow. | It calls 'remove_empty_blocks()' as well. @@ -35316,12 +35328,18 @@ class udc_filter_t(microcode_filter_t) | init(self, decl) -> bool | @param decl (C++: const char *) | + | install(self, *args) + | install(self) + | | match(self, *args) | return true if the filter object should be appied to given instruction | | match(self, cdg) -> bool | @param cdg (C++: codegen_t &) | + | remove(self, *args) + | remove(self) -> bool + | | ---------------------------------------------------------------------- | Data descriptors defined here: | @@ -50585,10 +50603,11 @@ class reg_info_t(__builtin__.object) Help on function register_cfgopts in module ida_idp: register_cfgopts(*args) - register_cfgopts(opts, nopts, cb=None) -> bool + register_cfgopts(opts, nopts, cb=None, obj=None) -> bool opts: cfgopt_t const [] nopts: size_t cb: config_changed_cb_t * + obj: void * Help on function set_module_data in module ida_idp: @@ -67480,8 +67499,8 @@ set_outfile_encoding_idx(*args) set encoding to be used when producing files set_outfile_encoding_idx(idx) -> bool - @param idx: the encoding index idx can be 0 to use the IDB's default 1 - -byte-per-unit encoding (C++: int) + @param idx: + Help on function set_refinfo in module ida_nalt: diff --git a/pydoc_injections3.txt b/pydoc_injections3.txt index 222c21b..a32025e 100644 --- a/pydoc_injections3.txt +++ b/pydoc_injections3.txt @@ -7664,8 +7664,9 @@ class dirspec_t(builtins.object) | __disown__(self) | | __init__(self, *args) - | __init__(self, nm=None) -> dirspec_t + | __init__(self, nm=None, f=0) -> dirspec_t | nm: char const * + | f: uint32 | | __repr__ = _swig_repr(self) | @@ -7706,11 +7707,21 @@ class dirspec_t(builtins.object) | __weakref__ | list of weak references to the object (if defined) | + | flags + | dirspec_t_flags_get(self) -> uint32 + | | nodename | dirspec_t_nodename_get(self) -> qstring * | | thisown | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | DSF_INODE_EA = 1 + | + | DSF_PRIVRANGE = 2 Help on class dirtree_cursor_t in module ida_dirtree: @@ -28131,6 +28142,9 @@ class mba_t(builtins.object) | clr_mba_flags2(self, f) | @param f (C++: int) | + | code16_bit_removed(self, *args) -> 'bool' + | code16_bit_removed(self) -> bool + | | combine_blocks(self, *args) -> 'bool' | Combine blocks. This function merges blocks constituting linear flow. | It calls 'remove_empty_blocks()' as well. @@ -68010,8 +68024,8 @@ set_outfile_encoding_idx(*args) -> 'bool' set encoding to be used when producing files set_outfile_encoding_idx(idx) -> bool - @param idx: the encoding index idx can be 0 to use the IDB's default - 1-byte-per-unit encoding (C++: int) + @param idx: + Help on function set_refinfo in module ida_nalt: diff --git a/release_api_contents3.txt b/release_api_contents3.txt index ff55184..baad621 100644 --- a/release_api_contents3.txt +++ b/release_api_contents3.txt @@ -5737,6 +5737,7 @@ 'mba_t_clr_cdtr', 'mba_t_clr_mba_flags', 'mba_t_clr_mba_flags2', + 'mba_t_code16_bit_removed', 'mba_t_combine_blocks', 'mba_t_common_stkvars_stkargs', 'mba_t_consumed_argregs_get', @@ -10953,4 +10954,4 @@ 'xreflist_t_swap', 'xreflist_t_truncate', 'yword_flag', - 'zword_flag']} \ No newline at end of file + 'zword_flag']} diff --git a/release_pydoc_injections3.txt b/release_pydoc_injections3.txt index 2ec5967..d96c711 100644 --- a/release_pydoc_injections3.txt +++ b/release_pydoc_injections3.txt @@ -27145,6 +27145,9 @@ class mba_t(builtins.object) | clr_mba_flags2(self, f) | @param f (C++: int) | + | code16_bit_removed(self, *args) -> 'bool' + | code16_bit_removed(self) -> bool + | | combine_blocks(self, *args) -> 'bool' | Combine blocks. This function merges blocks constituting linear flow. | It calls 'remove_empty_blocks()' as well. diff --git a/tools/dumpdoc.py b/tools/dumpdoc.py index cbece85..8abe404 100644 --- a/tools/dumpdoc.py +++ b/tools/dumpdoc.py @@ -339,6 +339,12 @@ def dump_namespace(namespace, namespace_name, keys, vec_info=None): if should_ignore_name(thing_name): continue thing = getattr(namespace, thing_name) + # KLUDGE + if thing_name == "IDB_Hooks": + try: + del thing.dirtree_segm_moved + except: + pass if isinstance(thing, ignore_types): continue if thing in spotted_things: diff --git a/tools/genhooks/recipe_idbhooks.py b/tools/genhooks/recipe_idbhooks.py index 7fc8291..69466ab 100644 --- a/tools/genhooks/recipe_idbhooks.py +++ b/tools/genhooks/recipe_idbhooks.py @@ -14,6 +14,7 @@ recipe = { { "name" : "cid", "type" : "const_t" }, ], }, + "dirtree_segm_moved" : {"ignore" : True}, } default_rtype = "void"