From 12cf076118570eebbff08c6b3090e0d4798447a1 Mon Sep 17 00:00:00 2001 From: cyfraeviolae Date: Wed, 3 Apr 2024 03:17:55 -0400 Subject: no venv --- .../jsbeautifier/unpackers/javascriptobfuscator.py | 61 ---------------------- 1 file changed, 61 deletions(-) delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/unpackers/javascriptobfuscator.py (limited to 'venv/lib/python3.11/site-packages/jsbeautifier/unpackers/javascriptobfuscator.py') 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 -# rewritten in Python by Stefano Sanfilippo -# -# 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 -- cgit v1.2.3