diff options
Diffstat (limited to 'venv/lib/python3.11/site-packages/jsbeautifier/unpackers/evalbased.py')
-rw-r--r-- | venv/lib/python3.11/site-packages/jsbeautifier/unpackers/evalbased.py | 44 |
1 files changed, 0 insertions, 44 deletions
diff --git a/venv/lib/python3.11/site-packages/jsbeautifier/unpackers/evalbased.py b/venv/lib/python3.11/site-packages/jsbeautifier/unpackers/evalbased.py deleted file mode 100644 index 74f1f0f..0000000 --- a/venv/lib/python3.11/site-packages/jsbeautifier/unpackers/evalbased.py +++ /dev/null @@ -1,44 +0,0 @@ -# -# Unpacker for eval() based packers, a part of javascript beautifier -# by Einar Lielmanis <einar@beautifier.io> -# -# written by Stefano Sanfilippo <a.little.coder@gmail.com> -# -# usage: -# -# if detect(some_string): -# unpacked = unpack(some_string) -# - -"""Unpacker for eval() based packers: runs JS code and returns result. -Works only if a JS interpreter (e.g. Mozilla's Rhino) is installed and -properly set up on host.""" - -from subprocess import PIPE, Popen - -PRIORITY = 3 - - -def detect(source): - """Detects if source is likely to be eval() packed.""" - return source.strip().lower().startswith("eval(function(") - - -def unpack(source): - """Runs source and return resulting code.""" - return jseval("print %s;" % source[4:]) if detect(source) else source - - -# In case of failure, we'll just return the original, without crashing on user. - - -def jseval(script): - """Run code in the JS interpreter and return output.""" - try: - interpreter = Popen(["js"], stdin=PIPE, stdout=PIPE) - except OSError: - return script - result, errors = interpreter.communicate(script) - if interpreter.poll() or errors: - return script - return result |