summaryrefslogtreecommitdiff
path: root/venv/lib/python3.11/site-packages/jsbeautifier/unpackers/javascriptobfuscator.py
diff options
context:
space:
mode:
authorcyfraeviolae <cyfraeviolae>2024-04-03 03:17:55 -0400
committercyfraeviolae <cyfraeviolae>2024-04-03 03:17:55 -0400
commit12cf076118570eebbff08c6b3090e0d4798447a1 (patch)
tree3ba25e17e3c3a5e82316558ba3864b955919ff72 /venv/lib/python3.11/site-packages/jsbeautifier/unpackers/javascriptobfuscator.py
parentc45662ff3923b34614ddcc8feb9195541166dcc5 (diff)
no venv
Diffstat (limited to 'venv/lib/python3.11/site-packages/jsbeautifier/unpackers/javascriptobfuscator.py')
-rw-r--r--venv/lib/python3.11/site-packages/jsbeautifier/unpackers/javascriptobfuscator.py61
1 files changed, 0 insertions, 61 deletions
diff --git a/venv/lib/python3.11/site-packages/jsbeautifier/unpackers/javascriptobfuscator.py b/venv/lib/python3.11/site-packages/jsbeautifier/unpackers/javascriptobfuscator.py
deleted file mode 100644
index bd3a331..0000000
--- a/venv/lib/python3.11/site-packages/jsbeautifier/unpackers/javascriptobfuscator.py
+++ /dev/null
@@ -1,61 +0,0 @@
-#
-# simple unpacker/deobfuscator for scripts messed up with
-# javascriptobfuscator.com
-#
-# written by Einar Lielmanis <einar@beautifier.io>
-# rewritten in Python by Stefano Sanfilippo <a.little.coder@gmail.com>
-#
-# Will always return valid javascript: if `detect()` is false, `code` is
-# returned, unmodified.
-#
-# usage:
-#
-# if javascriptobfuscator.detect(some_string):
-# some_string = javascriptobfuscator.unpack(some_string)
-#
-
-"""deobfuscator for scripts messed up with JavascriptObfuscator.com"""
-
-import re
-
-PRIORITY = 1
-
-
-def smartsplit(code):
- """Split `code` at " symbol, only if it is not escaped."""
- strings = []
- pos = 0
- while pos < len(code):
- if code[pos] == '"':
- word = "" # new word
- pos += 1
- while pos < len(code):
- if code[pos] == '"':
- break
- if code[pos] == "\\":
- word += "\\"
- pos += 1
- word += code[pos]
- pos += 1
- strings.append('"%s"' % word)
- pos += 1
- return strings
-
-
-def detect(code):
- """Detects if `code` is JavascriptObfuscator.com packed."""
- # prefer `is not` idiom, so that a true boolean is returned
- return re.search(r"^var _0x[a-f0-9]+ ?\= ?\[", code) is not None
-
-
-def unpack(code):
- """Unpacks JavascriptObfuscator.com packed code."""
- if detect(code):
- matches = re.search(r"var (_0x[a-f\d]+) ?\= ?\[(.*?)\];", code)
- if matches:
- variable = matches.group(1)
- dictionary = smartsplit(matches.group(2))
- code = code[len(matches.group(0)) :]
- for key, value in enumerate(dictionary):
- code = code.replace(r"%s[%s]" % (variable, key), value)
- return code