global referrer
req = urllib2.Request(url)
- if referrer:
+ if not referrer:
+ referrer = url
+ else:
req.add_header("Referer", referrer)
- referrer = url
req.add_header("User-Agent", USER_AGENT)
for dep in deps:
extract_function(output, script, dep)
+def find_func_name(script):
+ FUNC_NAME = R"([a-zA-Z0-9$]+)"
+ FUNC_PARAMS = R"(\([a-zA-Z]+\.s\))"
+ PATTERN = FUNC_NAME + FUNC_PARAMS + ";"
+
+ match = re.search(PATTERN, script)
+ func_name = match.groups()[0]
+ return func_name
+
def decode_signature(js_url, s):
script = urlopen(js_url).read()
- func_name = re.search(R"\b([a-zA-Z]+)\([a-zA-Z]+\.s\);", script).groups()[0]
+ func_name = find_func_name(script)
codes = []
extract_function(codes, script, func_name)