summaryrefslogtreecommitdiffstats
path: root/sploit/main.py
diff options
context:
space:
mode:
authorMalfurious <m@lfurio.us>2024-01-13 09:26:09 -0500
committerMalfurious <m@lfurio.us>2024-01-13 17:22:12 -0500
commitd051f6d7daa4e0c025dcb58af392cca47c6019d7 (patch)
treec10e90326ee2772ced8e9ee7d74d8c9f870cd1d9 /sploit/main.py
parent03e1f242f69903fcd132010228259231301b3f43 (diff)
downloadnsploit-d051f6d7daa4e0c025dcb58af392cca47c6019d7.tar.gz
nsploit-d051f6d7daa4e0c025dcb58af392cca47c6019d7.zip
Remove extra "main.py" file
The CLI logic is moved to sploit/__main__.py. This file is now the target of: - python -m sploit - sploit.py (via import) - sploit (installed executable - via pyproject.toml) A module guard (`if __name__ == "__main__"`) is added to allow the application to run when this file is invoked directly. And the entrypoint symlink is no longer necessary. Signed-off-by: Malfurious <m@lfurio.us>
Diffstat (limited to '')
-rw-r--r--sploit/main.py65
1 files changed, 0 insertions, 65 deletions
diff --git a/sploit/main.py b/sploit/main.py
deleted file mode 100644
index 5fd5192..0000000
--- a/sploit/main.py
+++ /dev/null
@@ -1,65 +0,0 @@
-from argparse import ArgumentParser, REMAINDER
-import gc
-from os.path import isdir
-import tempfile
-import traceback
-
-from sploit.comm.comm import *
-from sploit.util.log import *
-from sploit import __version__
-
-def print_banner(color, line1=__version__, line2='', line3=''):
- ilog()
- ilog(' ░▒█▀▀▀█░▒█▀▀█░▒█░░░░▒█▀▀▀█░▀█▀░▀▀█▀▀ ', end='', color=ALT)
- ilog(line1, color=ALT)
- ilog(' ░░▀▀▀▄▄░▒█▄▄█░▒█░░░░▒█░░▒█░▒█░░░▒█░░ ', end='', color=color)
- ilog(line2, color=ALT)
- ilog(' ░▒█▄▄▄█░▒█░░░░▒█▄▄█░▒█▄▄▄█░▄█▄░░▒█░░ ', end='', color=ALT)
- ilog(line3, color=ALT)
- ilog()
-
-def main():
- parser = ArgumentParser(description='Execute Sploit script against target')
- parser.add_argument('script', help='Exploit script to run')
- parser.add_argument('target', nargs=REMAINDER, help='Target cmdline or pipes directory')
- args = parser.parse_args()
-
- if len(args.target) == 0:
- with tempfile.TemporaryDirectory() as tmpdir:
- pipe(args.script, tmpdir)
- elif len(args.target) == 1 and isdir(args.target[0]):
- pipe(args.script, args.target[0])
- else:
- target(args.script, args.target)
-
-def pipe(script, tmpdir):
- print_banner(ERROR, line3='Pipe Mode')
- while True:
- try:
- p = Pipes(tmpdir)
- except KeyboardInterrupt:
- break
- runscript(script, Comm(p))
- del p
-
-def target(script, target):
- print_banner(STATUS, line3='Subprocess Mode')
- runscript(script, Comm(Process(target)))
-
-def runscript(script, comm):
- try:
- ilog("Running Script...")
- code = compile(open(script).read(), script, 'exec')
- exec(code, {'io': comm, 'print': elog})
- ilog("Script Finished!")
- return
- except KeyboardInterrupt:
- pass
- except:
- ilog(traceback.format_exc(), end='', color=ERROR)
- finally:
- comm.shutdown()
- comm.readall()
- gc.collect()
-
- ilog("Script Ended Early!", color=WARNING)