diff options
| author | Peter LaFosse <peter@vector35.com> | 2018-03-05 16:09:30 -0500 |
|---|---|---|
| committer | Ryan Snyder <ryan@vector35.com> | 2018-07-10 18:11:08 -0400 |
| commit | d4d1fbb390c9a31045cea8e612c02e242d11c438 (patch) | |
| tree | 11a1fcd229d1efc81440080ae0a26dda67b584f6 /python/__init__.py | |
| parent | 8849fb2b2b8dc824bd3f17ce1026a04856477a94 (diff) | |
Additional changes for python 2/3 compatibility
Diffstat (limited to 'python/__init__.py')
| -rw-r--r-- | python/__init__.py | 49 |
1 files changed, 47 insertions, 2 deletions
diff --git a/python/__init__.py b/python/__init__.py index 66f4bfe8..d88703cc 100644 --- a/python/__init__.py +++ b/python/__init__.py @@ -22,10 +22,41 @@ from __future__ import absolute_import import atexit import sys +import ctypes from time import gmtime # Binary Ninja components -from binaryninja import _binaryninjacore as core +import binaryninja._binaryninjacore as core +# __all__ = [ +# "enums", +# "databuffer", +# "filemetadata", +# "fileaccessor", +# "binaryview", +# "transform", +# "architecture", +# "basicblock", +# "function", +# "log", +# "lowlevelil", +# "mediumlevelil", +# "types", +# "functionrecognizer", +# "update", +# "plugin", +# "callingconvention", +# "platform", +# "demangle", +# "mainthread", +# "interaction", +# "lineardisassembly", +# "undoaction", +# "highlight", +# "scriptingprovider", +# "pluginmanager", +# "setting", +# "metadata", +# ] from binaryninja.enums import * from binaryninja.databuffer import * from binaryninja.filemetadata import * @@ -116,7 +147,7 @@ class PluginManagerLoadPluginCallback(object): load_plugin = PluginManagerLoadPluginCallback() -core.BNRegisterForPluginLoading(_plugin_api_name, load_plugin.cb, 0) +core.BNRegisterForPluginLoading(_plugin_api_name.encode("utf8"), load_plugin.cb, 0) class _DestructionCallbackHandler(object): @@ -138,6 +169,20 @@ class _DestructionCallbackHandler(object): Function._unregister(func) +_plugin_init = False + + +def _init_plugins(): + global _plugin_init + if not _plugin_init: + _plugin_init = True + core.BNInitCorePlugins() + core.BNInitUserPlugins() + core.BNInitRepoPlugins() + if not core.BNIsLicenseValidated(): + raise RuntimeError("License is not valid. Please supply a valid license.") + + _destruct_callbacks = _DestructionCallbackHandler() bundled_plugin_path = core.BNGetBundledPluginDirectory() |
