From 09fa6c15e9c8178d90e518c6cf2022b70e915027 Mon Sep 17 00:00:00 2001 From: plusls Date: Thu, 16 Nov 2023 20:51:06 +0800 Subject: [PATCH 1/2] make ipyida support global var defined in ida python script. It works, but why? --- ipyida/kernel.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ipyida/kernel.py b/ipyida/kernel.py index 814b191..8554434 100644 --- a/ipyida/kernel.py +++ b/ipyida/kernel.py @@ -133,7 +133,9 @@ def start(self): # IDAPythonStdOut instance log=logging.getLogger("ipyida_kernel") ) + main_module = sys.modules['__main__'] app.initialize() + app.kernel.user_module=main_module main = app.kernel.shell._orig_sys_modules_main_mod if main is not None: From f1ba386121d9b40697182d3badbbf466c31f7d99 Mon Sep 17 00:00:00 2001 From: plusls Date: Sat, 4 May 2024 01:56:54 +0800 Subject: [PATCH 2/2] feat: make var sync with ida --- .gitignore | 1 + ipyida/kernel.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index cf4d2c6..5f56985 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ /build/ /dist/ /*.egg-info/ +__pycache__ \ No newline at end of file diff --git a/ipyida/kernel.py b/ipyida/kernel.py index 8554434..cacac57 100644 --- a/ipyida/kernel.py +++ b/ipyida/kernel.py @@ -136,7 +136,7 @@ def start(self): main_module = sys.modules['__main__'] app.initialize() app.kernel.user_module=main_module - + app.kernel.user_ns=main_module.__dict__ main = app.kernel.shell._orig_sys_modules_main_mod if main is not None: sys.modules[app.kernel.shell._orig_sys_modules_main_name] = main