From debc0a42457619309039579cd1615588d5d221e0 Mon Sep 17 00:00:00 2001 From: Malfurious Date: Sat, 13 Jan 2024 15:03:30 -0500 Subject: main: Automatically provide top-level sploit modules to user scripts Signed-off-by: Malfurious --- sploit/__main__.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/sploit/__main__.py b/sploit/__main__.py index 5b694a2..5d53ca6 100644 --- a/sploit/__main__.py +++ b/sploit/__main__.py @@ -46,11 +46,19 @@ def target(script, target): print_banner(STATUS, line3='Subprocess Mode') runscript(script, Comm(Process(target))) +def user_scope(comm): + import sploit as lib + scope = { name: getattr(lib, name) for name in dir(lib) } + scope['__version__'] = __version__ + scope['print'] = elog + scope['io'] = comm + return scope + def runscript(script, comm): try: ilog("Running Script...") code = compile(open(script).read(), script, 'exec') - exec(code, {'io': comm, 'print': elog}) + exec(code, user_scope(comm)) ilog("Script Finished!") return except KeyboardInterrupt: -- cgit v1.2.3