aboutsummaryrefslogtreecommitdiffstats
path: root/mitmproxy/contrib/jsbeautifier/unpackers/evalbased.py
diff options
context:
space:
mode:
Diffstat (limited to 'mitmproxy/contrib/jsbeautifier/unpackers/evalbased.py')
-rw-r--r--mitmproxy/contrib/jsbeautifier/unpackers/evalbased.py39
1 files changed, 0 insertions, 39 deletions
diff --git a/mitmproxy/contrib/jsbeautifier/unpackers/evalbased.py b/mitmproxy/contrib/jsbeautifier/unpackers/evalbased.py
deleted file mode 100644
index b17d926e..00000000
--- a/mitmproxy/contrib/jsbeautifier/unpackers/evalbased.py
+++ /dev/null
@@ -1,39 +0,0 @@
-#
-# Unpacker for eval() based packers, a part of javascript beautifier
-# by Einar Lielmanis <einar@jsbeautifier.org>
-#
-# 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