├── 5173 ├── __init__.py └── 5173_passwprd.py ├── aipai ├── __init__.py ├── aipai_password.py └── aipai_password.js ├── fang ├── __init__.py ├── 房天下.py └── fang.js ├── gsxt ├── __init__.py ├── 反混淆.py ├── cookies.py └── 第二次请求.js ├── hlct ├── __init__.py └── hlct_encryption.js ├── lagou ├── __init__.py └── lagou_password.py ├── rjs ├── __init__.py ├── rjs_sign.py └── rjs_sign.js ├── taobao ├── __init__.py └── h5_sign.py ├── zgc ├── __init__.py ├── zgc_pwd.py └── 请求头加引号.py ├── jycinema ├── __init__.py ├── jy_params.py └── jy_params.js ├── yuanrenxue ├── 1 │ ├── __init__.py │ ├── 1.py │ └── 1.js ├── 2 │ ├── 2.py │ └── 2.js ├── 3 │ ├── __init__.py │ ├── 请求头加引号.py │ └── 3.py └── 4 │ ├── __init__.py │ ├── test.jpg │ └── 4.py └── .gitignore /5173/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /aipai/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /fang/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /gsxt/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /hlct/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lagou/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /rjs/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /taobao/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /zgc/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jycinema/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /yuanrenxue/1/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /yuanrenxue/3/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /yuanrenxue/4/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /yuanrenxue/4/test.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OneJane/JsCrack/HEAD/yuanrenxue/4/test.jpg -------------------------------------------------------------------------------- /gsxt/反混淆.py: -------------------------------------------------------------------------------- 1 | import execjs 2 | 3 | with open(r'第二次请求.js', encoding='utf-8', mode='r') as f: 4 | JsData = f.read() 5 | cookie = execjs.compile(JsData).call('request') 6 | print(cookie) -------------------------------------------------------------------------------- /yuanrenxue/3/请求头加引号.py: -------------------------------------------------------------------------------- 1 | import re 2 | 3 | old_headers =''' 4 | userid: 15806204095 5 | pwd: 74ce2ba17b2c218246e778fb5e895c95 6 | isAuto: 1 7 | backurl: http://www.zol.com.cn/ 8 | tmallBtn: 0 9 | activeBtn: 0 10 | headPicid: 0 11 | 12 | ''' 13 | 14 | pattern = '^(.*?):[\s]*(.*?)$' 15 | headers = "" 16 | for line in old_headers.splitlines(): 17 | headers += (re.sub(pattern,'\'\\1\': \'\\2\',',line)) + '\n' 18 | print(headers[:-2]) 19 | 20 | -------------------------------------------------------------------------------- /rjs/rjs_sign.py: -------------------------------------------------------------------------------- 1 | import json 2 | 3 | import requests 4 | import execjs 5 | 6 | username = "15806204095" 7 | psssword = "123" 8 | with open(r'rjs_sign.js', encoding='utf-8', mode='r') as f: 9 | JsData = f.read() 10 | sign = execjs.compile(JsData).call('request',username,psssword) 11 | data = json.dumps({"platform":"wap","session_token":"","session_id":"","data":{"userName":username,"password":psssword},"sign":sign,"timestamp":1618153079455}) 12 | r =requests.post("https://m.rjs.com/japi/account/login.json",data) 13 | print(r.text) -------------------------------------------------------------------------------- /zgc/zgc_pwd.py: -------------------------------------------------------------------------------- 1 | import requests 2 | from hashlib import md5 3 | 4 | username = '15806204095' 5 | pwd = '123' 6 | md5_pwd = md5((pwd + 'zol').encode('utf8')).hexdigest() 7 | print(md5_pwd) 8 | url = 'https://service.zol.com.cn/user/ajax/siteLogin/login.php' 9 | data = { 10 | 'userid': username, 11 | 'pwd': md5_pwd, 12 | 'isAuto': '1', 13 | 'backurl': 'http://www.zol.com.cn/', 14 | 'tmallBtn': '0', 15 | 'activeBtn': '0', 16 | 'headPicid': '0', 17 | } 18 | r =requests.post(url,data) 19 | print(r.text) 20 | -------------------------------------------------------------------------------- /lagou/lagou_password.py: -------------------------------------------------------------------------------- 1 | import requests 2 | from hashlib import md5 3 | 4 | username = '15806204095' 5 | pwd = '123' 6 | md5_pwd = md5(("veenike" + md5(pwd.encode('utf8')).hexdigest() + "veenike").encode("utf8")).hexdigest() 7 | print(md5_pwd) 8 | url = 'https://passport.lagou.com/login/login.json?jsoncallback=jQuery111306946515748870927_1618229101639&isValidate=true&username='+username+'&password=+'+md5_pwd+'+&request_form_verifyCode=&challenge=c3bebcad0648898aa58cb3f4dbf2f820&_=1618229101642' 9 | r =requests.get(url) 10 | print(r.text) 11 | -------------------------------------------------------------------------------- /aipai/aipai_password.py: -------------------------------------------------------------------------------- 1 | import requests 2 | import execjs 3 | 4 | username = "15806204095" 5 | password = "123" 6 | with open(r'aipai_password.js', encoding='utf-8', mode='r') as f: 7 | JsData = f.read() 8 | password = execjs.compile(JsData).call('pwd', password) 9 | print(password) 10 | data = { 11 | 'action': 'loginNew', 12 | 'user': username, 13 | 'password': password, 14 | 'keeplogin': '1', 15 | 'comouterTime': '1', 16 | 'userNowTime': '1618281089', 17 | 18 | } 19 | r = requests.post("http://www.aipai.com/login.php", data) 20 | print(r.text) 21 | -------------------------------------------------------------------------------- /yuanrenxue/2/2.py: -------------------------------------------------------------------------------- 1 | import requests 2 | import execjs 3 | import time 4 | 5 | def get_page(page_num,param): 6 | url = "http://match.yuanrenxue.com/api/match/2?page={}".format(page_num) 7 | headers = { 8 | 'Host': 'match.yuanrenxue.com', 9 | 'Referer':'http://match.yuanrenxue.com/match/2', 10 | 'User-Agent':'yuanrenxue.project', 11 | 'X-Requested-With':'XMLHttpRequest', 12 | 'Cookie': param 13 | } 14 | resonse = requests.get(url=url,headers=headers) 15 | return resonse.json() 16 | def calculate_m_value(): 17 | with open(r'2.js',encoding='utf-8',mode='r') as f: 18 | JsData = f.read() 19 | psd = execjs.compile(JsData).call('request') 20 | psd = psd.replace('丨','%E4%B8%A8') 21 | print('this request parameters is :',psd) 22 | return psd 23 | 24 | if __name__ == '__main__': 25 | sum_num = 0 26 | for page_num in range(1,6): 27 | res = get_page(page_num,calculate_m_value()) 28 | data = [__['value'] for __ in res['data']] 29 | print(data) 30 | sum_num+=sum(data) 31 | time.sleep(1) 32 | 33 | print('the answer is :',sum_num) -------------------------------------------------------------------------------- /zgc/请求头加引号.py: -------------------------------------------------------------------------------- 1 | import re 2 | 3 | old_headers =''' 4 | content-type: application/json 5 | cookie: ptui_loginuin=1014733295; RK=va4NP05bfz; ptcz=18f7f01cc903421602b4db393f3cfbeb2fc08fde11e33373820b1d1fd9c55e15; pgv_pvid=4895108636; ts_uid=702913858; ts_refer=e.qq.com/dev/index.html; adnet_uin=808020614059; adnet_uname=%E8%8B%8F%E5%B7%9E%E6%91%A9%E5%A4%9A%E5%A4%9A%E4%BF%A1%E6%81%AF%E7%A7%91%E6%8A%80%E6%9C%89%E9%99%90%E5%85%AC%E5%8F%B8; adnet_openId=E7BB4780ACE6D9DE240C87F02ABFC82B; adnet_li=$1$fdsffdfd$dEgR7tbsbpNMmv0nhJfiJ1; adnet_sso_flag=1; adnet_sso=TGT-27188-b4LXe0Y_bngUXYeYNmuTyxKzx.yeis2dLp7wc6hvV_eAoPaaPgF.SFgQGTwUmL3r; adnet_atype=Member; pgv_info=ssid=s7697369030; ts_last=adnet.qq.com/index 6 | origin: https://adnet.qq.com 7 | pragma: no-cache 8 | referer: https://adnet.qq.com/report/list 9 | sec-fetch-mode: cors 10 | sec-fetch-site: same-origin 11 | sign: 20ec031148f1070b56ffffb720ad2c40 12 | time: 1619677454486 13 | user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.70 Safari/537.36 14 | x-requested-with: XMLHttpRequest 15 | ''' 16 | 17 | pattern = '^(.*?):[\s]*(.*?)$' 18 | headers = "" 19 | for line in old_headers.splitlines(): 20 | headers += (re.sub(pattern,'\'\\1\': \'\\2\',',line)) + '\n' 21 | print(headers[:-2]) 22 | 23 | -------------------------------------------------------------------------------- /fang/房天下.py: -------------------------------------------------------------------------------- 1 | import requests 2 | import execjs 3 | 4 | account = "***" 5 | password = "***" 6 | 7 | 8 | def get_pwd(): 9 | with open("fang.js", "r") as f: 10 | js_code = f.read() 11 | results = execjs.compile(js_code).call("getpwd", password) 12 | return results 13 | 14 | 15 | def login(): 16 | url = 'https://passport.fang.com/login.api' 17 | pwd = get_pwd() 18 | data = { 19 | 'uid': account, 20 | 'pwd': pwd, 21 | 'Service': 'soufun-passport-web', 22 | 'AutoLogin': '1', 23 | } 24 | headers = { 25 | 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36', 26 | 'X-Requested-With': 'XMLHttpRequest', 27 | 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8', 28 | 'Host': 'passport.fang.com', 29 | 'Origin': 'https://passport.fang.com', 30 | 'Pragma': 'no-cache', 31 | 'Referer': 'https://passport.fang.com/?backurl=https%3A%2F%2Fsuzhou.fang.com%2F', 32 | 'Sec-Fetch-Dest': 'empty', 33 | 'Sec-Fetch-Mode': 'cors', 34 | 'Sec-Fetch-Site': 'same-origin', 35 | } 36 | response = requests.post(url, data, headers=headers) 37 | print(response.text) 38 | 39 | 40 | if __name__ == '__main__': 41 | login() 42 | -------------------------------------------------------------------------------- /yuanrenxue/1/1.py: -------------------------------------------------------------------------------- 1 | import time 2 | import execjs 3 | import requests 4 | def get_page(page_num,parameters): 5 | url = 'http://match.yuanrenxue.com/api/match/1?page={}&m={}'.format(page_num,parameters) 6 | headers = { 7 | 'Host': 'match.yuanrenxue.com', 8 | 'Referer': 'http://match.yuanrenxue.com/match/1', 9 | 'User-Agent': 'yuanrenxue.project', 10 | 'X-Requested-With': 'XMLHttpRequest', 11 | 'Cookie': 'qpfccr=true; Hm_lvt_c99546cf032aaa5a679230de9a95c7db=1607556997,1607557857; Hm_lpvt_c99546cf032aaa5a679230de9a95c7db=1607557857; no-alert=true' 12 | } 13 | response = requests.get(url=url,headers=headers) 14 | return response.json() 15 | 16 | def calculate_m_value(): 17 | with open(r'1.js',encoding='utf-8',mode='r') as f: 18 | JsData = f.read() 19 | psd = execjs.compile(JsData).call('request') 20 | psd = psd.replace('丨','%E4%B8%A8') 21 | print('this request parameters is :',psd) 22 | return psd 23 | 24 | if __name__ == '__main__': 25 | sum_num = 0 26 | index_num = 0 27 | for page_num in range(1,6): 28 | res = get_page(page_num,calculate_m_value()) 29 | data = [__['value'] for __ in res['data']] 30 | print(data) 31 | sum_num+=sum(data) 32 | index_num += len(data) 33 | time.sleep(1) 34 | 35 | average = sum_num/index_num 36 | print('the answer is :',average) -------------------------------------------------------------------------------- /yuanrenxue/3/3.py: -------------------------------------------------------------------------------- 1 | import requests 2 | 3 | session = requests.session() 4 | headers = { 5 | 'Connection': 'keep-alive', 6 | 'Accept': 'application/json, text/javascript, */*; q=0.01', 7 | 'X-Requested-With': 'XMLHttpRequest', 8 | 'User-Agent': 'yuanrenxue.project', 9 | 'Referer': 'http://match.yuanrenxue.com/match/3', 10 | 'Accept-Encoding': 'gzip, deflate', 11 | 'Accept-Language': 'zh-CN,zh;q=0.9' 12 | } 13 | session.headers = headers 14 | url_logo = 'http://match.yuanrenxue.com/logo' 15 | res = session.post(url_logo) 16 | print(res, res.cookies) 17 | url = 'http://match.yuanrenxue.com/api/match/3?page=1' 18 | res = session.get(url=url) 19 | data = res.json()["data"] 20 | vl = [v['value'] for v in data] 21 | 22 | res = session.post(url_logo) 23 | url = 'http://match.yuanrenxue.com/api/match/3?page=2' 24 | data = session.get(url=url).json()["data"] 25 | vl.append([v['value'] for v in data]) 26 | 27 | session.post(url_logo) 28 | url = 'http://match.yuanrenxue.com/api/match/3?page=3' 29 | data = session.get(url=url).json()["data"] 30 | vl.append([v['value'] for v in data]) 31 | 32 | session.post(url_logo) 33 | url = 'http://match.yuanrenxue.com/api/match/3?page=4' 34 | data = session.get(url=url).json()["data"] 35 | vl.append([v['value'] for v in data]) 36 | 37 | session.post(url_logo) 38 | url = 'http://match.yuanrenxue.com/api/match/3?page=5' 39 | data = session.get(url=url).json()["data"] 40 | vl.append([v['value'] for v in data]) 41 | 42 | print(max(vl,key=vl.count)) -------------------------------------------------------------------------------- /jycinema/jy_params.py: -------------------------------------------------------------------------------- 1 | import json 2 | import requests 3 | import execjs 4 | import base64 5 | 6 | from requests_toolbelt import MultipartEncoder 7 | 8 | username = "15806204095" 9 | psssword = "123456" 10 | with open(r'jy_params.js', encoding='utf-8', mode='r') as f: 11 | JsData = f.read() 12 | param = {"mobileNumber": "15806204095", "sendType": "reg", "channelId": 7, "channelCode": "J0005", "memberId": ""} 13 | val = base64.b64encode(json.dumps(param).encode()) 14 | params = execjs.compile(JsData).call('getEncryption', val.decode()) 15 | print(params) 16 | headers = { 17 | 'Accept': 'application/json, text/plain, */*', 18 | 'Accept-Encoding': 'gzip, deflate', 19 | 'Accept-Language': 'zh-CN,zh;q=0.9', 20 | 'Content-Length': '341', 21 | 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8', 22 | 'Cookie': 'JSESSIONID=DD188088D4E4EAC0098C9CCBCC32E52F; Hm_lvt_62d04228e1f84e012c1d9c0227f722c3=1618618136; Hm_lpvt_62d04228e1f84e012c1d9c0227f722c3=1618618136', 23 | 'Host': 'www.jycinema.com', 24 | 'Origin': 'http://www.jycinema.com', 25 | 'Proxy-Connection': 'keep-alive', 26 | 'Referer': 'http://www.jycinema.com/wap/', 27 | 'User-Agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.72 Mobile Safari/537.36', 28 | } 29 | data = {'params': params} 30 | r = requests.post("http://www.jycinema.com/frontUIWebapp/appserver/photoMessageService/newsSendMessage", data, 31 | headers=headers) 32 | print(r.text) 33 | -------------------------------------------------------------------------------- /taobao/h5_sign.py: -------------------------------------------------------------------------------- 1 | import hashlib 2 | import json 3 | import re 4 | import time 5 | from jsonpath import jsonpath 6 | import requests 7 | 8 | APPKEY = '12574478' 9 | DATA = '{"videoId": "%s","from":"detail"}' % "301079547561" 10 | URL = 'https://h5api.m.taobao.com/h5/mtop.taobao.cloudvideo.video.queryforh5/1.0/' 11 | params = {'jsv': '2.4.11', 'appKey': APPKEY, 't': int(time.time() * 1000), 12 | 'sign': 'FAKE_SIGN_WITH_ANYTHING', 'api': 'mtop.wdetail.getItemDescx', 'callback': 'mtopjsonp1','v': '4.9', 13 | 'type': 'jsonp', 'dataType': 'jsonp', 14 | 'data': DATA} 15 | headers = { 16 | 'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 9_3_4 like Mac OS X) AppleWebKit/601.1.46 ' + \ 17 | '(KHTML, like Gecko) Version/9.0 Mobile/13G35 Safari/601.1', 18 | } 19 | images = [] 20 | # get token in first request 21 | r1 = requests.get(URL, params=params, headers=headers) 22 | token_with_time = r1.cookies.get('_m_h5_tk') 23 | token = token_with_time.split('_')[0] 24 | enc_token = r1.cookies.get('_m_h5_tk_enc') 25 | # get results in second request 26 | t2 = str(int(time.time() * 1000)) 27 | c = '&'.join([token, t2, APPKEY, DATA]) 28 | m = hashlib.md5() 29 | m.update(c.encode('utf-8')) 30 | params.update({'t': t2, 'sign': m.hexdigest()}) 31 | cookies = {'_m_h5_tk': token_with_time, '_m_h5_tk_enc': enc_token} 32 | r2 = requests.get(URL, params=params, headers=headers, cookies=cookies) 33 | results=json.loads(re.match(r' mtopjsonp1\((.*?)\)', r2.text).group(1)) 34 | video_url = jsonpath(results, '$..video_url')[1] 35 | print(video_url) 36 | -------------------------------------------------------------------------------- /5173/5173_passwprd.py: -------------------------------------------------------------------------------- 1 | import hashlib 2 | import re 3 | 4 | import requests 5 | 6 | 7 | def hex_md5(s): 8 | m = hashlib.md5() 9 | m.update(str(s).encode("utf-8")) 10 | return m.hexdigest() 11 | 12 | headers = { 13 | 'Host': 'passport.5173.com', 14 | 'Origin': 'https://passport.5173.com', 15 | 'Pragma': 'no-cache', 16 | 'Referer': 'https://passport.5173.com/?returnUrl=http%3A//www.5173.com/', 17 | 'Sec-Fetch-Mode': 'cors', 18 | 'Sec-Fetch-Site': 'same-origin', 19 | 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.70 Safari/537.36', 20 | 'X-Requested-With': 'XMLHttpRequest', 21 | } 22 | login_url = 'https://passport.5173.com/?returnUrl=http%3A//www.5173.com/' 23 | html = requests.get(login_url).text 24 | # print(html) 25 | securityToken = re.findall('SecurityToken:"(.*?)",', html, re.M | re.S)[0] 26 | passwordKey = re.findall('PasswordKey:"(.*?)",', html, re.M | re.S)[0] 27 | print(passwordKey) 28 | print(securityToken) 29 | 30 | 31 | # 滑块 'https://passport.5173.com/Sso/ValidateSlide?token={}'.format(securityToken) 32 | # hex_md5(hex_md5("123456").substr(8, 16) + "42m2gl") 33 | password = hex_md5(hex_md5("123456")[8:8 + 16] + passwordKey) 34 | userName = '15806204096' 35 | 36 | data = { 37 | 'smsLogin': '0', 38 | 'userName': userName, 39 | 'password': password, 40 | 'mobileNo': '', 41 | 'smsCaptcha': '', 42 | 'category': '', 43 | 'passpod': '', 44 | '__validationToken__': securityToken, 45 | '__validationDna__': '' 46 | } 47 | r = requests.post(login_url, data, headers=headers) 48 | print(r.text) 49 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Byte-compiled / optimized / DLL files 2 | __pycache__/ 3 | *.py[cod] 4 | *$py.class 5 | 6 | # C extensions 7 | *.so 8 | 9 | # Distribution / packaging 10 | .Python 11 | build/ 12 | develop-eggs/ 13 | dist/ 14 | downloads/ 15 | eggs/ 16 | .eggs/ 17 | lib/ 18 | lib64/ 19 | parts/ 20 | sdist/ 21 | var/ 22 | wheels/ 23 | *.egg-info/ 24 | .installed.cfg 25 | *.egg 26 | MANIFEST 27 | 28 | # PyInstaller 29 | # Usually these files are written by a python script from a template 30 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 31 | *.manifest 32 | *.spec 33 | 34 | # Installer logs 35 | pip-log.txt 36 | pip-delete-this-directory.txt 37 | 38 | # Unit test / coverage reports 39 | htmlcov/ 40 | .tox/ 41 | .coverage 42 | .coverage.* 43 | .cache 44 | nosetests.xml 45 | coverage.xml 46 | *.cover 47 | .hypothesis/ 48 | .pytest_cache/ 49 | 50 | # Translations 51 | *.mo 52 | *.pot 53 | 54 | # Django stuff: 55 | *.log 56 | local_settings.py 57 | db.sqlite3 58 | 59 | # Flask stuff: 60 | instance/ 61 | .webassets-cache 62 | 63 | # Scrapy stuff: 64 | .scrapy 65 | 66 | # Sphinx documentation 67 | docs/_build/ 68 | 69 | # PyBuilder 70 | target/ 71 | 72 | # Jupyter Notebook 73 | .ipynb_checkpoints 74 | 75 | # pyenv 76 | .python-version 77 | .idea/ 78 | # celery beat schedule file 79 | celerybeat-schedule 80 | workspace.xml 81 | # SageMath parsed files 82 | *.sage.py 83 | .idea/workspace.xml 84 | # Environments 85 | .env 86 | .venv 87 | env/ 88 | venv/ 89 | ENV/ 90 | env.bak/ 91 | venv.bak/ 92 | 93 | # Spyder project settings 94 | .spyderproject 95 | .spyproject 96 | 97 | # Rope project settings 98 | .ropeproject 99 | 100 | # mkdocs documentation 101 | /site 102 | 103 | # mypy 104 | .mypy_cache/ -------------------------------------------------------------------------------- /gsxt/cookies.py: -------------------------------------------------------------------------------- 1 | import execjs 2 | import requests 3 | import regex as re 4 | import js2py 5 | 6 | index_url = 'http://www.gsxt.gov.cn/corp-query-entprise-info-xxgg-100000.html' 7 | headers = { 8 | 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.70 Safari/537.36', 9 | } 10 | # 获取request的session对象, 可以自动合并cookie信息 11 | session = requests.session() 12 | session.headers = headers 13 | 14 | # ######################################################使用session发送index_url请求########################### 15 | response = session.get(index_url) 16 | print(response.status_code) 17 | # 第一次请求521 服务器借助这个请求设置一个Set-Cookie: __jsluid_h=8af7a39f7cdb1c46f8f624c972968c8f; max-age=31536000; path=/; HttpOnly到本地,并返回一段js 18 | print(session.cookies) 19 | ########################################################拿到第一个cookie######################## 20 | # 1. 提取script标签中的js 21 | js1 = re.findall('', response.content.decode())[0].replace('document.cookie=', '').replace( 22 | 'location.href=location.pathname+location.search', '') 23 | print(js1) 24 | context = js2py.EvalJs() 25 | ###################################################根据第一个请求返回的js生成第二个cookie############################### 26 | context.execute('cookies2 =' + js1) 27 | cookies = context.cookies2.split(';')[0].split('=') 28 | session.cookies.set(cookies[0], cookies[1]) # 到此拿到第两个cookie 29 | print(session.cookies) 30 | ######################################################拿到第二个cookie############################ 31 | 32 | 33 | # 第二次请求携带Cookie: __jsluid_h=6ed2648e0a734bc66e3011d648f6f1ab; __jsl_clearance=1619152879.013|-1|aS3lFknWlGtD%2FADiygf7vxl4yqk%3D返回一段js 34 | # 添加jsdom实现浏览器上下文 35 | js2 = '''const jsdom = require("jsdom");const {JSDOM} = jsdom;const dom = new JSDOM();window = dom.window;document = window.document;location = new Array();''' + \ 36 | re.findall('', session.get(index_url).content.decode('utf-8'))[0] 37 | # 正则获取document['cookie'],由于每次个数不一样我们取最后一个 38 | cookies2_1 = re.findall(r"document\[.*?\]=(.*?)location", js2, re.S)[-1] 39 | # 将document['cookie']内容返回给go函数 40 | js3 = re.sub("};go", "return " + cookies2_1 + "};go", js2, 1) 41 | # 获取调用go函数时里面的参数 42 | request = re.findall(r"go\({(.*?)}\)", js3, re.S)[-1] 43 | # 通过python修改js生成一个request方法 44 | final_js = js3+"\nfunction request() {return go({"+request+"})}" 45 | # js调用request方法返回cookie并将新的__jsl_clearance塞给session中 46 | cookies3 = execjs.compile(final_js).call('request').split(';')[0].split('=') 47 | session.cookies.set(cookies3[0], cookies3[1]) 48 | print(cookies3) 49 | 50 | 51 | 52 | # 第三次请求 修改了__jsl_clearance后服务端向客户端设置新cookie的SECTOKEN 53 | session.get(index_url) 54 | cookies = requests.utils.dict_from_cookiejar(session.cookies) 55 | print(cookies) 56 | 57 | url = 'http://www.gsxt.gov.cn/affiche-query-area-info-paperall.html?noticeType=21&areaid=100000¬iceTitle=®Org=110000' 58 | 59 | data = { 60 | # 'draw': '0', 61 | 'start': '0', 62 | 'length': '10' 63 | } 64 | 65 | # 准备请求头 66 | headers = { 67 | 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.70 Safari/537.36', 68 | # 'User-Agent': 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; AcooBrowser; .NET CLR 1.1.4322; .NET CLR 2.0.50727)', 69 | # 'Referer': 'http://www.gsxt.gov.cn/corp-query-entprise-info-xxgg-100000.html', 70 | # 'Cookie': '__jsluid=fb0718dce34ccf53c4b94d15e9ab13d5; SECTOKEN=7178252594204902863; __jsl_clearance=1546475343.133|0|QZ7AOWMecndqD4CZG4hqoBAHtVw%3D;' 71 | } 72 | 73 | response = requests.post(url, cookies=cookies, data=data, headers=headers) 74 | # response = session.post(url,data,headers) 75 | print(response.status_code) 76 | print(response.content.decode()) 77 | -------------------------------------------------------------------------------- /aipai/aipai_password.js: -------------------------------------------------------------------------------- 1 | var pwd = function(value){ 2 | var hex_chr = "0123456789abcdef", 3 | rhex = function(num) { 4 | var str = ""; 5 | for(j = 0; j <= 3; j++) 6 | str += hex_chr.charAt((num >> (j * 8 + 4)) & 0x0F) + 7 | hex_chr.charAt((num >> (j * 8)) & 0x0F); 8 | return str; 9 | }, 10 | str2blks_MD5 = function(str) { 11 | nblk = ((str.length + 8) >> 6) + 1; 12 | blks = new Array(nblk * 16); 13 | for(i = 0; i < nblk * 16; i++) blks[i] = 0; 14 | for(i = 0; i < str.length; i++) 15 | blks[i >> 2] |= str.charCodeAt(i) << ((i % 4) * 8); 16 | blks[i >> 2] |= 0x80 << ((i % 4) * 8); 17 | blks[nblk * 16 - 2] = str.length * 8; 18 | return blks; 19 | }, 20 | add = function(x, y) { 21 | var lsw = (x & 0xFFFF) + (y & 0xFFFF); 22 | var msw = (x >> 16) + (y >> 16) + (lsw >> 16); 23 | return (msw << 16) | (lsw & 0xFFFF); 24 | }, 25 | rol = function(num, cnt) { 26 | return (num << cnt) | (num >>> (32 - cnt)); 27 | }, 28 | cmn = function(q, a, b, x, s, t) { 29 | return add(rol(add(add(a, q), add(x, t)), s), b); 30 | }, 31 | ff = function(a, b, c, d, x, s, t) { 32 | return cmn((b & c) | ((~b) & d), a, b, x, s, t); 33 | }, 34 | gg = function(a, b, c, d, x, s, t) { 35 | return cmn((b & d) | (c & (~d)), a, b, x, s, t); 36 | }, 37 | hh = function(a, b, c, d, x, s, t) { 38 | return cmn(b ^ c ^ d, a, b, x, s, t); 39 | }, 40 | ii = function(a, b, c, d, x, s, t) { 41 | return cmn(c ^ (b | (~d)), a, b, x, s, t); 42 | }, 43 | MD5 = function(str) { 44 | x = str2blks_MD5(str); 45 | var a = 1732584193; 46 | var b = -271733879; 47 | var c = -1732584194; 48 | var d = 271733878; 49 | 50 | for(i = 0; i < x.length; i += 16) 51 | { 52 | var olda = a; 53 | var oldb = b; 54 | var oldc = c; 55 | var oldd = d; 56 | 57 | a = ff(a, b, c, d, x[i+ 0], 7 , -680876936); 58 | d = ff(d, a, b, c, x[i+ 1], 12, -389564586); 59 | c = ff(c, d, a, b, x[i+ 2], 17, 606105819); 60 | b = ff(b, c, d, a, x[i+ 3], 22, -1044525330); 61 | a = ff(a, b, c, d, x[i+ 4], 7 , -176418897); 62 | d = ff(d, a, b, c, x[i+ 5], 12, 1200080426); 63 | c = ff(c, d, a, b, x[i+ 6], 17, -1473231341); 64 | b = ff(b, c, d, a, x[i+ 7], 22, -45705983); 65 | a = ff(a, b, c, d, x[i+ 8], 7 , 1770035416); 66 | d = ff(d, a, b, c, x[i+ 9], 12, -1958414417); 67 | c = ff(c, d, a, b, x[i+10], 17, -42063); 68 | b = ff(b, c, d, a, x[i+11], 22, -1990404162); 69 | a = ff(a, b, c, d, x[i+12], 7 , 1804603682); 70 | d = ff(d, a, b, c, x[i+13], 12, -40341101); 71 | c = ff(c, d, a, b, x[i+14], 17, -1502002290); 72 | b = ff(b, c, d, a, x[i+15], 22, 1236535329); 73 | 74 | a = gg(a, b, c, d, x[i+ 1], 5 , -165796510); 75 | d = gg(d, a, b, c, x[i+ 6], 9 , -1069501632); 76 | c = gg(c, d, a, b, x[i+11], 14, 643717713); 77 | b = gg(b, c, d, a, x[i+ 0], 20, -373897302); 78 | a = gg(a, b, c, d, x[i+ 5], 5 , -701558691); 79 | d = gg(d, a, b, c, x[i+10], 9 , 38016083); 80 | c = gg(c, d, a, b, x[i+15], 14, -660478335); 81 | b = gg(b, c, d, a, x[i+ 4], 20, -405537848); 82 | a = gg(a, b, c, d, x[i+ 9], 5 , 568446438); 83 | d = gg(d, a, b, c, x[i+14], 9 , -1019803690); 84 | c = gg(c, d, a, b, x[i+ 3], 14, -187363961); 85 | b = gg(b, c, d, a, x[i+ 8], 20, 1163531501); 86 | a = gg(a, b, c, d, x[i+13], 5 , -1444681467); 87 | d = gg(d, a, b, c, x[i+ 2], 9 , -51403784); 88 | c = gg(c, d, a, b, x[i+ 7], 14, 1735328473); 89 | b = gg(b, c, d, a, x[i+12], 20, -1926607734); 90 | 91 | a = hh(a, b, c, d, x[i+ 5], 4 , -378558); 92 | d = hh(d, a, b, c, x[i+ 8], 11, -2022574463); 93 | c = hh(c, d, a, b, x[i+11], 16, 1839030562); 94 | b = hh(b, c, d, a, x[i+14], 23, -35309556); 95 | a = hh(a, b, c, d, x[i+ 1], 4 , -1530992060); 96 | d = hh(d, a, b, c, x[i+ 4], 11, 1272893353); 97 | c = hh(c, d, a, b, x[i+ 7], 16, -155497632); 98 | b = hh(b, c, d, a, x[i+10], 23, -1094730640); 99 | a = hh(a, b, c, d, x[i+13], 4 , 681279174); 100 | d = hh(d, a, b, c, x[i+ 0], 11, -358537222); 101 | c = hh(c, d, a, b, x[i+ 3], 16, -722521979); 102 | b = hh(b, c, d, a, x[i+ 6], 23, 76029189); 103 | a = hh(a, b, c, d, x[i+ 9], 4 , -640364487); 104 | d = hh(d, a, b, c, x[i+12], 11, -421815835); 105 | c = hh(c, d, a, b, x[i+15], 16, 530742520); 106 | b = hh(b, c, d, a, x[i+ 2], 23, -995338651); 107 | 108 | a = ii(a, b, c, d, x[i+ 0], 6 , -198630844); 109 | d = ii(d, a, b, c, x[i+ 7], 10, 1126891415); 110 | c = ii(c, d, a, b, x[i+14], 15, -1416354905); 111 | b = ii(b, c, d, a, x[i+ 5], 21, -57434055); 112 | a = ii(a, b, c, d, x[i+12], 6 , 1700485571); 113 | d = ii(d, a, b, c, x[i+ 3], 10, -1894986606); 114 | c = ii(c, d, a, b, x[i+10], 15, -1051523); 115 | b = ii(b, c, d, a, x[i+ 1], 21, -2054922799); 116 | a = ii(a, b, c, d, x[i+ 8], 6 , 1873313359); 117 | d = ii(d, a, b, c, x[i+15], 10, -30611744); 118 | c = ii(c, d, a, b, x[i+ 6], 15, -1560198380); 119 | b = ii(b, c, d, a, x[i+13], 21, 1309151649); 120 | a = ii(a, b, c, d, x[i+ 4], 6 , -145523070); 121 | d = ii(d, a, b, c, x[i+11], 10, -1120210379); 122 | c = ii(c, d, a, b, x[i+ 2], 15, 718787259); 123 | b = ii(b, c, d, a, x[i+ 9], 21, -343485551); 124 | 125 | a = add(a, olda); 126 | b = add(b, oldb); 127 | c = add(c, oldc); 128 | d = add(d, oldd); 129 | } 130 | return rhex(a) + rhex(b) + rhex(c) + rhex(d); 131 | }; 132 | 133 | return MD5(value); 134 | } -------------------------------------------------------------------------------- /yuanrenxue/1/1.js: -------------------------------------------------------------------------------- 1 | var hexcase = 0; 2 | var b64pad = ""; 3 | var chrsz = 16; 4 | 5 | function hex_md5(a) { 6 | return binl2hex(core_md5(str2binl(a), a.length * chrsz)) 7 | } 8 | 9 | function b64_md5(a) { 10 | return binl2b64(core_md5(str2binl(a), a.length * chrsz)) 11 | } 12 | 13 | function str_md5(a) { 14 | return binl2str(core_md5(str2binl(a), a.length * chrsz)) 15 | } 16 | 17 | function hex_hmac_md5(a, b) { 18 | return binl2hex(core_hmac_md5(a, b)) 19 | } 20 | 21 | function b64_hmac_md5(a, b) { 22 | return binl2b64(core_hmac_md5(a, b)) 23 | } 24 | 25 | function str_hmac_md5(a, b) { 26 | return binl2str(core_hmac_md5(a, b)) 27 | } 28 | 29 | function md5_vm_test() { 30 | return hex_md5("abc") == "900150983cd24fb0d6963f7d28e17f72" 31 | } 32 | 33 | function core_md5(p, k) { 34 | p[k >> 5] |= 128 << ((k) % 32); 35 | p[(((k + 64) >>> 9) << 4) + 14] = k; 36 | var o = 1732584193; 37 | var n = -271733879; 38 | var m = -1732584194; 39 | var l = 271733878; 40 | for (var g = 0; g < p.length; g += 16) { 41 | var j = o; 42 | var h = n; 43 | var f = m; 44 | var e = l; 45 | o = md5_ff(o, n, m, l, p[g + 0], 7, -680976936); 46 | l = md5_ff(l, o, n, m, p[g + 1], 12, -389564586); 47 | m = md5_ff(m, l, o, n, p[g + 2], 17, 606105819); 48 | n = md5_ff(n, m, l, o, p[g + 3], 22, -1044525330); 49 | o = md5_ff(o, n, m, l, p[g + 4], 7, -176418897); 50 | l = md5_ff(l, o, n, m, p[g + 5], 12, 1200080426); 51 | m = md5_ff(m, l, o, n, p[g + 6], 17, -1473231341); 52 | n = md5_ff(n, m, l, o, p[g + 7], 22, -45705983); 53 | o = md5_ff(o, n, m, l, p[g + 8], 7, 1770035416); 54 | l = md5_ff(l, o, n, m, p[g + 9], 12, -1958414417); 55 | m = md5_ff(m, l, o, n, p[g + 10], 17, -42063); 56 | n = md5_ff(n, m, l, o, p[g + 11], 22, -1990404162); 57 | o = md5_ff(o, n, m, l, p[g + 12], 7, 1804660682); 58 | l = md5_ff(l, o, n, m, p[g + 13], 12, -40341101); 59 | m = md5_ff(m, l, o, n, p[g + 14], 17, -1502002290); 60 | n = md5_ff(n, m, l, o, p[g + 15], 22, 1236535329); 61 | o = md5_gg(o, n, m, l, p[g + 1], 5, -165796510); 62 | l = md5_gg(l, o, n, m, p[g + 6], 9, -1069501632); 63 | m = md5_gg(m, l, o, n, p[g + 11], 14, 643717713); 64 | n = md5_gg(n, m, l, o, p[g + 0], 20, -373897302); 65 | o = md5_gg(o, n, m, l, p[g + 5], 5, -701558691); 66 | l = md5_gg(l, o, n, m, p[g + 10], 9, 38016083); 67 | m = md5_gg(m, l, o, n, p[g + 15], 14, -660478335); 68 | n = md5_gg(n, m, l, o, p[g + 4], 20, -405537848); 69 | o = md5_gg(o, n, m, l, p[g + 9], 5, 568446438); 70 | l = md5_gg(l, o, n, m, p[g + 14], 9, -1019803690); 71 | m = md5_gg(m, l, o, n, p[g + 3], 14, -187363961); 72 | n = md5_gg(n, m, l, o, p[g + 8], 20, 1163531501); 73 | o = md5_gg(o, n, m, l, p[g + 13], 5, -1444681467); 74 | l = md5_gg(l, o, n, m, p[g + 2], 9, -51403784); 75 | m = md5_gg(m, l, o, n, p[g + 7], 14, 1735328473); 76 | n = md5_gg(n, m, l, o, p[g + 12], 20, -1921207734); 77 | o = md5_hh(o, n, m, l, p[g + 5], 4, -378558); 78 | l = md5_hh(l, o, n, m, p[g + 8], 11, -2022574463); 79 | m = md5_hh(m, l, o, n, p[g + 11], 16, 1839030562); 80 | n = md5_hh(n, m, l, o, p[g + 14], 23, -35309556); 81 | o = md5_hh(o, n, m, l, p[g + 1], 4, -1530992060); 82 | l = md5_hh(l, o, n, m, p[g + 4], 11, 1272893353); 83 | m = md5_hh(m, l, o, n, p[g + 7], 16, -155497632); 84 | n = md5_hh(n, m, l, o, p[g + 10], 23, -1094730640); 85 | o = md5_hh(o, n, m, l, p[g + 13], 4, 681279174); 86 | l = md5_hh(l, o, n, m, p[g + 0], 11, -358537222); 87 | m = md5_hh(m, l, o, n, p[g + 3], 16, -722881979); 88 | n = md5_hh(n, m, l, o, p[g + 6], 23, 76029189); 89 | o = md5_hh(o, n, m, l, p[g + 9], 4, -640364487); 90 | l = md5_hh(l, o, n, m, p[g + 12], 11, -421815835); 91 | m = md5_hh(m, l, o, n, p[g + 15], 16, 530742520); 92 | n = md5_hh(n, m, l, o, p[g + 2], 23, -995338651); 93 | o = md5_ii(o, n, m, l, p[g + 0], 6, -198630844); 94 | l = md5_ii(l, o, n, m, p[g + 7], 10, 11261161415); 95 | m = md5_ii(m, l, o, n, p[g + 14], 15, -1416354905); 96 | n = md5_ii(n, m, l, o, p[g + 5], 21, -57434055); 97 | o = md5_ii(o, n, m, l, p[g + 12], 6, 1700485571); 98 | l = md5_ii(l, o, n, m, p[g + 3], 10, -1894446606); 99 | m = md5_ii(m, l, o, n, p[g + 10], 15, -1051523); 100 | n = md5_ii(n, m, l, o, p[g + 1], 21, -2054922799); 101 | o = md5_ii(o, n, m, l, p[g + 8], 6, 1873313359); 102 | l = md5_ii(l, o, n, m, p[g + 15], 10, -30611744); 103 | m = md5_ii(m, l, o, n, p[g + 6], 15, -1560198380); 104 | n = md5_ii(n, m, l, o, p[g + 13], 21, 1309151649); 105 | o = md5_ii(o, n, m, l, p[g + 4], 6, -145523070); 106 | l = md5_ii(l, o, n, m, p[g + 11], 10, -1120210379); 107 | m = md5_ii(m, l, o, n, p[g + 2], 15, 718787259); 108 | n = md5_ii(n, m, l, o, p[g + 9], 21, -343485551); 109 | o = safe_add(o, j); 110 | n = safe_add(n, h); 111 | m = safe_add(m, f); 112 | l = safe_add(l, e) 113 | } 114 | return Array(o, n, m, l) 115 | } 116 | 117 | function md5_cmn(h, e, d, c, g, f) { 118 | return safe_add(bit_rol(safe_add(safe_add(e, h), safe_add(c, f)), g), d) 119 | } 120 | 121 | function md5_ff(g, f, k, j, e, i, h) { 122 | return md5_cmn((f & k) | ((~f) & j), g, f, e, i, h) 123 | } 124 | 125 | function md5_gg(g, f, k, j, e, i, h) { 126 | return md5_cmn((f & j) | (k & (~j)), g, f, e, i, h) 127 | } 128 | 129 | function md5_hh(g, f, k, j, e, i, h) { 130 | return md5_cmn(f ^ k ^ j, g, f, e, i, h) 131 | } 132 | 133 | function md5_ii(g, f, k, j, e, i, h) { 134 | return md5_cmn(k ^ (f | (~j)), g, f, e, i, h) 135 | } 136 | 137 | function core_hmac_md5(c, f) { 138 | var e = str2binl(c); 139 | if (e.length > 16) { 140 | e = core_md5(e, c.length * chrsz) 141 | } 142 | var a = Array(16), 143 | d = Array(16); 144 | for (var b = 0; b < 16; b++) { 145 | a[b] = e[b] ^ 909522486; 146 | d[b] = e[b] ^ 1549556828 147 | } 148 | var g = core_md5(a.concat(str2binl(f)), 512 + f.length * chrsz); 149 | return core_md5(d.concat(g), 512 + 128) 150 | } 151 | 152 | function safe_add(a, d) { 153 | var c = (a & 65535) + (d & 65535); 154 | var b = (a >> 16) + (d >> 16) + (c >> 16); 155 | return (b << 16) | (c & 65535) 156 | } 157 | 158 | function bit_rol(a, b) { 159 | return (a << b) | (a >>> (32 - b)) 160 | } 161 | 162 | function str2binl(d) { 163 | var c = Array(); 164 | var a = (1 << chrsz) - 1; 165 | for (var b = 0; b < d.length * chrsz; b += chrsz) { 166 | c[b >> 5] |= (d.charCodeAt(b / chrsz) & a) << (b % 32) 167 | } 168 | return c 169 | } 170 | 171 | function binl2str(c) { 172 | var d = ""; 173 | var a = (1 << chrsz) - 1; 174 | for (var b = 0; b < c.length * 32; b += chrsz) { 175 | d += String.fromCharCode((c[b >> 5] >>> (b % 32)) & a) 176 | } 177 | return d 178 | } 179 | 180 | function binl2hex(c) { 181 | var b = hexcase ? "0123456789ABCDEF" : "0123456789abcdef"; 182 | var d = ""; 183 | for (var a = 0; a < c.length * 4; a++) { 184 | d += b.charAt((c[a >> 2] >> ((a % 4) * 8 + 4)) & 15) + b.charAt((c[a >> 2] >> ((a % 4) * 8)) & 15) 185 | } 186 | return d 187 | } 188 | 189 | function binl2b64(d) { 190 | var c = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; 191 | var f = ""; 192 | for (var b = 0; b < d.length * 4; b += 3) { 193 | var e = (((d[b >> 2] >> 8 * (b % 4)) & 255) << 16) | (((d[b + 1 >> 2] >> 8 * ((b + 1) % 4)) & 255) << 8) | ((d[b + 2 >> 2] >> 8 * ((b + 2) % 4)) & 255); 194 | for (var a = 0; a < 4; a++) { 195 | if (b * 8 + a * 6 > d.length * 32) { 196 | f += b64pad 197 | } else { 198 | f += c.charAt((e >> 6 * (3 - a)) & 63) 199 | } 200 | } 201 | } 202 | return f 203 | }; 204 | 205 | function request() { 206 | var timestamp = Date.parse(new Date()) + 100000000; 207 | // timestamp = '1607657864000' 208 | f = hex_md5(timestamp+'') 209 | var m = f; 210 | m = m + '丨' + timestamp / 1000 211 | return m; 212 | } -------------------------------------------------------------------------------- /hlct/hlct_encryption.js: -------------------------------------------------------------------------------- 1 | var rotateLeft = function (lValue, iShiftBits) { 2 | return (lValue << iShiftBits) | (lValue >>> (32 - iShiftBits)); 3 | } 4 | var addUnsigned = function (lX, lY) { 5 | var lX4, lY4, lX8, lY8, lResult; 6 | lX8 = (lX & 0x80000000); 7 | lY8 = (lY & 0x80000000); 8 | lX4 = (lX & 0x40000000); 9 | lY4 = (lY & 0x40000000); 10 | lResult = (lX & 0x3FFFFFFF) + (lY & 0x3FFFFFFF); 11 | if (lX4 & lY4) return (lResult ^ 0x80000000 ^ lX8 ^ lY8); 12 | if (lX4 | lY4) { 13 | if (lResult & 0x40000000) return (lResult ^ 0xC0000000 ^ lX8 ^ lY8); 14 | else return (lResult ^ 0x40000000 ^ lX8 ^ lY8); 15 | } else { 16 | return (lResult ^ lX8 ^ lY8); 17 | } 18 | } 19 | var F = function (x, y, z) { 20 | return (x & y) | ((~x) & z); 21 | } 22 | var G = function (x, y, z) { 23 | return (x & z) | (y & (~z)); 24 | } 25 | var H = function (x, y, z) { 26 | return (x ^ y ^ z); 27 | } 28 | var I = function (x, y, z) { 29 | return (y ^ (x | (~z))); 30 | } 31 | var FF = function (a, b, c, d, x, s, ac) { 32 | a = addUnsigned(a, addUnsigned(addUnsigned(F(b, c, d), x), ac)); 33 | return addUnsigned(rotateLeft(a, s), b); 34 | }; 35 | var GG = function (a, b, c, d, x, s, ac) { 36 | a = addUnsigned(a, addUnsigned(addUnsigned(G(b, c, d), x), ac)); 37 | return addUnsigned(rotateLeft(a, s), b); 38 | }; 39 | var HH = function (a, b, c, d, x, s, ac) { 40 | a = addUnsigned(a, addUnsigned(addUnsigned(H(b, c, d), x), ac)); 41 | return addUnsigned(rotateLeft(a, s), b); 42 | }; 43 | var II = function (a, b, c, d, x, s, ac) { 44 | a = addUnsigned(a, addUnsigned(addUnsigned(I(b, c, d), x), ac)); 45 | return addUnsigned(rotateLeft(a, s), b); 46 | }; 47 | var convertToWordArray = function (string) { 48 | var lWordCount; 49 | var lMessageLength = string.length; 50 | var lNumberOfWordsTempOne = lMessageLength + 8; 51 | var lNumberOfWordsTempTwo = (lNumberOfWordsTempOne - (lNumberOfWordsTempOne % 64)) / 64; 52 | var lNumberOfWords = (lNumberOfWordsTempTwo + 1) * 16; 53 | var lWordArray = Array(lNumberOfWords - 1); 54 | var lBytePosition = 0; 55 | var lByteCount = 0; 56 | while (lByteCount < lMessageLength) { 57 | lWordCount = (lByteCount - (lByteCount % 4)) / 4; 58 | lBytePosition = (lByteCount % 4) * 8; 59 | lWordArray[lWordCount] = (lWordArray[lWordCount] | (string.charCodeAt(lByteCount) << lBytePosition)); 60 | lByteCount++; 61 | } 62 | lWordCount = (lByteCount - (lByteCount % 4)) / 4; 63 | lBytePosition = (lByteCount % 4) * 8; 64 | lWordArray[lWordCount] = lWordArray[lWordCount] | (0x80 << lBytePosition); 65 | lWordArray[lNumberOfWords - 2] = lMessageLength << 3; 66 | lWordArray[lNumberOfWords - 1] = lMessageLength >>> 29; 67 | return lWordArray; 68 | }; 69 | var wordToHex = function (lValue) { 70 | var WordToHexValue = "", WordToHexValueTemp = "", lByte, lCount; 71 | for (lCount = 0; lCount <= 3; lCount++) { 72 | lByte = (lValue >>> (lCount * 8)) & 255; 73 | WordToHexValueTemp = "0" + lByte.toString(16); 74 | WordToHexValue = WordToHexValue + WordToHexValueTemp.substr(WordToHexValueTemp.length - 2, 2); 75 | } 76 | return WordToHexValue; 77 | }; 78 | var uTF8Encode = function (string) { 79 | string = string.replace(/\x0d\x0a/g, "\x0a"); 80 | var output = ""; 81 | for (var n = 0; n < string.length; n++) { 82 | var c = string.charCodeAt(n); 83 | if (c < 128) { 84 | output += String.fromCharCode(c); 85 | } else if ((c > 127) && (c < 2048)) { 86 | output += String.fromCharCode((c >> 6) | 192); 87 | output += String.fromCharCode((c & 63) | 128); 88 | } else { 89 | output += String.fromCharCode((c >> 12) | 224); 90 | output += String.fromCharCode(((c >> 6) & 63) | 128); 91 | output += String.fromCharCode((c & 63) | 128); 92 | } 93 | } 94 | return output; 95 | }; 96 | var md5 = function (string) { 97 | var x = Array(); 98 | var k, AA, BB, CC, DD, a, b, c, d; 99 | var S11 = 7, S12 = 12, S13 = 17, S14 = 22; 100 | var S21 = 5, S22 = 9, S23 = 14, S24 = 20; 101 | var S31 = 4, S32 = 11, S33 = 16, S34 = 23; 102 | var S41 = 6, S42 = 10, S43 = 15, S44 = 21; 103 | string = uTF8Encode(string); 104 | x = convertToWordArray(string); 105 | a = 0x67452301; 106 | b = 0xEFCDAB89; 107 | c = 0x98BADCFE; 108 | d = 0x10325476; 109 | for (k = 0; k < x.length; k += 16) { 110 | AA = a; 111 | BB = b; 112 | CC = c; 113 | DD = d; 114 | a = FF(a, b, c, d, x[k + 0], S11, 0xD76AA478); 115 | d = FF(d, a, b, c, x[k + 1], S12, 0xE8C7B756); 116 | c = FF(c, d, a, b, x[k + 2], S13, 0x242070DB); 117 | b = FF(b, c, d, a, x[k + 3], S14, 0xC1BDCEEE); 118 | a = FF(a, b, c, d, x[k + 4], S11, 0xF57C0FAF); 119 | d = FF(d, a, b, c, x[k + 5], S12, 0x4787C62A); 120 | c = FF(c, d, a, b, x[k + 6], S13, 0xA8304613); 121 | b = FF(b, c, d, a, x[k + 7], S14, 0xFD469501); 122 | a = FF(a, b, c, d, x[k + 8], S11, 0x698098D8); 123 | d = FF(d, a, b, c, x[k + 9], S12, 0x8B44F7AF); 124 | c = FF(c, d, a, b, x[k + 10], S13, 0xFFFF5BB1); 125 | b = FF(b, c, d, a, x[k + 11], S14, 0x895CD7BE); 126 | a = FF(a, b, c, d, x[k + 12], S11, 0x6B901122); 127 | d = FF(d, a, b, c, x[k + 13], S12, 0xFD987193); 128 | c = FF(c, d, a, b, x[k + 14], S13, 0xA679438E); 129 | b = FF(b, c, d, a, x[k + 15], S14, 0x49B40821); 130 | a = GG(a, b, c, d, x[k + 1], S21, 0xF61E2562); 131 | d = GG(d, a, b, c, x[k + 6], S22, 0xC040B340); 132 | c = GG(c, d, a, b, x[k + 11], S23, 0x265E5A51); 133 | b = GG(b, c, d, a, x[k + 0], S24, 0xE9B6C7AA); 134 | a = GG(a, b, c, d, x[k + 5], S21, 0xD62F105D); 135 | d = GG(d, a, b, c, x[k + 10], S22, 0x2441453); 136 | c = GG(c, d, a, b, x[k + 15], S23, 0xD8A1E681); 137 | b = GG(b, c, d, a, x[k + 4], S24, 0xE7D3FBC8); 138 | a = GG(a, b, c, d, x[k + 9], S21, 0x21E1CDE6); 139 | d = GG(d, a, b, c, x[k + 14], S22, 0xC33707D6); 140 | c = GG(c, d, a, b, x[k + 3], S23, 0xF4D50D87); 141 | b = GG(b, c, d, a, x[k + 8], S24, 0x455A14ED); 142 | a = GG(a, b, c, d, x[k + 13], S21, 0xA9E3E905); 143 | d = GG(d, a, b, c, x[k + 2], S22, 0xFCEFA3F8); 144 | c = GG(c, d, a, b, x[k + 7], S23, 0x676F02D9); 145 | b = GG(b, c, d, a, x[k + 12], S24, 0x8D2A4C8A); 146 | a = HH(a, b, c, d, x[k + 5], S31, 0xFFFA3942); 147 | d = HH(d, a, b, c, x[k + 8], S32, 0x8771F681); 148 | c = HH(c, d, a, b, x[k + 11], S33, 0x6D9D6122); 149 | b = HH(b, c, d, a, x[k + 14], S34, 0xFDE5380C); 150 | a = HH(a, b, c, d, x[k + 1], S31, 0xA4BEEA44); 151 | d = HH(d, a, b, c, x[k + 4], S32, 0x4BDECFA9); 152 | c = HH(c, d, a, b, x[k + 7], S33, 0xF6BB4B60); 153 | b = HH(b, c, d, a, x[k + 10], S34, 0xBEBFBC70); 154 | a = HH(a, b, c, d, x[k + 13], S31, 0x289B7EC6); 155 | d = HH(d, a, b, c, x[k + 0], S32, 0xEAA127FA); 156 | c = HH(c, d, a, b, x[k + 3], S33, 0xD4EF3085); 157 | b = HH(b, c, d, a, x[k + 6], S34, 0x4881D05); 158 | a = HH(a, b, c, d, x[k + 9], S31, 0xD9D4D039); 159 | d = HH(d, a, b, c, x[k + 12], S32, 0xE6DB99E5); 160 | c = HH(c, d, a, b, x[k + 15], S33, 0x1FA27CF8); 161 | b = HH(b, c, d, a, x[k + 2], S34, 0xC4AC5665); 162 | a = II(a, b, c, d, x[k + 0], S41, 0xF4292244); 163 | d = II(d, a, b, c, x[k + 7], S42, 0x432AFF97); 164 | c = II(c, d, a, b, x[k + 14], S43, 0xAB9423A7); 165 | b = II(b, c, d, a, x[k + 5], S44, 0xFC93A039); 166 | a = II(a, b, c, d, x[k + 12], S41, 0x655B59C3); 167 | d = II(d, a, b, c, x[k + 3], S42, 0x8F0CCC92); 168 | c = II(c, d, a, b, x[k + 10], S43, 0xFFEFF47D); 169 | b = II(b, c, d, a, x[k + 1], S44, 0x85845DD1); 170 | a = II(a, b, c, d, x[k + 8], S41, 0x6FA87E4F); 171 | d = II(d, a, b, c, x[k + 15], S42, 0xFE2CE6E0); 172 | c = II(c, d, a, b, x[k + 6], S43, 0xA3014314); 173 | b = II(b, c, d, a, x[k + 13], S44, 0x4E0811A1); 174 | a = II(a, b, c, d, x[k + 4], S41, 0xF7537E82); 175 | d = II(d, a, b, c, x[k + 11], S42, 0xBD3AF235); 176 | c = II(c, d, a, b, x[k + 2], S43, 0x2AD7D2BB); 177 | b = II(b, c, d, a, x[k + 9], S44, 0xEB86D391); 178 | a = addUnsigned(a, AA); 179 | b = addUnsigned(b, BB); 180 | c = addUnsigned(c, CC); 181 | d = addUnsigned(d, DD); 182 | } 183 | var tempValue = wordToHex(a) + wordToHex(b) + wordToHex(c) + wordToHex(d); 184 | return tempValue.toLowerCase(); 185 | } 186 | console.log(md5("123456")) -------------------------------------------------------------------------------- /yuanrenxue/2/2.js: -------------------------------------------------------------------------------- 1 | var B = function () { 2 | var Y = true; 3 | return function (Z, a0) { 4 | var a1 = Y ? 5 | function () { 6 | if (a0) { 7 | var a2 = a0["apply"](Z, arguments); 8 | a0 = null; 9 | return a2; 10 | } 11 | } 12 | : function () {}; 13 | Y = false; 14 | return a1; 15 | }; 16 | } 17 | (); 18 | 19 | function C(Y, Z) { 20 | var a0 = (65535 & Y) + (65535 & Z); 21 | return (Y >> 16) + (Z >> 16) + (a0 >> 16) << 16 | 65535 & a0; 22 | } 23 | 24 | function D(Y, Z) { 25 | return Y << Z | Y >>> 32 - Z; 26 | } 27 | 28 | function E(Y, Z, a0, a1, a2, a3) { 29 | return C(D(C(C(Z, Y), C(a1, a3)), a2), a0); 30 | } 31 | 32 | function F(Y, Z, a0, a1, a2, a3, a4) { 33 | return E(Z & a0 | ~Z & a1, Y, Z, a2, a3, a4); 34 | } 35 | 36 | function G(Y, Z, a0, a1, a2, a3, a4) { 37 | return E(Z & a1 | a0 & ~a1, Y, Z, a2, a3, a4); 38 | } 39 | 40 | function H(Y, Z) { 41 | let a0 = [99, 111, 110, 115, 111, 108, 101]; 42 | let a1 = ""; 43 | 44 | for (let a2 = 0; a2 < a0["length"]; a2++) { 45 | a1 += String["fromCharCode"](a0[a2]); 46 | } 47 | 48 | return a1; 49 | } 50 | 51 | function I(Y, Z, a0, a1, a2, a3, a4) { 52 | return E(Z ^ a0 ^ a1, Y, Z, a2, a3, a4); 53 | } 54 | 55 | function J(Y, Z, a0, a1, a2, a3, a4) { 56 | return E(a0 ^ (Z | ~a1), Y, Z, a2, a3, a4); 57 | } 58 | 59 | function K(Y, Z) { 60 | if (Z) { 61 | return J(Y); 62 | } 63 | 64 | return H(Y); 65 | } 66 | 67 | function L(Y, Z) { 68 | let a0 = ""; 69 | 70 | for (let a1 = 0; a1 < Y["length"]; a1++) { 71 | a0 += String["fromCharCode"](Y[a1]); 72 | } 73 | 74 | return a0; 75 | } 76 | 77 | function N(Y, Z) { 78 | Y[Z >> 5] |= 128 << Z % 32, 79 | Y[14 + (Z + 64 >>> 9 << 4)] = Z; 80 | 81 | if (qz) { 82 | var a0, 83 | a1, 84 | a2, 85 | a3, 86 | a4, 87 | a5 = 1732584193, 88 | a6 = -271733879, 89 | a7 = -1732584194, 90 | a8 = 271733878; 91 | } else { 92 | var a0, 93 | a1, 94 | a2, 95 | a3, 96 | a4, 97 | a5 = 0, 98 | a6 = -0, 99 | a7 = -0, 100 | a8 = 0; 101 | } 102 | 103 | for (a0 = 0; a0 < Y["length"]; a0 += 16) 104 | a1 = a5, 105 | a2 = a6, 106 | a3 = a7, 107 | a4 = a8, 108 | a5 = F(a5, a6, a7, a8, Y[a0], 7, -680876936), 109 | a8 = F(a8, a5, a6, a7, Y[a0 + 1], 12, -389564586), 110 | a7 = F(a7, a8, a5, a6, Y[a0 + 2], 17, 606105819), 111 | a6 = F(a6, a7, a8, a5, Y[a0 + 3], 22, -1044525330), 112 | a5 = F(a5, a6, a7, a8, Y[a0 + 4], 7, -176418897), 113 | a8 = F(a8, a5, a6, a7, Y[a0 + 5], 12, 1200080426), 114 | a7 = F(a7, a8, a5, a6, Y[a0 + 6], 17, -1473231341), 115 | a6 = F(a6, a7, a8, a5, Y[a0 + 7], 22, -45705983), 116 | a5 = F(a5, a6, a7, a8, Y[a0 + 8], 7, 1770010416), 117 | a8 = F(a8, a5, a6, a7, Y[a0 + 9], 12, -1958414417), 118 | a7 = F(a7, a8, a5, a6, Y[a0 + 10], 17, -42063), 119 | a6 = F(a6, a7, a8, a5, Y[a0 + 11], 22, -1990404162), 120 | a5 = F(a5, a6, a7, a8, Y[a0 + 12], 7, 1804603682), 121 | a8 = F(a8, a5, a6, a7, Y[a0 + 13], 12, -40341101), 122 | a7 = F(a7, a8, a5, a6, Y[a0 + 14], 17, -1502882290), 123 | a6 = F(a6, a7, a8, a5, Y[a0 + 15], 22, 1236535329), 124 | a5 = G(a5, a6, a7, a8, Y[a0 + 1], 5, -165796510), 125 | a8 = G(a8, a5, a6, a7, Y[a0 + 6], 9, -1069501632), 126 | a7 = G(a7, a8, a5, a6, Y[a0 + 11], 14, 643717713), 127 | a6 = G(a6, a7, a8, a5, Y[a0], 20, -373897302), 128 | a5 = G(a5, a6, a7, a8, Y[a0 + 5], 5, -701558691), 129 | a8 = G(a8, a5, a6, a7, Y[a0 + 10], 9, 38016083), 130 | a7 = G(a7, a8, a5, a6, Y[a0 + 15], 14, -660478335), 131 | a6 = G(a6, a7, a8, a5, Y[a0 + 4], 20, -405537848), 132 | a5 = G(a5, a6, a7, a8, Y[a0 + 9], 5, 568446438), 133 | a8 = G(a8, a5, a6, a7, Y[a0 + 14], 9, -1019803690), 134 | a7 = G(a7, a8, a5, a6, Y[a0 + 3], 14, -187363961), 135 | a6 = G(a6, a7, a8, a5, Y[a0 + 8], 20, 1163531501), 136 | a5 = G(a5, a6, a7, a8, Y[a0 + 13], 5, -1444681467), 137 | a8 = G(a8, a5, a6, a7, Y[a0 + 2], 9, -51403784), 138 | a7 = G(a7, a8, a5, a6, Y[a0 + 7], 14, 1735328473), 139 | a6 = G(a6, a7, a8, a5, Y[a0 + 12], 20, -1926607734), 140 | a5 = I(a5, a6, a7, a8, Y[a0 + 5], 4, -378558), 141 | a8 = I(a8, a5, a6, a7, Y[a0 + 8], 11, -2022574463), 142 | a7 = I(a7, a8, a5, a6, Y[a0 + 11], 16, 1839030562), 143 | a6 = I(a6, a7, a8, a5, Y[a0 + 14], 23, -35309556), 144 | a5 = I(a5, a6, a7, a8, Y[a0 + 1], 4, -1530992060), 145 | a8 = I(a8, a5, a6, a7, Y[a0 + 4], 11, 1272893353), 146 | a7 = I(a7, a8, a5, a6, Y[a0 + 7], 16, -155497632), 147 | a6 = I(a6, a7, a8, a5, Y[a0 + 10], 23, -1094730640), 148 | a5 = I(a5, a6, a7, a8, Y[a0 + 13], 4, 681279174), 149 | a8 = I(a8, a5, a6, a7, Y[a0], 11, -358537222), 150 | a7 = I(a7, a8, a5, a6, Y[a0 + 3], 16, -722521979), 151 | a6 = I(a6, a7, a8, a5, Y[a0 + 6], 23, 76029189), 152 | a5 = I(a5, a6, a7, a8, Y[a0 + 9], 4, -640364487), 153 | a8 = I(a8, a5, a6, a7, Y[a0 + 12], 11, -421815835), 154 | a7 = I(a7, a8, a5, a6, Y[a0 + 15], 16, 530742520), 155 | a6 = I(a6, a7, a8, a5, Y[a0 + 2], 23, -995338651), 156 | a5 = J(a5, a6, a7, a8, Y[a0], 6, -198630844), 157 | a8 = J(a8, a5, a6, a7, Y[a0 + 7], 10, 1126891415), 158 | a7 = J(a7, a8, a5, a6, Y[a0 + 14], 15, -1416354905), 159 | a6 = J(a6, a7, a8, a5, Y[a0 + 5], 21, -57434055), 160 | a5 = J(a5, a6, a7, a8, Y[a0 + 12], 6, 1700485571), 161 | a8 = J(a8, a5, a6, a7, Y[a0 + 3], 10, -1894986606), 162 | a7 = J(a7, a8, a5, a6, Y[a0 + 10], 15, -1051523), 163 | a6 = J(a6, a7, a8, a5, Y[a0 + 1], 21, -2054922799), 164 | a5 = J(a5, a6, a7, a8, Y[a0 + 8], 6, 1873313359), 165 | a8 = J(a8, a5, a6, a7, Y[a0 + 15], 10, -30611744), 166 | a7 = J(a7, a8, a5, a6, Y[a0 + 6], 15, -1560198380), 167 | a6 = J(a6, a7, a8, a5, Y[a0 + 13], 21, 1309151649), 168 | a5 = J(a5, a6, a7, a8, Y[a0 + 4], 6, -145523070), 169 | a8 = J(a8, a5, a6, a7, Y[a0 + 11], 10, -1120210379), 170 | a7 = J(a7, a8, a5, a6, Y[a0 + 2], 15, 718787259), 171 | a6 = J(a6, a7, a8, a5, Y[a0 + 9], 21, -343485441), 172 | a5 = C(a5, a1), 173 | a6 = C(a6, a2), 174 | a7 = C(a7, a3), 175 | a8 = C(a8, a4); 176 | 177 | return [a5, a6, a7, a8]; 178 | } 179 | 180 | function O(Y) { 181 | var Z, 182 | a0 = "", 183 | a1 = 32 * Y["length"]; 184 | 185 | for (Z = 0; Z < a1; Z += 8) 186 | a0 += String["fromCharCode"](Y[Z >> 5] >>> Z % 32 & 255); 187 | 188 | return a0; 189 | } 190 | 191 | function P(Y) { 192 | var a2, 193 | a3 = []; 194 | 195 | for (a3[(Y["length"] >> 2) - 1] = undefined, a2 = 0; a2 < a3["length"]; a2 += 1) 196 | a3[a2] = 0; 197 | 198 | var a1 = 8 * Y["length"]; 199 | 200 | for (a2 = 0; a2 < a1; a2 += 8) 201 | a3[a2 >> 5] |= (255 & Y["charCodeAt"](a2 / 8)) << a2 % 32; 202 | 203 | return a3; 204 | } 205 | 206 | function Q(Y) { 207 | return O(N(P(Y), 8 * Y["length"])); 208 | } 209 | 210 | function R(Y) { 211 | var Z, 212 | a0, 213 | a1 = "0123456789abcdef", 214 | a2 = ""; 215 | 216 | for (a0 = 0; a0 < Y["length"]; a0 += 1) 217 | Z = Y["charCodeAt"](a0), 218 | a2 += a1["charAt"](Z >>> 4 & 15) + a1["charAt"](15 & Z); 219 | 220 | return a2; 221 | } 222 | 223 | function S(Y) { 224 | return unescape(encodeURIComponent(Y)); 225 | } 226 | 227 | function T(Y) { 228 | return Q(S(Y)); 229 | } 230 | 231 | function U(Y) { 232 | return R(T(Y)); 233 | } 234 | var navigator = {}; 235 | function M(Y, Z) { 236 | 237 | // 未传参 未改变全局变量 无返回 238 | K(); 239 | qz = [10, 99, 111, 110, 115, 111, 108, 101, 32, 61, 32, 110, 101, 119, 32, 79, 98, 106, 101, 99, 116, 40, 41, 10, 99, 111, 110, 115, 111, 108, 101, 46, 108, 111, 103, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 40, 115, 41, 32, 123, 10, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 49, 41, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 40, 105, 61, 48, 59, 105, 60, 49, 49, 48, 48, 48, 48, 48, 59, 105, 43, 43, 41, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 104, 105, 115, 116, 111, 114, 121, 46, 112, 117, 115, 104, 83, 116, 97, 116, 101, 40, 48, 44, 48, 44, 105, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 10, 125, 10, 99, 111, 110, 115, 111, 108, 101, 46, 116, 111, 83, 116, 114, 105, 110, 103, 32, 61, 32, 39, 91, 111, 98, 106, 101, 99, 116, 32, 79, 98, 106, 101, 99, 116, 93, 39, 10, 99, 111, 110, 115, 111, 108, 101, 46, 108, 111, 103, 46, 116, 111, 83, 116, 114, 105, 110, 103, 32, 61, 32, 39, 402, 32, 116, 111, 83, 116, 114, 105, 110, 103, 40, 41, 32, 123, 32, 91, 110, 97, 116, 105, 118, 101, 32, 99, 111, 100, 101, 93, 32, 125, 39, 10]; 240 | eval(L(qz)); 241 | 242 | try { 243 | if (global) { 244 | console["log"]("\u4EBA\u751F\u82E6\u77ED\uFF0C\u4F55\u5FC5python\uFF1F"); 245 | } else { 246 | while (1) { 247 | console["log"]("\u4EBA\u751F\u82E6\u77ED\uFF0C\u4F55\u5FC5python\uFF1F"); 248 | debugger; 249 | } 250 | } 251 | } catch (a5) { 252 | return navigator["vendorSub"]; 253 | } 254 | } 255 | function V(Y, Z, a0) { 256 | // 空参数 257 | M(); 258 | return Z ? a0 ? H(Z, Y) : y(Z, Y) : a0 ? T(Y) : U(Y); 259 | } 260 | // Y=X()时间戳,Z无用 261 | function W(Y) { 262 | return "m" + "=" + V(Y) + "|" + Y; 263 | } 264 | 265 | function X(Y, Z) { 266 | return Date["parse"](new Date()); 267 | } 268 | 269 | function request() { 270 | return W(X()); 271 | } 272 | -------------------------------------------------------------------------------- /rjs/rjs_sign.js: -------------------------------------------------------------------------------- 1 | // a.default {return"undefined"==typeof e?"undefined":l(e)} 2 | var k = function(e){ 3 | return"undefined"==typeof e?"undefined": typeof e 4 | } 5 | var genSignData = function(e) { 6 | var t = "" 7 | , n = []; 8 | for (var r in e) 9 | n.push(r); 10 | n = n.sort(); 11 | for (var i = 0; i < n.length; i++) { 12 | var o = n[i] 13 | , s = e[o] 14 | , l = !1; 15 | if ("object" == ("undefined" == typeof s ? "undefined" : (0, 16 | k)(s))) { 17 | var c = "{"; 18 | for (var u in s) 19 | c += u + "=" + s[u] + ", ", 20 | l = !0; 21 | l && (s = c.substring(0, c.length - 2) + "}") 22 | } 23 | "sign" != o && null !== s && void 0 !== s && "" !== s && ("object" != ("undefined" == typeof s ? "undefined" : (0, 24 | k)(s)) || l) && (t += (0 == i ? "" : "&") + o + "=" + s) 25 | } 26 | return null != t && "" != t && "&" == t.substr(0, 1) && (t = t.substr(1, t.length)), 27 | t 28 | } 29 | var liu94 = function (e, t) { 30 | var t = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" 31 | , n = { 32 | rotl: function (e, t) { 33 | return e << t | e >>> 32 - t 34 | }, 35 | rotr: function (e, t) { 36 | return e << 32 - t | e >>> t 37 | }, 38 | endian: function (e) { 39 | if (e.constructor == Number) 40 | return 16711935 & n.rotl(e, 8) | 4278255360 & n.rotl(e, 24); 41 | for (var t = 0; t < e.length; t++) 42 | e[t] = n.endian(e[t]); 43 | return e 44 | }, 45 | randomBytes: function (e) { 46 | for (var t = []; e > 0; e--) 47 | t.push(Math.floor(256 * Math.random())); 48 | return t 49 | }, 50 | bytesToWords: function (e) { 51 | for (var t = [], n = 0, r = 0; n < e.length; n++, 52 | r += 8) 53 | t[r >>> 5] |= e[n] << 24 - r % 32; 54 | return t 55 | }, 56 | wordsToBytes: function (e) { 57 | for (var t = [], n = 0; n < 32 * e.length; n += 8) 58 | t.push(e[n >>> 5] >>> 24 - n % 32 & 255); 59 | return t 60 | }, 61 | bytesToHex: function (e) { 62 | for (var t = [], n = 0; n < e.length; n++) 63 | t.push((e[n] >>> 4).toString(16)), 64 | t.push((15 & e[n]).toString(16)); 65 | return t.join("") 66 | }, 67 | hexToBytes: function (e) { 68 | for (var t = [], n = 0; n < e.length; n += 2) 69 | t.push(parseInt(e.substr(n, 2), 16)); 70 | return t 71 | }, 72 | bytesToBase64: function (e) { 73 | for (var n = [], r = 0; r < e.length; r += 3) 74 | for (var i = e[r] << 16 | e[r + 1] << 8 | e[r + 2], a = 0; a < 4; a++) 75 | 8 * r + 6 * a <= 8 * e.length ? n.push(t.charAt(i >>> 6 * (3 - a) & 63)) : n.push("="); 76 | return n.join("") 77 | }, 78 | base64ToBytes: function (e) { 79 | e = e.replace(/[^A-Z0-9+\/]/gi, ""); 80 | for (var n = [], r = 0, i = 0; r < e.length; i = ++r % 4) 81 | 0 != i && n.push((t.indexOf(e.charAt(r - 1)) & Math.pow(2, -2 * i + 8) - 1) << 2 * i | t.indexOf(e.charAt(r)) >>> 6 - 2 * i); 82 | return n 83 | } 84 | }; 85 | return n; 86 | } 87 | 88 | var er47 = { 89 | utf8: { 90 | stringToBytes: function (e) { 91 | return er47.bin.stringToBytes(unescape(encodeURIComponent(e))) 92 | }, 93 | bytesToString: function (e) { 94 | return decodeURIComponent(escape(er47.bin.bytesToString(e))) 95 | } 96 | }, 97 | bin: { 98 | stringToBytes: function (e) { 99 | for (var t = [], n = 0; n < e.length; n++) 100 | t.push(255 & e.charCodeAt(n)); 101 | return t 102 | }, 103 | bytesToString: function (e) { 104 | for (var t = [], n = 0; n < e.length; n++) 105 | t.push(String.fromCharCode(e[n])); 106 | return t.join("") 107 | } 108 | } 109 | }; 110 | 111 | var jiu74 = function (e, t) { 112 | function n(e) { 113 | return !!e.constructor && "function" == typeof e.constructor.isBuffer && e.constructor.isBuffer(e) 114 | } 115 | function r(e) { 116 | return "function" == typeof e.readFloatLE && "function" == typeof e.slice && n(e.slice(0, 0)) 117 | } 118 | return function (e) { 119 | return null != e && (n(e) || r(e) || !!e._isBuffer) 120 | } 121 | } 122 | 123 | var encrypt = function () { 124 | var t = liu94() 125 | , r = er47.utf8 126 | , i = jiu74() 127 | , a = er47.bin 128 | , o = function e(n, o) { 129 | n.constructor == String ? n = o && "binary" === o.encoding ? a.stringToBytes(n) : r.stringToBytes(n) : i(n) ? n = Array.prototype.slice.call(n, 0) : Array.isArray(n) || (n = n.toString()); 130 | for (var s = t.bytesToWords(n), l = 8 * n.length, c = 1732584193, u = -271733879, f = -1732584194, d = 271733878, p = 0; p < s.length; p++) 131 | s[p] = 16711935 & (s[p] << 8 | s[p] >>> 24) | 4278255360 & (s[p] << 24 | s[p] >>> 8); 132 | s[l >>> 5] |= 128 << l % 32, 133 | s[(l + 64 >>> 9 << 4) + 14] = l; 134 | for (var h = e._ff, m = e._gg, v = e._hh, g = e._ii, p = 0; p < s.length; p += 16) { 135 | var y = c 136 | , b = u 137 | , w = f 138 | , _ = d; 139 | c = h(c, u, f, d, s[p + 0], 7, -680876936), 140 | d = h(d, c, u, f, s[p + 1], 12, -389564586), 141 | f = h(f, d, c, u, s[p + 2], 17, 606105819), 142 | u = h(u, f, d, c, s[p + 3], 22, -1044525330), 143 | c = h(c, u, f, d, s[p + 4], 7, -176418897), 144 | d = h(d, c, u, f, s[p + 5], 12, 1200080426), 145 | f = h(f, d, c, u, s[p + 6], 17, -1473231341), 146 | u = h(u, f, d, c, s[p + 7], 22, -45705983), 147 | c = h(c, u, f, d, s[p + 8], 7, 1770035416), 148 | d = h(d, c, u, f, s[p + 9], 12, -1958414417), 149 | f = h(f, d, c, u, s[p + 10], 17, -42063), 150 | u = h(u, f, d, c, s[p + 11], 22, -1990404162), 151 | c = h(c, u, f, d, s[p + 12], 7, 1804603682), 152 | d = h(d, c, u, f, s[p + 13], 12, -40341101), 153 | f = h(f, d, c, u, s[p + 14], 17, -1502002290), 154 | u = h(u, f, d, c, s[p + 15], 22, 1236535329), 155 | c = m(c, u, f, d, s[p + 1], 5, -165796510), 156 | d = m(d, c, u, f, s[p + 6], 9, -1069501632), 157 | f = m(f, d, c, u, s[p + 11], 14, 643717713), 158 | u = m(u, f, d, c, s[p + 0], 20, -373897302), 159 | c = m(c, u, f, d, s[p + 5], 5, -701558691), 160 | d = m(d, c, u, f, s[p + 10], 9, 38016083), 161 | f = m(f, d, c, u, s[p + 15], 14, -660478335), 162 | u = m(u, f, d, c, s[p + 4], 20, -405537848), 163 | c = m(c, u, f, d, s[p + 9], 5, 568446438), 164 | d = m(d, c, u, f, s[p + 14], 9, -1019803690), 165 | f = m(f, d, c, u, s[p + 3], 14, -187363961), 166 | u = m(u, f, d, c, s[p + 8], 20, 1163531501), 167 | c = m(c, u, f, d, s[p + 13], 5, -1444681467), 168 | d = m(d, c, u, f, s[p + 2], 9, -51403784), 169 | f = m(f, d, c, u, s[p + 7], 14, 1735328473), 170 | u = m(u, f, d, c, s[p + 12], 20, -1926607734), 171 | c = v(c, u, f, d, s[p + 5], 4, -378558), 172 | d = v(d, c, u, f, s[p + 8], 11, -2022574463), 173 | f = v(f, d, c, u, s[p + 11], 16, 1839030562), 174 | u = v(u, f, d, c, s[p + 14], 23, -35309556), 175 | c = v(c, u, f, d, s[p + 1], 4, -1530992060), 176 | d = v(d, c, u, f, s[p + 4], 11, 1272893353), 177 | f = v(f, d, c, u, s[p + 7], 16, -155497632), 178 | u = v(u, f, d, c, s[p + 10], 23, -1094730640), 179 | c = v(c, u, f, d, s[p + 13], 4, 681279174), 180 | d = v(d, c, u, f, s[p + 0], 11, -358537222), 181 | f = v(f, d, c, u, s[p + 3], 16, -722521979), 182 | u = v(u, f, d, c, s[p + 6], 23, 76029189), 183 | c = v(c, u, f, d, s[p + 9], 4, -640364487), 184 | d = v(d, c, u, f, s[p + 12], 11, -421815835), 185 | f = v(f, d, c, u, s[p + 15], 16, 530742520), 186 | u = v(u, f, d, c, s[p + 2], 23, -995338651), 187 | c = g(c, u, f, d, s[p + 0], 6, -198630844), 188 | d = g(d, c, u, f, s[p + 7], 10, 1126891415), 189 | f = g(f, d, c, u, s[p + 14], 15, -1416354905), 190 | u = g(u, f, d, c, s[p + 5], 21, -57434055), 191 | c = g(c, u, f, d, s[p + 12], 6, 1700485571), 192 | d = g(d, c, u, f, s[p + 3], 10, -1894986606), 193 | f = g(f, d, c, u, s[p + 10], 15, -1051523), 194 | u = g(u, f, d, c, s[p + 1], 21, -2054922799), 195 | c = g(c, u, f, d, s[p + 8], 6, 1873313359), 196 | d = g(d, c, u, f, s[p + 15], 10, -30611744), 197 | f = g(f, d, c, u, s[p + 6], 15, -1560198380), 198 | u = g(u, f, d, c, s[p + 13], 21, 1309151649), 199 | c = g(c, u, f, d, s[p + 4], 6, -145523070), 200 | d = g(d, c, u, f, s[p + 11], 10, -1120210379), 201 | f = g(f, d, c, u, s[p + 2], 15, 718787259), 202 | u = g(u, f, d, c, s[p + 9], 21, -343485551), 203 | c = c + y >>> 0, 204 | u = u + b >>> 0, 205 | f = f + w >>> 0, 206 | d = d + _ >>> 0 207 | } 208 | return t.endian([c, u, f, d]) 209 | }; 210 | o._ff = function (e, t, n, r, i, a, o) { 211 | var s = e + (t & n | ~t & r) + (i >>> 0) + o; 212 | return (s << a | s >>> 32 - a) + t 213 | } 214 | , 215 | o._gg = function (e, t, n, r, i, a, o) { 216 | var s = e + (t & r | n & ~r) + (i >>> 0) + o; 217 | return (s << a | s >>> 32 - a) + t 218 | } 219 | , 220 | o._hh = function (e, t, n, r, i, a, o) { 221 | var s = e + (t ^ n ^ r) + (i >>> 0) + o; 222 | return (s << a | s >>> 32 - a) + t 223 | } 224 | , 225 | o._ii = function (e, t, n, r, i, a, o) { 226 | var s = e + (n ^ (t | ~r)) + (i >>> 0) + o; 227 | return (s << a | s >>> 32 - a) + t 228 | } 229 | , 230 | o._blocksize = 16, 231 | o._digestsize = 16, 232 | res = function (e, n) { 233 | console.log(e) 234 | if (void 0 === e || null === e) 235 | throw new Error("Illegal argument " + e); 236 | var r = t.wordsToBytes(o(e, n)); 237 | console.log(r) 238 | return n && n.asBytes ? r : n && n.asString ? a.bytesToString(r) : t.bytesToHex(r) 239 | } 240 | //res("password=123&userName=158062204096", undefined); 241 | //console.log('-------->',res(origin, undefined)) 242 | return res; 243 | } 244 | var request = function (userName, password) { 245 | var UP = { 246 | userName: userName, 247 | password: password 248 | } 249 | return encrypt()("/account/login.json"+"&"+encrypt()(genSignData(UP))+"&"+"") 250 | } 251 | //encrypt() 252 | //console.log(genSignData(UP)) 253 | //encrypt() 254 | //encrypt()(genSignData(UP),undefined) 255 | console.log(request("15806204096","123")); 256 | 257 | 258 | 259 | -------------------------------------------------------------------------------- /jycinema/jy_params.js: -------------------------------------------------------------------------------- 1 | // 2 | // THIS FILE IS AUTOMATICALLY GENERATED! DO NOT EDIT BY HAND! 3 | // 4 | (function (global, factory) { 5 | typeof exports === 'object' && typeof module !== 'undefined' 6 | ? module.exports = factory() 7 | : typeof define === 'function' && define.amd 8 | ? define(factory) : 9 | // cf. https://github.com/dankogai/js-base64/issues/119 10 | (function () { 11 | // existing version for noConflict() 12 | const _Base64 = global.Base64; 13 | const gBase64 = factory(); 14 | gBase64.noConflict = () => { 15 | global.Base64 = _Base64; 16 | return gBase64; 17 | }; 18 | if (global.Meteor) { // Meteor.js 19 | Base64 = gBase64; 20 | } 21 | global.Base64 = gBase64; 22 | })(); 23 | }((typeof self !== 'undefined' ? self 24 | : typeof window !== 'undefined' ? window 25 | : typeof global !== 'undefined' ? global 26 | : this 27 | ), function () { 28 | 'use strict'; 29 | 30 | /** 31 | * base64.ts 32 | * 33 | * Licensed under the BSD 3-Clause License. 34 | * http://opensource.org/licenses/BSD-3-Clause 35 | * 36 | * References: 37 | * http://en.wikipedia.org/wiki/Base64 38 | * 39 | * @author Dan Kogai (https://github.com/dankogai) 40 | */ 41 | const version = '3.6.0'; 42 | /** 43 | * @deprecated use lowercase `version`. 44 | */ 45 | const VERSION = version; 46 | const _hasatob = typeof atob === 'function'; 47 | const _hasbtoa = typeof btoa === 'function'; 48 | const _hasBuffer = typeof Buffer === 'function'; 49 | const _TD = typeof TextDecoder === 'function' ? new TextDecoder() : undefined; 50 | const _TE = typeof TextEncoder === 'function' ? new TextEncoder() : undefined; 51 | const b64ch = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='; 52 | const b64chs = [...b64ch]; 53 | const b64tab = ((a) => { 54 | let tab = {}; 55 | a.forEach((c, i) => tab[c] = i); 56 | return tab; 57 | })(b64chs); 58 | const b64re = /^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/; 59 | const _fromCC = String.fromCharCode.bind(String); 60 | const _U8Afrom = typeof Uint8Array.from === 'function' 61 | ? Uint8Array.from.bind(Uint8Array) 62 | : (it, fn = (x) => x) => new Uint8Array(Array.prototype.slice.call(it, 0).map(fn)); 63 | const _mkUriSafe = (src) => src 64 | .replace(/[+\/]/g, (m0) => m0 == '+' ? '-' : '_') 65 | .replace(/=+$/m, ''); 66 | const _tidyB64 = (s) => s.replace(/[^A-Za-z0-9\+\/]/g, ''); 67 | /** 68 | * polyfill version of `btoa` 69 | */ 70 | const btoaPolyfill = (bin) => { 71 | // console.log('polyfilled'); 72 | let u32, c0, c1, c2, asc = ''; 73 | const pad = bin.length % 3; 74 | for (let i = 0; i < bin.length;) { 75 | if ((c0 = bin.charCodeAt(i++)) > 255 || 76 | (c1 = bin.charCodeAt(i++)) > 255 || 77 | (c2 = bin.charCodeAt(i++)) > 255) 78 | throw new TypeError('invalid character found'); 79 | u32 = (c0 << 16) | (c1 << 8) | c2; 80 | asc += b64chs[u32 >> 18 & 63] 81 | + b64chs[u32 >> 12 & 63] 82 | + b64chs[u32 >> 6 & 63] 83 | + b64chs[u32 & 63]; 84 | } 85 | return pad ? asc.slice(0, pad - 3) + "===".substring(pad) : asc; 86 | }; 87 | /** 88 | * does what `window.btoa` of web browsers do. 89 | * @param {String} bin binary string 90 | * @returns {string} Base64-encoded string 91 | */ 92 | const _btoa = _hasbtoa ? (bin) => btoa(bin) 93 | : _hasBuffer ? (bin) => Buffer.from(bin, 'binary').toString('base64') 94 | : btoaPolyfill; 95 | const _fromUint8Array = _hasBuffer 96 | ? (u8a) => Buffer.from(u8a).toString('base64') 97 | : (u8a) => { 98 | // cf. https://stackoverflow.com/questions/12710001/how-to-convert-uint8-array-to-base64-encoded-string/12713326#12713326 99 | const maxargs = 0x1000; 100 | let strs = []; 101 | for (let i = 0, l = u8a.length; i < l; i += maxargs) { 102 | strs.push(_fromCC.apply(null, u8a.subarray(i, i + maxargs))); 103 | } 104 | return _btoa(strs.join('')); 105 | }; 106 | /** 107 | * converts a Uint8Array to a Base64 string. 108 | * @param {boolean} [urlsafe] URL-and-filename-safe a la RFC4648 §5 109 | * @returns {string} Base64 string 110 | */ 111 | const fromUint8Array = (u8a, urlsafe = false) => urlsafe ? _mkUriSafe(_fromUint8Array(u8a)) : _fromUint8Array(u8a); 112 | // This trick is found broken https://github.com/dankogai/js-base64/issues/130 113 | // const utob = (src: string) => unescape(encodeURIComponent(src)); 114 | // reverting good old fationed regexp 115 | const cb_utob = (c) => { 116 | if (c.length < 2) { 117 | var cc = c.charCodeAt(0); 118 | return cc < 0x80 ? c 119 | : cc < 0x800 ? (_fromCC(0xc0 | (cc >>> 6)) 120 | + _fromCC(0x80 | (cc & 0x3f))) 121 | : (_fromCC(0xe0 | ((cc >>> 12) & 0x0f)) 122 | + _fromCC(0x80 | ((cc >>> 6) & 0x3f)) 123 | + _fromCC(0x80 | (cc & 0x3f))); 124 | } else { 125 | var cc = 0x10000 126 | + (c.charCodeAt(0) - 0xD800) * 0x400 127 | + (c.charCodeAt(1) - 0xDC00); 128 | return (_fromCC(0xf0 | ((cc >>> 18) & 0x07)) 129 | + _fromCC(0x80 | ((cc >>> 12) & 0x3f)) 130 | + _fromCC(0x80 | ((cc >>> 6) & 0x3f)) 131 | + _fromCC(0x80 | (cc & 0x3f))); 132 | } 133 | }; 134 | const re_utob = /[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g; 135 | /** 136 | * @deprecated should have been internal use only. 137 | * @param {string} src UTF-8 string 138 | * @returns {string} UTF-16 string 139 | */ 140 | const utob = (u) => u.replace(re_utob, cb_utob); 141 | // 142 | const _encode = _hasBuffer 143 | ? (s) => Buffer.from(s, 'utf8').toString('base64') 144 | : _TE 145 | ? (s) => _fromUint8Array(_TE.encode(s)) 146 | : (s) => _btoa(utob(s)); 147 | /** 148 | * converts a UTF-8-encoded string to a Base64 string. 149 | * @param {boolean} [urlsafe] if `true` make the result URL-safe 150 | * @returns {string} Base64 string 151 | */ 152 | const encode = (src, urlsafe = false) => urlsafe 153 | ? _mkUriSafe(_encode(src)) 154 | : _encode(src); 155 | /** 156 | * converts a UTF-8-encoded string to URL-safe Base64 RFC4648 §5. 157 | * @returns {string} Base64 string 158 | */ 159 | const encodeURI = (src) => encode(src, true); 160 | // This trick is found broken https://github.com/dankogai/js-base64/issues/130 161 | // const btou = (src: string) => decodeURIComponent(escape(src)); 162 | // reverting good old fationed regexp 163 | const re_btou = /[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g; 164 | const cb_btou = (cccc) => { 165 | switch (cccc.length) { 166 | case 4: 167 | var cp = ((0x07 & cccc.charCodeAt(0)) << 18) 168 | | ((0x3f & cccc.charCodeAt(1)) << 12) 169 | | ((0x3f & cccc.charCodeAt(2)) << 6) 170 | | (0x3f & cccc.charCodeAt(3)), offset = cp - 0x10000; 171 | return (_fromCC((offset >>> 10) + 0xD800) 172 | + _fromCC((offset & 0x3FF) + 0xDC00)); 173 | case 3: 174 | return _fromCC(((0x0f & cccc.charCodeAt(0)) << 12) 175 | | ((0x3f & cccc.charCodeAt(1)) << 6) 176 | | (0x3f & cccc.charCodeAt(2))); 177 | default: 178 | return _fromCC(((0x1f & cccc.charCodeAt(0)) << 6) 179 | | (0x3f & cccc.charCodeAt(1))); 180 | } 181 | }; 182 | /** 183 | * @deprecated should have been internal use only. 184 | * @param {string} src UTF-16 string 185 | * @returns {string} UTF-8 string 186 | */ 187 | const btou = (b) => b.replace(re_btou, cb_btou); 188 | /** 189 | * polyfill version of `atob` 190 | */ 191 | const atobPolyfill = (asc) => { 192 | // console.log('polyfilled'); 193 | asc = asc.replace(/\s+/g, ''); 194 | if (!b64re.test(asc)) 195 | throw new TypeError('malformed base64.'); 196 | asc += '=='.slice(2 - (asc.length & 3)); 197 | let u24, bin = '', r1, r2; 198 | for (let i = 0; i < asc.length;) { 199 | u24 = b64tab[asc.charAt(i++)] << 18 200 | | b64tab[asc.charAt(i++)] << 12 201 | | (r1 = b64tab[asc.charAt(i++)]) << 6 202 | | (r2 = b64tab[asc.charAt(i++)]); 203 | bin += r1 === 64 ? _fromCC(u24 >> 16 & 255) 204 | : r2 === 64 ? _fromCC(u24 >> 16 & 255, u24 >> 8 & 255) 205 | : _fromCC(u24 >> 16 & 255, u24 >> 8 & 255, u24 & 255); 206 | } 207 | return bin; 208 | }; 209 | /** 210 | * does what `window.atob` of web browsers do. 211 | * @param {String} asc Base64-encoded string 212 | * @returns {string} binary string 213 | */ 214 | const _atob = _hasatob ? (asc) => atob(_tidyB64(asc)) 215 | : _hasBuffer ? (asc) => Buffer.from(asc, 'base64').toString('binary') 216 | : atobPolyfill; 217 | // 218 | const _toUint8Array = _hasBuffer 219 | ? (a) => _U8Afrom(Buffer.from(a, 'base64')) 220 | : (a) => _U8Afrom(_atob(a), c => c.charCodeAt(0)); 221 | /** 222 | * converts a Base64 string to a Uint8Array. 223 | */ 224 | const toUint8Array = (a) => _toUint8Array(_unURI(a)); 225 | // 226 | const _decode = _hasBuffer 227 | ? (a) => Buffer.from(a, 'base64').toString('utf8') 228 | : _TD 229 | ? (a) => _TD.decode(_toUint8Array(a)) 230 | : (a) => btou(_atob(a)); 231 | const _unURI = (a) => _tidyB64(a.replace(/[-_]/g, (m0) => m0 == '-' ? '+' : '/')); 232 | /** 233 | * converts a Base64 string to a UTF-8 string. 234 | * @param {String} src Base64 string. Both normal and URL-safe are supported 235 | * @returns {string} UTF-8 string 236 | */ 237 | const decode = (src) => _decode(_unURI(src)); 238 | /** 239 | * check if a value is a valid Base64 string 240 | * @param {String} src a value to check 241 | */ 242 | const isValid = (src) => { 243 | if (typeof src !== 'string') 244 | return false; 245 | const s = src.replace(/\s+/g, '').replace(/=+$/, ''); 246 | return !/[^\s0-9a-zA-Z\+/]/.test(s) || !/[^\s0-9a-zA-Z\-_]/.test(s); 247 | }; 248 | // 249 | const _noEnum = (v) => { 250 | return { 251 | value: v, enumerable: false, writable: true, configurable: true 252 | }; 253 | }; 254 | /** 255 | * extend String.prototype with relevant methods 256 | */ 257 | const extendString = function () { 258 | const _add = (name, body) => Object.defineProperty(String.prototype, name, _noEnum(body)); 259 | _add('fromBase64', function () { 260 | return decode(this); 261 | }); 262 | _add('toBase64', function (urlsafe) { 263 | return encode(this, urlsafe); 264 | }); 265 | _add('toBase64URI', function () { 266 | return encode(this, true); 267 | }); 268 | _add('toBase64URL', function () { 269 | return encode(this, true); 270 | }); 271 | _add('toUint8Array', function () { 272 | return toUint8Array(this); 273 | }); 274 | }; 275 | /** 276 | * extend Uint8Array.prototype with relevant methods 277 | */ 278 | const extendUint8Array = function () { 279 | const _add = (name, body) => Object.defineProperty(Uint8Array.prototype, name, _noEnum(body)); 280 | _add('toBase64', function (urlsafe) { 281 | return fromUint8Array(this, urlsafe); 282 | }); 283 | _add('toBase64URI', function () { 284 | return fromUint8Array(this, true); 285 | }); 286 | _add('toBase64URL', function () { 287 | return fromUint8Array(this, true); 288 | }); 289 | }; 290 | /** 291 | * extend Builtin prototypes with relevant methods 292 | */ 293 | const extendBuiltins = () => { 294 | extendString(); 295 | extendUint8Array(); 296 | }; 297 | const gBase64 = { 298 | version: version, 299 | VERSION: VERSION, 300 | atob: _atob, 301 | atobPolyfill: atobPolyfill, 302 | btoa: _btoa, 303 | btoaPolyfill: btoaPolyfill, 304 | fromBase64: decode, 305 | toBase64: encode, 306 | encode: encode, 307 | encodeURI: encodeURI, 308 | encodeURL: encodeURI, 309 | utob: utob, 310 | btou: btou, 311 | decode: decode, 312 | isValid: isValid, 313 | fromUint8Array: fromUint8Array, 314 | toUint8Array: toUint8Array, 315 | extendString: extendString, 316 | extendUint8Array: extendUint8Array, 317 | extendBuiltins: extendBuiltins, 318 | }; 319 | 320 | // 321 | // export Base64 to the namespace 322 | // 323 | // ES5 is yet to have Object.assign() that may make transpilers unhappy. 324 | // gBase64.Base64 = Object.assign({}, gBase64); 325 | gBase64.Base64 = {}; 326 | Object.keys(gBase64).forEach(k => gBase64.Base64[k] = gBase64[k]); 327 | return gBase64; 328 | })); 329 | 330 | 331 | function getEncryption(val) { 332 | var arr = []; 333 | for (var i = 0; i < val.length; i++) { 334 | arr.push(val.charAt(i)); 335 | if (i % 2) { 336 | var num1 = Math.floor(10 * Math.random()); 337 | arr.push(num1); 338 | var num2 = Math.floor(10 * Math.random()); 339 | arr.push(num2); 340 | var num3 = Math.floor(10 * Math.random()); 341 | arr.push(num3) 342 | } 343 | } 344 | return arr.join(""); 345 | } -------------------------------------------------------------------------------- /yuanrenxue/4/4.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | import base64 3 | import hashlib 4 | import re 5 | import gzip 6 | import requests 7 | from decimal import Decimal 8 | 9 | image_dict = { 10 | 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAdCAYAAACqhkzFAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAMTSURBVEhLrZY/TBNRHMe/bY82LeGA0Dp4NTGYqO1gdKEMwmQcGh38M5CQlGDSwWiMAwwYg2iCJsZJQ9CJ0ETsQMJgwuagLIUFXIAFXNoYcqDloLRXrq3v7v3aXktbSPCTXO77fZRvf/feu9+r5dz5iwX8R+oESigMPka6/wb2vSJUBx+1QoVD3kTz7DScb+f4YBVHA6U+ZKLPsON1IE9DtbDLP9AxEIawRgOEle4cKYSD+ZeQq8IcKquMXTbyOllPL7aiEWgSDRCmQAnahyHsiGQZruUvkIKXcObyFeM62zcOd1ylvwJ5MYDkuxA5Tjlw8A2S12iyGM7YODrujsFqfqTFCJw9L+CWyTPS3QPIBMgwKFBC9n4AaW4AdQVtQxEy1czBObkIJznAi9TDO6SLgVIYqt9QBq5YFEKCTC2momg2VXngD5bmnAc+uIqUIXQUOL/X3hJl5mHfUEgzPJ04pMUxAnN+CYeG1UlAmCLZANtqAk2kARG5m1zxQI9paWUZAsmGsArLnxOh0ZSxwCBypjwo2zQPxzCTgJ2kTtbbZ9zZ/7pRKO8WOOWqrX9iePyJiqnNGgTTuhRhgT5o5kc+JaeosDYssHbpx+OtXEziSIWqx0fqOFpg7ns2Zd24s8B1WE0V5h2mJW/ELTc0kjo2Zcm4s8ClikCIlR+si59tZpL66yosc2U8clM8bhgDkfVFUzuqR569rqXOqG7CPsOlEWiJJSraUaa/i3Q9upC94CHNCtr4WXoN+aJMzcFlakd73eGG5wnuhZHykmZ1tnx9TboYqDfNWLxoWDvqhfK+h0w1Pcg87cUBOavMmu1HMoxShuXJNNpNi7N3ewLJTyEUzIdQIIT0wgQ7EcmzxWifZMcEOZ3KY3Qwgp3RQOnbOfqJx5XGtlSOS4aK1tlHEIcXyHNsrW0dY6SBFX0ufShc70S21OwE5AR+lb+ZVfb5OVpGviGTTkHeSmBfScJqtdX55SAFoY0OsMXxISM6SvvNrshwrS7A9WoENupyv+O/oGm831sslno/RU6OsvsHu3+3yQH/AOyW6SvqnweCAAAAAElFTkSuQmCC': 0, 11 | 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAdCAYAAABFRCf7AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAANLSURBVEhLrZZNSFRRFMf/48e8UZtRktFkRsiEdCIKVwaikrlJbZG0MEGDwEWUIPaBQoiIZIJGG4mikoyyIBJKW4gbs4W66WOhtlAXzixq/HzGjG/8eN0378yb+5w3qdAPLnPOmXf/nHfvOfc+U+bR4zL+M/sTrW6F71Ih/CfskAQB2xQ2SyLMU5OwPr+HuEEPRfcSddXB96QeK04BOxQyZg7pWedhJi+GfiOp7sHqwC0s7RKMkyQIwaGfzGdmLFrUAbGlFOsC+ZBwaLwfjqoSZOSeQlpw5MBR1oQjw3NIoKdCGLz+Rfgn72PRTq7khr2tFpbX4TWLwJULTM+QY5Cp/PgGlkOCEJHauYegAieosEuUbUyxU1tDy9c3SOzdQ9AAvWh7ObeOblg7u8k+GJyoA4E8FzbJi5mdhGWCnAPCiVZhM5tMRuLsAFkHJyxakcu6hWy2QcL4pGpW3IR/6AsWZ35iYV4dnvkfWBp7C/+dMvWZ3SglFRzPpuR4WZYRHAtyWsFZ2fFhVha0mPEQFkbljALSoBHO1G7V1hMIQG54Cu+FY6zsVcyhTiI/hOQswq9PfdhyUIChiW7bbWQpOLDOBANMMknppLIcpIc6KasEzrYhJIv0KGPHlo/VrlrydBvFI2CDNXfyu+s4fLkVMdMUDuKBqbcRtvr3SA69BsN/phIByjaKKPvDPQLr7THyDPjcDOuwmxNwYaNBtaKKWse7YSI7GqbO70giWyHgVJdAE431covESipuah/t6fkGMzdNsruCv+FMveuIJzMavpMlEItryIskdGaERYc9XLnYsO0kk2Mr1YG1c3XkRZLgVXc0LDoxAYF7lY28yMm20ZfIbCkij5GfD4mrxFhRPQK5jepjR52XbEW0XCuRaOxcO40/ZLP1g+Wj2tqcKHMesZuRbKVEVl506O4eHRU9WCvWTnPEz47BMqjaOlFMNLJSErVgILsSiyMPsJ3Pp5yLnfY+LHeVclm6kdLWrJWgwR1VCGmkB7+z9V2u9H5wErv3uUZiiEh5xZK5G24UfaZBxiBcaUL6lIhYiigEFLFdgjHsUkztrNEJKvz7Y6K6A76rhfA5lS+TUB1KrHQ8SBztR8LDPpgMemR/nz0HAvgL80YzEyuMQpQAAAAASUVORK5CYII=': 6, 12 | 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAdCAYAAACqhkzFAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAANtSURBVEhLrZXfS1NhGMe/rumZbR4nOcO2IA1CvQi8UW8y8EJqZCR1IQiKwvRCuiqTfomtkkrqIpN+EFSGNaFECL0IbzQvnH/A6EavNiinJVubO/5a73nPs51zNqf04wPjfJ8X9uV5n/d93ifr8JFjcfxHMhueuYS1dieiFTZIgoAtvihBCAVhnptErvshDAG+qGMHwzJsvh7Cj5MO9vfMGCQ/Ckb6sP/2F1pRMNCXsGPz/Vt8TzEzSiwz/qMFxrbgwEr7I0Tb7LSioDe8OYSVGhHbFOYEZ1DcVIfisuMo4r86ONxTyEsai1jpGcK6xlNj6MRaQznWKTL4p1BU5YLRqy1UAFmvumDtGEN+wlQoR7SnigKd4Qls2EiyDVs/dSGLojRmrsIyF6QAiFQ0ktIaslokspMzMT4gmQFDMEyK1ZO+MqqhL4x9JFn1EK8m+Yeohl4vu2Ok4UCsWa1LOmw3FaWkAbNfvTqaGg4jd86fXAjX34JUS0EK8YGX+FlBARZhfjpJWmfIbnlnHwoX6PiEUiy9mEVkwIV4ubKEWheksVksXSilekvI/9APwcsDTnqn2JsQ81zDikPQFTsdCXmf+2Ht9FCsoMuQE/DAdHkQBeqt2BHz9CDy3XozmZQM7dh+Pozlen3rGViUzRa22COxSWsycj8fcLfA9E69/JoM5T4exTeNWe7CBA6x1rOXKK1XXCK33gSsdBvkfg7eHdX1s5phG8ustxprPJCL3QWxW/+SJLE7Ib25h6WjghKHvCh2tsDIEqUMqxBrT5ixa+3zZDaTCUxCaPXAmtiKWI1f1M+KYXUr1hxcMSRYpvtJ70KgH7k+tdLhGhe/FYphvV1zCHv3cQLjguYlsjn4gSmGooANLv4N+TAUw2AIVF5GIbbaSO7BlqOQFEMK8cdFMRxZhIkLGRGRBhfp3XAhVimSZkbBgMYw8AQmH1ecWGVH2qzQEo3kYfVUGKvqtpA35+EPsmLIDiLn/hQsSsBgs6J3HKHHLYin+p5n47XtLMLP3MleN7DZY+me51rXevE741huLkeM4gQ5bOIp40BgM5qLJAZpEYUdpyHMUKx8FLJunIPtutpaCdZZD8vDPtXM5J/BwUbVTGaHQS9Thu0rF9kUrELEJmKDGSW2J7DTzPbNwzIyiOyPX2lVJYPh3wL8BvLZG6cpuRANAAAAAElFTkSuQmCC': 8, 13 | 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAcCAYAAACOGPReAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAD0SURBVEhLY5RVUPvPQGXABKUJAA2GvzP3Mry6f5PhzfI4qBhuQNjQqD6Gzxc3Mjxzk2H4CRUiBHAYKs3wP7Gd4evhSwzPWr0ZPvBBhYkEqIaaBzL8nrmS4f3FfQzP6oIY3smwM/yFSpECkAyNY/g2q4PhhZsBwxegy/5BRZlfP2HgIdbfUIAnTD8xCGyuZ5AyW8jATqmhzD9fMwjumsUgbWPKwJu3AipKGkAydC8DZ24sg5SGDQNPei8D01OoMBkAydCnDIyHTkHZlAE8YUo+GDWU+mAEGfq46RCUhQAUGypbZwdlIcBoRFEfjBpKfUADQxkYAKYHOb9g+7HMAAAAAElFTkSuQmCC': 1, 14 | 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAcCAYAAABh2p9gAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAMzSURBVEhLpZZPSBRhGMYfV9dpdV3UHDVXIw1KDUwJVy/VLTAVWugQRJqUpxAkFyuMIBMPWRGYiCGGC7J0KCRKL13Si9pBvKiH9NIYoavgqKvjujt9M/OuM+uustUPvpn3edl9eL/3+7Mbl3fqjIxoFDnhb76Bzcoi7No47FI6QRJxbHYKKQOdSPi8RFmdKIZ2BDt6sHazCNuUiY4E67cXSLvtJq1hojdhx57nPX4fMDOxL3OSMiihwmHzchu8njrSGmGGclc/Vit5BEibxEXw7bdgzy9BZqEyziLP5UH6Cn2AsV3ZBF+DnVTYlBuxNe/CGqcpSHPIdl6DeY60EXsdfCNtWLVp0rQyhhOORrU6vcKOamyEzNgUU4fuRTdTWHIj6fUkLCSDfCl2GrR433CvuAB+ipXqLM8iVzCMd29gFSiGDb4rWi/J0IE9fr88QFhEAoWHMwWzIFLMeplbAaV3ZFiIIPXjb4gXvBQx+Ax1MfUeGuEM1cYKZzMauhFv2Arg2X6k8CgCuRkUKaQgWGOo0CwYHLlS+LocJA7B3oKdMmOfOMi8wdDUy84nxQrrtU8h1egbNpyLkAbr9T1rQO/h5EtYJ0Q9wRVguXsYG30tCFwq1HJ2B4KtPdiY6cfyac3NrD4VJMQpk1ROij7uyJk/dmTIcgxjXT7+aUK27OsFOZN56BWqjIOrf4isWRHxlImOiLSh+0iaJqnCKmTPA4aMpREkVpcjx/UWGdOLSBZDNw0booC0iY/IuVoO6+NxoJjXbyVRK+LwCzYGAp7v+FWprbR5dhDZ1Z1RKowZB/y5+rbhhK/qO2bD/FMncb7kHClGRT07vxRDgGVgSo1iNrTZUnChrIQUm26zA5sUm4QZcJNa/G89bHDD+6SCFkRCem8Vkp9r1114hfbDToaBmlcQH4TMgMSFL0giM4Vww2Z2AqaGsd3qpIQB5We1bxTe7mqsh46ctIjU9kfq/gsRPuWuUfy8XkCCrRzbexTBz0yCpBRMzCzDdRfcgd/mIxdFYveiNsLNOGEMWc6qCDOFA4vCbu7WJmzXOrDF21SjEBz7x2Bm/xisQ90wf5inbCT/dVIiAf4ApbEnkB6qHqsAAAAASUVORK5CYII=': 9, 15 | 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAbCAYAAACTHcTmAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAHHSURBVEhLrZW9LwNhHMe/WrT10mrKVE2EROIfUAuTTQxMLISBQSxeIjQSTZRIsYgYhYVRIrWzaCxiMjFVoqjWaatPaR9Pe09bbfT6XHKf5Mn9vne9T+55fs/1qhxtnRRqWD1DcLILSR5Nfg+aR495ktHxoyBDiA8WhOVQJaXeKUgtPCggLrXPs6dsxzePSghLU9sjiBh4qICYtG8fUo8Z6UxNXlEvZc+WRUDaC+LpR5SnhssLGHldjopS6l1BpFWuda9XsEwH5KCAstS5iU/WHHkLSbAerAmtl8JvupH0DOCDN8d4e4q6wyc5VKCslHrdCHdwI7mHZXZHrgX4X9r3d9oElvMN1Io9ZJZ/pL1IeIbz06598KFx8UYOgpRI7fg52UWIdzszbev4Mqp4FKVYOrGJSG6Ts27btmZUTTtHQcrWUVpy4otHk39PuNulyFL7GOJ7hXWsCfhgK/mPVAOTstfwaAEhMz9DHmF1zalexyIcbj81UUqh0TBdr9OS7muDDoRAz4ZBxajmN2dggqJrepKE+g8fWFPvXPkeaPDhE0MzaeIrhpfnAGJRSTvp+1sQJBFHOBTUTppOp7LHzM7STGpusvEK+AUL4d3X/AgqvQAAAABJRU5ErkJggg==': 4, 16 | 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAdCAYAAACqhkzFAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAKCSURBVEhLrZZLaBNRFIb/PDp5SFMxjqVOAjYLNUGUbhI3cdEGwaAgbmopWFIQBEUwFhQVldIqCuqilLoymEVVlCqWuNdVXRk31Y1uTKAQMRI0ycQk453JaWaSJjYPPxjmnJPwcefOuSfROXftlvAfaSAUIIXOITfuR9bBQzQBZfqEEzPgVuPY8uIeuMXPVK2lVnjoCrKzJ5F2mKqSZpi/xGCfCEOfpAKhCkPz+HEpgN9sRVpMoqjcJZMJBSVS0Wfeoz94CkaNVE93wOOqygyZr9i+cBnOwT3YsXe/cvUPDsMxHcPWTOU7MmWbD+m5i5RVUIUKGfQt38DOA0dgufuSauskoYuE0RuchV0jzQ8FIAqUMFShmIB9+jhs559SoQnJKKwLcZgpBVwoTFLIUIXXTsMaqdvhZjz8qBECRYeXog2P3CoJts8UMko2F0UdC90o2ihkcAl1mzoTnnGh0kwyGRhXKWR0IBRQOOZGnjL57RsjFDLaF87MI+1Ru9+ysgSOYpn2hKEovo+71RMjfoJtKkpJhRaFAsozr5C67kOOKvLe2e+cBVfXaZsLhSD+LD3DGluZum8p5RA06tt/C4/exK83D7A2xKNEJT07UfzV0aaHoImQHnFuDGlNv8kja2BkBObF5ieqgdDf8BG3PboAPrBx/tVTN7H9KMTuI+WxVQesIRUHPzWKnndU2ATNCgUUn9TKrB8eY8DbukxGFYZu4+dBVWZZYXPvxC3oKG8VEnqRn1R7rCfBfi/Gahu2VSpC3wRyDiViiOhdDre9snUqwsOCZnqkYHhLYSfIb9n5+psESerq6nvOPMylrLDEa7q3C7L7hrVt0z1Fu9Dor0g3AH8BJlTqZkAngxQAAAAASUVORK5CYII=': 2, 17 | 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAdCAYAAACqhkzFAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAALaSURBVEhLrZVPSBRRHMe/O+rOuuaUyRoyBlGQfw5lh9xTekg8qIdMKSsQFKRAD0WUROhBCIlSBD1YQsJKQSB1iRa8VRf1Up4UQiNcRVw1nXVdx3V3euP+ZnZmR9EVP/CY3/vx5sPMe+/3nu3suYsKjhGrUCxB5GErNssKERIEyDzlIYOX/MgY+4r0zm5w85ROwCRU2j1Yu+fGhi7ZG072Iau3Bc6BacrE4ejJ6EKgySyzy+yrdptpIKJ8HlbahrHZKFImjnEcIeHU6FuIlfk4U3AJObstH2L9C7hmJKTQKEBg0h7sUE/DJLT5x5FbeRWZ99kcTVFSY9wDR/kN5Pxkn6vBFyPUTjFhEPYjs6YBqYkiE/NIfTeODOqpyEUNFMUwCNmy7bNyJr5M787pfuwxhwfhh+1YhWIxtgWKGXafh6IYSQuVjssIUgxMwdFLIZGc8IEHKxV5iFL3xGg37AnzfnAtu68jUlYFueIa1i4IiFDaOfYa2XcGqRfHKnzlxVzdeepYSZVmkfXyERwfrGWnktQvc7If6T62yrxhVRKwCvX6jTet3KK8C4EiN5Y6hrEw6YV811rLhzwPRSi19dhqqmFCFzvINPzI7rwN51B8ZQ4pNNA4iNW2UgTpVOL835Fb0qz/atL7EEPNyPrm01+MutwIPaUOI3khw9Y5aTggeISu1FN8RCHm5YQX7fQ8qlDk9WpR4eRlinQhW37rDtgXpc1Yz2xrsYtLg4StCHz+iHD1IazVPQgY6hnSLzgGKGbov6y4irHY58W/T13YKS2grIHCGoTfeLHcV4V1w9V6+v0zwz2j78MuSH9uYp2SKhwbnKbvYB5hJjHOmyo7OdIC4ckP6segL5wAb7rR1Jd5dslrzSxLYQeE6/ktXbYVCmJp0YfghpRQKbWPsVVXjs0iEWGBxzalVXhZQtrMFJwj/eCHJigbY2FuFpFI7EJNvvT2wPf3NxRF1QD/AbAv8WdRHzjKAAAAAElFTkSuQmCC': 3, 18 | 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAHhSURBVEhLrZY9LANhGMf/PprDVQkxyFXSVCKIwYStiZoqhoqEhTCQWCwiBBEDiUTMBpOJhKQDkw1L1YDFxoSlBi2tlurrrn2uH9xX2/sll/6f4X557n3e903LWhxtDCZSTr/mIXXY4thgjSHGwEp76o7amOkdmih8BHcMlDAULz4DW3htSlf8+RIaJn3Fd8i2ZxAiGeK3sK34UrE4oTCP6JAT31TWneyg8jmdixKyNQ/eOCqCF7AuBKgoRigs48NlR5LK+rP1PEnBwuRmfnf8Kn0rUZhQWEfEJU/if3cSBQmTmwN4o6zUnYRxobh2kb5sd7X+PcWXDQvZohthee3EfWedy042F4PCCXzmTLbGf4hKyn8xJtwYRthGGU/gd9OnQgkDwh7EXB2ZU2G5v0TVFRUK6At7xxCzUxbhb/YoKaMrTM724J2yNIxqha2Si47Qi1hndqtw9wHFYUS7+hF2jaeytnDKi2jGFwfv36GcT6JRQMg9ncqaF+zPwTVe+mi84uc2t4+qbhcZjQ49+GrN7BVYHu50ZRLqwt5BxLLLh6qHfUraqAtHnIhSFG8CcGfa05VRFSZahcxRQ/wZllPKOqgIPfi2yzeBSPAVFRT1UBF2I5GzflzwEWWU9TD5zxLwC1sVsHrJiVs0AAAAAElFTkSuQmCC': 7, 19 | 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAcCAYAAACOGPReAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAIxSURBVEhLrZU/aBNRHMe/bWKexnoiaSg0FSSCaAfFwT+L7dKloUs7OqRVcHBwcZOCiCAOhk4dxAwdHFRwEEoRSjvoZNqhdDE4tC7aIYmWvOiV1941vnf51dy7S0ou6Qfu+P5+B9/7/e7e+72us+cuVHHE+EzF0jcUzlPQCjyH/itphChUdKub+bcCXv4tVQr7hsp0hmNqWXsob5ek6kWVqUxneNpPw1yfxi+nWo7Y02uIzjkPAuFUWucSrKNqvzEcoUWSAdFNbyewSxJK/SQZEN1U+0kCXaSCopvGGfZJgsv2SQbFY2rI+jqn+Y/ipbYr1dap/WYVWzfra0q98f/nkDDBcWwjj+j7WbC5Fcr6aV6pxG2oEMzAn8EbKDx+ja31jxBytTRCM7WNepVhIWRl6qKEB9tIovDsA8w7fuPWR9/QPezenQAfTmKHUg5iE32To4jkKJYc2r7G5ywiU6PoTWUQK7rKZ0lU7o9TUKN10wPyWUQfLOA0hQrz6jhs0orgporcI0TXXNUacVgkFe2ZSsI/iqT8tG162DBv23RvYICURG4K3xkVmKEZmIOkJWqXhUkrgpsm0tjJjKBCoRqRp+afkK7hMr2I6tgt0g1IXIf94h22l6dRkiPygMjXtzj5kgLCtaOeg3+fQNnR/u1pMaatRUVkYwHxyYfo9pwQTdpncnjol24o0PMpg74Rv6HCZbqC41/y6OG1QeKdpSGZO1HcRGz+FRKpyzgzlaUnXoB/3J2gmVZucHAAAAAASUVORK5CYII=': 5 20 | } 21 | 22 | answer_num_list = [] 23 | 24 | 25 | def get_base64_data(page_num): 26 | url = 'http://match.yuanrenxue.com/api/match/4?page={}'.format(page_num) 27 | headers = { 28 | 'Host': 'match.yuanrenxue.com', 29 | 'Pragma': 'no-cache', 30 | 'Referer': 'http://match.yuanrenxue.com/match/4', 31 | 'User-Agent': 'yuanrenxue.project', 32 | 'X-Requested-With': 'XMLHttpRequest' 33 | } 34 | res = requests.get(url=url, headers=headers) 35 | # print(res.text) 36 | return res.json()['info'], res.json()['key'], res.json()['value'] 37 | 38 | 39 | def b642jpg(b64str, name): 40 | data = base64.b64decode(b64str) 41 | with open('{}.jpg'.format(name), 'wb') as f: 42 | f.write(data) 43 | print('打印完毕') 44 | 45 | 46 | # var j_key = '.' + hex_md5(btoa(data.key + data.value).replace(/=/g, '')); 47 | # 利用key和value计算出属性为display=none的md5索引值 48 | def get_j_key(key, value): 49 | return hashlib.md5(base64.b64encode((key + value).encode()).replace(b'=', b'')).hexdigest() 50 | 51 | 52 | # 获取td中4个图片 53 | def parse_every_group_nums(info_data): 54 | pattern = re.compile(r'(.*?)') 55 | every_group_nums_list = pattern.findall(info_data) 56 | return every_group_nums_list 57 | 58 | 59 | # 利用j_key和每个图片对应的hash值,确定出要被用的所有数字子图片,及其相对位置偏移值 60 | def parse_real_use_num_info(every_group_nums, j_key): 61 | # 找到base64 62 | pattern = re.compile(r'img_number (.*?)"') 63 | img_number_list = pattern.findall(every_group_nums) 64 | # 找到图片 65 | pattern = re.compile(r'base64,(.*?)"') 66 | ba64_str_list = pattern.findall(every_group_nums) 67 | # 找到样式 68 | pattern = re.compile(r'style="(.*?)"') 69 | number_style_list = pattern.findall(every_group_nums) 70 | 71 | # 寻找所有要用的子图 72 | ba64_str_list = [ba64_str_list[index] for index, img_number in enumerate(img_number_list) if img_number != j_key] 73 | num_list = [image_dict['data:image/png;base64,' + __] for __ in ba64_str_list] 74 | 75 | # 匹配每个子图实际对应的偏移量 6801 -> ['0', '11.5', '-11.5', '0.0'] 76 | number_style_list = [number_style_list[index].replace('left:', '').replace('px', '') for index, img_number in 77 | enumerate(img_number_list) if img_number != j_key] 78 | 79 | # 根据偏移值,计算真实的数字顺序 80 | ture_order_list = caculate_css_left(number_style_list, num_list) 81 | 82 | # 将每小组数字拼接并保存 83 | temp_num = 0 84 | for index, num in enumerate(ture_order_list[::-1]): 85 | temp_num += num * 10 ** index 86 | answer_num_list.append(temp_num) 87 | 88 | 89 | # 根据图片映射的数字和图片的偏移值,计算出数字的真实顺序,列表排序返回 90 | def caculate_css_left(number_style_list, num_list): 91 | # [0, 1, -1, 0] 92 | number_style_list = [round(float(__) / 11) for __ in number_style_list] 93 | # 定义数组 94 | ture_order_list = ['']*len(number_style_list) 95 | for index, number_style in enumerate(number_style_list): 96 | ture_order_list[int(index + number_style)] = num_list[index] 97 | return ture_order_list 98 | 99 | 100 | if __name__ == '__main__': 101 | # info, _, __ = get_base64_data(1) 102 | # # 有10组 left有63个 display有0个,需要md5计算进行拼接base64 ed501a5e229d41330bee8399441bfbfb有39次 57feebf056bfb527e9ad8561e0694b0a有24次 103 | # print(info) 104 | # b64str = ''' 105 | # iVBORw0KGgoAAAANSUhEUgAAABQAAAAcCAYAAABh2p9gAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAMzSURBVEhLpZZPSBRhGMYfV9dpdV3UHDVXIw1KDUwJVy/VLTAVWugQRJqUpxAkFyuMIBMPWRGYiCGGC7J0KCRKL13Si9pBvKiH9NIYoavgqKvjujt9M/OuM+uustUPvpn3edl9eL/3+7Mbl3fqjIxoFDnhb76Bzcoi7No47FI6QRJxbHYKKQOdSPi8RFmdKIZ2BDt6sHazCNuUiY4E67cXSLvtJq1hojdhx57nPX4fMDOxL3OSMiihwmHzchu8njrSGmGGclc/Vit5BEibxEXw7bdgzy9BZqEyziLP5UH6Cn2AsV3ZBF+DnVTYlBuxNe/CGqcpSHPIdl6DeY60EXsdfCNtWLVp0rQyhhOORrU6vcKOamyEzNgUU4fuRTdTWHIj6fUkLCSDfCl2GrR433CvuAB+ipXqLM8iVzCMd29gFSiGDb4rWi/J0IE9fr88QFhEAoWHMwWzIFLMeplbAaV3ZFiIIPXjb4gXvBQx+Ax1MfUeGuEM1cYKZzMauhFv2Arg2X6k8CgCuRkUKaQgWGOo0CwYHLlS+LocJA7B3oKdMmOfOMi8wdDUy84nxQrrtU8h1egbNpyLkAbr9T1rQO/h5EtYJ0Q9wRVguXsYG30tCFwq1HJ2B4KtPdiY6cfyac3NrD4VJMQpk1ROij7uyJk/dmTIcgxjXT7+aUK27OsFOZN56BWqjIOrf4isWRHxlImOiLSh+0iaJqnCKmTPA4aMpREkVpcjx/UWGdOLSBZDNw0booC0iY/IuVoO6+NxoJjXbyVRK+LwCzYGAp7v+FWprbR5dhDZ1Z1RKowZB/y5+rbhhK/qO2bD/FMncb7kHClGRT07vxRDgGVgSo1iNrTZUnChrIQUm26zA5sUm4QZcJNa/G89bHDD+6SCFkRCem8Vkp9r1114hfbDToaBmlcQH4TMgMSFL0giM4Vww2Z2AqaGsd3qpIQB5We1bxTe7mqsh46ctIjU9kfq/gsRPuWuUfy8XkCCrRzbexTBz0yCpBRMzCzDdRfcgd/mIxdFYveiNsLNOGEMWc6qCDOFA4vCbu7WJmzXOrDF21SjEBz7x2Bm/xisQ90wf5inbCT/dVIiAf4ApbEnkB6qHqsAAAAASUVORK5CYII= 106 | # ''' 107 | # b642jpg(b64str, 'test') 108 | for page_num in range(1, 6): 109 | info_data, key, value = get_base64_data(page_num) 110 | j_key = get_j_key(key, value) 111 | every_group_nums_list = parse_every_group_nums(info_data) 112 | for every_group_nums in every_group_nums_list: 113 | parse_real_use_num_info(every_group_nums, j_key) 114 | print(sum(answer_num_list)) 115 | 116 | -------------------------------------------------------------------------------- /fang/fang.js: -------------------------------------------------------------------------------- 1 | function setMaxDigits(n) { 2 | maxDigits = n; 3 | ZERO_ARRAY = new Array(maxDigits); 4 | for (var t = 0; t < ZERO_ARRAY.length; t++) ZERO_ARRAY[t] = 0; 5 | bigZero = new BigInt; 6 | bigOne = new BigInt; 7 | bigOne.digits[0] = 1 8 | } 9 | 10 | function BigInt(n) { 11 | this.digits = typeof n == "boolean" && n == !0 ? null : ZERO_ARRAY.slice(0); 12 | this.isNeg = !1 13 | } 14 | 15 | function biFromDecimal(n) { 16 | for (var u = n.charAt(0) == "-", t = u ? 1 : 0, i, f, r; t < n.length && n.charAt(t) == "0";) ++t; 17 | if (t == n.length) i = new BigInt; 18 | else { 19 | for (f = n.length - t, r = f % dpl10, r == 0 && (r = dpl10), i = biFromNumber(Number(n.substr(t, r))), t += r; t < n.length;) i = biAdd(biMultiply(i, lr10), biFromNumber(Number(n.substr(t, dpl10)))), 20 | t += dpl10; 21 | i.isNeg = u 22 | } 23 | return i 24 | } 25 | 26 | function biCopy(n) { 27 | var t = new BigInt(!0); 28 | return t.digits = n.digits.slice(0), 29 | t.isNeg = n.isNeg, 30 | t 31 | } 32 | 33 | function biFromNumber(n) { 34 | var t = new BigInt, 35 | i; 36 | for (t.isNeg = n < 0, n = Math.abs(n), i = 0; n > 0;) t.digits[i++] = n & maxDigitVal, 37 | n = Math.floor(n / biRadix); 38 | return t 39 | } 40 | 41 | function reverseStr(n) { 42 | for (var i = "", 43 | t = n.length - 1; t > -1; --t) i += n.charAt(t); 44 | return i 45 | } 46 | 47 | function biToString(n, t) { 48 | var r = new BigInt, 49 | i, u; 50 | for (r.digits[0] = t, i = biDivideModulo(n, r), u = hexatrigesimalToChar[i[1].digits[0]]; biCompare(i[0], bigZero) == 1;) i = biDivideModulo(i[0], r), 51 | digit = i[1].digits[0], 52 | u += hexatrigesimalToChar[i[1].digits[0]]; 53 | return (n.isNeg ? "-" : "") + reverseStr(u) 54 | } 55 | 56 | function biToDecimal(n) { 57 | var i = new BigInt, 58 | t, r; 59 | for (i.digits[0] = 10, t = biDivideModulo(n, i), r = String(t[1].digits[0]); biCompare(t[0], bigZero) == 1;) t = biDivideModulo(t[0], i), 60 | r += String(t[1].digits[0]); 61 | return (n.isNeg ? "-" : "") + reverseStr(r) 62 | } 63 | 64 | function digitToHex(n) { 65 | var t = ""; 66 | for (i = 0; i < 4; ++i) t += hexToChar[n & 15], 67 | n >>>= 4; 68 | return reverseStr(t) 69 | } 70 | 71 | function biToHex(n) { 72 | for (var i = "", 73 | r = biHighIndex(n), t = biHighIndex(n); t > -1; --t) i += digitToHex(n.digits[t]); 74 | return i 75 | } 76 | 77 | function charToHex(n) { 78 | var t = 48, 79 | u = t + 9, 80 | i = 97, 81 | f = i + 25, 82 | r = 65; 83 | return n >= t && n <= u ? n - t : n >= r && n <= 90 ? 10 + n - r : n >= i && n <= f ? 10 + n - i : 0 84 | } 85 | 86 | function hexToDigit(n) { 87 | for (var t = 0, 88 | r = Math.min(n.length, 4), i = 0; i < r; ++i) t <<= 4, 89 | t |= charToHex(n.charCodeAt(i)); 90 | return t 91 | } 92 | 93 | function biFromHex(n) { 94 | for (var i = new BigInt, 95 | u = n.length, 96 | t = u, 97 | r = 0; t > 0; t -= 4, ++r) i.digits[r] = hexToDigit(n.substr(Math.max(t - 4, 0), Math.min(t, 4))); 98 | return i 99 | } 100 | 101 | function biFromString(n, t) { 102 | var f = n.charAt(0) == "-", 103 | e = f ? 1 : 0, 104 | i = new BigInt, 105 | r = new BigInt, 106 | u; 107 | for (r.digits[0] = 1, u = n.length - 1; u >= e; u--) { 108 | var o = n.charCodeAt(u), 109 | s = charToHex(o), 110 | h = biMultiplyDigit(r, s); 111 | i = biAdd(i, h); 112 | r = biMultiplyDigit(r, t) 113 | } 114 | return i.isNeg = f, 115 | i 116 | } 117 | 118 | function biDump(n) { 119 | return (n.isNeg ? "-" : "") + n.digits.join(" ") 120 | } 121 | 122 | function biAdd(n, t) { 123 | var r, u, f, i; 124 | if (n.isNeg != t.isNeg) t.isNeg = !t.isNeg, 125 | r = biSubtract(n, t), 126 | t.isNeg = !t.isNeg; 127 | else { 128 | for (r = new BigInt, u = 0, i = 0; i < n.digits.length; ++i) f = n.digits[i] + t.digits[i] + u, 129 | r.digits[i] = f % biRadix, 130 | u = Number(f >= biRadix); 131 | r.isNeg = n.isNeg 132 | } 133 | return r 134 | } 135 | 136 | function biSubtract(n, t) { 137 | var r, f, u, i; 138 | if (n.isNeg != t.isNeg) t.isNeg = !t.isNeg, 139 | r = biAdd(n, t), 140 | t.isNeg = !t.isNeg; 141 | else { 142 | for (r = new BigInt, u = 0, i = 0; i < n.digits.length; ++i) f = n.digits[i] - t.digits[i] + u, 143 | r.digits[i] = f % biRadix, 144 | r.digits[i] < 0 && (r.digits[i] += biRadix), 145 | u = 0 - Number(f < 0); 146 | if (u == -1) { 147 | for (u = 0, i = 0; i < n.digits.length; ++i) f = 0 - r.digits[i] + u, 148 | r.digits[i] = f % biRadix, 149 | r.digits[i] < 0 && (r.digits[i] += biRadix), 150 | u = 0 - Number(f < 0); 151 | r.isNeg = !n.isNeg 152 | } else r.isNeg = n.isNeg 153 | } 154 | return r 155 | } 156 | 157 | function biHighIndex(n) { 158 | for (var t = n.digits.length - 1; t > 0 && n.digits[t] == 0;) --t; 159 | return t 160 | } 161 | 162 | function biNumBits(n) { 163 | for (var i = biHighIndex(n), r = n.digits[i], u = (i + 1) * bitsPerDigit, t = u; t > u - bitsPerDigit; --t) { 164 | if ((r & 32768) != 0) break; 165 | r <<= 1 166 | } 167 | return t 168 | } 169 | 170 | function biMultiply(n, t) { 171 | for (var i = new BigInt, 172 | u, o = biHighIndex(n), s = biHighIndex(t), e, f, r = 0; r <= s; ++r) { 173 | for (u = 0, f = r, j = 0; j <= o; ++j, ++f) e = i.digits[f] + n.digits[j] * t.digits[r] + u, 174 | i.digits[f] = e & maxDigitVal, 175 | u = e >>> biRadixBits; 176 | i.digits[r + o + 1] = u 177 | } 178 | return i.isNeg = n.isNeg != t.isNeg, 179 | i 180 | } 181 | 182 | function biMultiplyDigit(n, t) { 183 | var u, r, f, i; 184 | for (result = new BigInt, u = biHighIndex(n), r = 0, i = 0; i <= u; ++i) f = result.digits[i] + n.digits[i] * t + r, 185 | result.digits[i] = f & maxDigitVal, 186 | r = f >>> biRadixBits; 187 | return result.digits[1 + u] = r, 188 | result 189 | } 190 | 191 | function arrayCopy(n, t, i, r, u) { 192 | for (var o = Math.min(t + u, n.length), f = t, e = r; f < o; ++f, ++e) i[e] = n[f] 193 | } 194 | 195 | function biShiftLeft(n, t) { 196 | var e = Math.floor(t / bitsPerDigit), 197 | i = new BigInt, 198 | u, 199 | o, 200 | r, 201 | f; 202 | for (arrayCopy(n.digits, 0, i.digits, e, i.digits.length - e), u = t % bitsPerDigit, o = bitsPerDigit - u, r = i.digits.length - 1, f = r - 1; r > 0; --r, --f) i.digits[r] = i.digits[r] << u & maxDigitVal | (i.digits[f] & highBitMasks[u]) >>> o; 203 | return i.digits[0] = i.digits[r] << u & maxDigitVal, 204 | i.isNeg = n.isNeg, 205 | i 206 | } 207 | 208 | function biShiftRight(n, t) { 209 | var e = Math.floor(t / bitsPerDigit), 210 | i = new BigInt, 211 | u, 212 | o, 213 | r, 214 | f; 215 | for (arrayCopy(n.digits, e, i.digits, 0, n.digits.length - e), u = t % bitsPerDigit, o = bitsPerDigit - u, r = 0, f = r + 1; r < i.digits.length - 1; ++r, ++f) i.digits[r] = i.digits[r] >>> u | (i.digits[f] & lowBitMasks[u]) << o; 216 | return i.digits[i.digits.length - 1] >>>= u, 217 | i.isNeg = n.isNeg, 218 | i 219 | } 220 | 221 | function biMultiplyByRadixPower(n, t) { 222 | var i = new BigInt; 223 | return arrayCopy(n.digits, 0, i.digits, t, i.digits.length - t), 224 | i 225 | } 226 | 227 | function biDivideByRadixPower(n, t) { 228 | var i = new BigInt; 229 | return arrayCopy(n.digits, t, i.digits, 0, i.digits.length - t), 230 | i 231 | } 232 | 233 | function biModuloByRadixPower(n, t) { 234 | var i = new BigInt; 235 | return arrayCopy(n.digits, 0, i.digits, 0, t), 236 | i 237 | } 238 | 239 | function biCompare(n, t) { 240 | if (n.isNeg != t.isNeg) return 1 - 2 * Number(n.isNeg); 241 | for (var i = n.digits.length - 1; i >= 0; --i) if (n.digits[i] != t.digits[i]) return n.isNeg ? 1 - 2 * Number(n.digits[i] > t.digits[i]) : 1 - 2 * Number(n.digits[i] < t.digits[i]); 242 | return 0 243 | } 244 | 245 | function biDivideModulo(n, t) { 246 | var a = biNumBits(n), 247 | s = biNumBits(t), 248 | v = t.isNeg, 249 | r, 250 | i, 251 | u, 252 | e, 253 | h, 254 | o, 255 | f, 256 | y, 257 | p; 258 | if (a < s) return n.isNeg ? (r = biCopy(bigOne), r.isNeg = !t.isNeg, n.isNeg = !1, t.isNeg = !1, i = biSubtract(t, n), n.isNeg = !0, t.isNeg = v) : (r = new BigInt, i = biCopy(n)), 259 | [r, i]; 260 | for (r = new BigInt, i = n, u = Math.ceil(s / bitsPerDigit) - 1, e = 0; t.digits[u] < biHalfRadix;) t = biShiftLeft(t, 1), 261 | ++e, 262 | ++s, 263 | u = Math.ceil(s / bitsPerDigit) - 1; 264 | for (i = biShiftLeft(i, e), a += e, h = Math.ceil(a / bitsPerDigit) - 1, o = biMultiplyByRadixPower(t, h - u); biCompare(i, o) != -1;) ++r.digits[h - u], 265 | i = biSubtract(i, o); 266 | for (f = h; f > u; --f) { 267 | var c = f >= i.digits.length ? 0 : i.digits[f], 268 | w = f - 1 >= i.digits.length ? 0 : i.digits[f - 1], 269 | b = f - 2 >= i.digits.length ? 0 : i.digits[f - 2], 270 | l = u >= t.digits.length ? 0 : t.digits[u], 271 | k = u - 1 >= t.digits.length ? 0 : t.digits[u - 1]; 272 | for (r.digits[f - u - 1] = c == l ? maxDigitVal : Math.floor((c * biRadix + w) / l), y = r.digits[f - u - 1] * (l * biRadix + k), p = c * biRadixSquared + (w * biRadix + b); y > p;) --r.digits[f - u - 1], 273 | y = r.digits[f - u - 1] * (l * biRadix | k), 274 | p = c * biRadix * biRadix + (w * biRadix + b); 275 | o = biMultiplyByRadixPower(t, f - u - 1); 276 | i = biSubtract(i, biMultiplyDigit(o, r.digits[f - u - 1])); 277 | i.isNeg && (i = biAdd(i, o), --r.digits[f - u - 1]) 278 | } 279 | return i = biShiftRight(i, e), 280 | r.isNeg = n.isNeg != v, 281 | n.isNeg && (r = v ? biAdd(r, bigOne) : biSubtract(r, bigOne), t = biShiftRight(t, e), i = biSubtract(t, i)), 282 | i.digits[0] == 0 && biHighIndex(i) == 0 && (i.isNeg = !1), 283 | [r, i] 284 | } 285 | 286 | function biDivide(n, t) { 287 | return biDivideModulo(n, t)[0] 288 | } 289 | 290 | function biModulo(n, t) { 291 | return biDivideModulo(n, t)[1] 292 | } 293 | 294 | function biMultiplyMod(n, t, i) { 295 | return biModulo(biMultiply(n, t), i) 296 | } 297 | 298 | function biPow(n, t) { 299 | for (var r = bigOne, 300 | i = n; ;) { 301 | if ((t & 1) != 0 && (r = biMultiply(r, i)), t >>= 1, t == 0) break; 302 | i = biMultiply(i, i) 303 | } 304 | return r 305 | } 306 | 307 | function biPowMod(n, t, i) { 308 | for (var f = bigOne, 309 | u = n, 310 | r = t; ;) { 311 | if ((r.digits[0] & 1) != 0 && (f = biMultiplyMod(f, u, i)), r = biShiftRight(r, 1), r.digits[0] == 0 && biHighIndex(r) == 0) break; 312 | u = biMultiplyMod(u, u, i) 313 | } 314 | return f 315 | } 316 | 317 | function BarrettMu(n) { 318 | this.modulus = biCopy(n); 319 | this.k = biHighIndex(this.modulus) + 1; 320 | var t = new BigInt; 321 | t.digits[2 * this.k] = 1; 322 | this.mu = biDivide(t, this.modulus); 323 | this.bkplus1 = new BigInt; 324 | this.bkplus1.digits[this.k + 1] = 1; 325 | this.modulo = BarrettMu_modulo; 326 | this.multiplyMod = BarrettMu_multiplyMod; 327 | this.powMod = BarrettMu_powMod 328 | } 329 | 330 | function BarrettMu_modulo(n) { 331 | var r = biDivideByRadixPower(n, this.k - 1), 332 | u = biMultiply(r, this.mu), 333 | f = biDivideByRadixPower(u, this.k + 1), 334 | e = biModuloByRadixPower(n, this.k + 1), 335 | o = biMultiply(f, this.modulus), 336 | s = biModuloByRadixPower(o, this.k + 1), 337 | t = biSubtract(e, s), 338 | i; 339 | for (t.isNeg && (t = biAdd(t, this.bkplus1)), i = biCompare(t, this.modulus) >= 0; i;) t = biSubtract(t, this.modulus), 340 | i = biCompare(t, this.modulus) >= 0; 341 | return t 342 | } 343 | 344 | function BarrettMu_multiplyMod(n, t) { 345 | var i = biMultiply(n, t); 346 | return this.modulo(i) 347 | } 348 | 349 | function BarrettMu_powMod(n, t) { 350 | var u = new BigInt, 351 | r, i; 352 | for (u.digits[0] = 1, r = n, i = t; ;) { 353 | if ((i.digits[0] & 1) != 0 && (u = this.multiplyMod(u, r)), i = biShiftRight(i, 1), i.digits[0] == 0 && biHighIndex(i) == 0) break; 354 | r = this.multiplyMod(r, r) 355 | } 356 | return u 357 | } 358 | 359 | function RSAKeyPair(n, t, i) { 360 | this.e = biFromHex(n); 361 | this.d = biFromHex(t); 362 | this.m = biFromHex(i); 363 | this.digitSize = 2 * biHighIndex(this.m) + 2; 364 | this.chunkSize = this.digitSize - 11; 365 | this.radix = 16; 366 | this.barrett = new BarrettMu(this.m) 367 | } 368 | 369 | function twoDigit(n) { 370 | return (n < 10 ? "0" : "") + String(n) 371 | } 372 | 373 | function encryptedString(n, t) { 374 | var e, o, s, h, c, i, f, u, v, l, y; 375 | if (n.chunkSize > n.digitSize - 11) return "Error"; 376 | for (var a = [], p = t.length, r = 0; r < p;) a[r] = t.charCodeAt(r), 377 | r++; 378 | for (e = a.length, o = "", r = 0; r < e; r += n.chunkSize) { 379 | for (c = new BigInt, s = 0, f = r + n.chunkSize > e ? e % n.chunkSize : n.chunkSize, u = [], i = 0; i < f; i++) u[i] = a[r + f - 1 - i]; 380 | for (u[f] = 0, v = Math.max(8, n.digitSize - 3 - f), i = 0; i < v; i++) u[f + 1 + i] = Math.floor(Math.random() * 254) + 1; 381 | for (u[n.digitSize - 2] = 2, u[n.digitSize - 1] = 0, h = 0; h < n.digitSize; ++s) c.digits[s] = u[h++], 382 | c.digits[s] += u[h++] << 8; 383 | l = n.barrett.powMod(c, n.e); 384 | y = n.radix == 16 ? biToHex(l) : biToString(l, n.radix); 385 | o += y + " " 386 | } 387 | return o.substring(0, o.length - 1) 388 | } 389 | 390 | function decryptedString(n, t) { 391 | for (var e = t.split(" "), i = "", r, u, o, f = 0; f < e.length; ++f) for (o = n.radix == 16 ? biFromHex(e[f]) : biFromString(e[f], n.radix), u = n.barrett.powMod(o, n.d), r = 0; r <= biHighIndex(u); ++r) i += String.fromCharCode(u.digits[r] & 255, u.digits[r] >> 8); 392 | return i.charCodeAt(i.length - 1) == 0 && (i = i.substring(0, i.length - 1)), 393 | i 394 | } 395 | 396 | var biRadixBase = 2, 397 | biRadixBits = 16, 398 | bitsPerDigit = biRadixBits, 399 | biRadix = 65536, 400 | biHalfRadix = biRadix >>> 1, 401 | biRadixSquared = biRadix * biRadix, 402 | maxDigitVal = biRadix - 1, 403 | maxInteger = 9999999999999998, 404 | maxDigits, ZERO_ARRAY, bigZero, bigOne, dpl10, lr10, hexatrigesimalToChar, hexToChar, highBitMasks, lowBitMasks; 405 | setMaxDigits(20); 406 | dpl10 = 15; 407 | lr10 = biFromNumber(1e15); 408 | hexatrigesimalToChar = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"]; 409 | hexToChar = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"]; 410 | highBitMasks = [0, 32768, 49152, 57344, 61440, 63488, 64512, 65024, 65280, 65408, 65472, 65504, 65520, 65528, 65532, 65534, 65535]; 411 | lowBitMasks = [0, 1, 3, 7, 15, 31, 63, 127, 255, 511, 1023, 2047, 4095, 8191, 16383, 32767, 65535]; 412 | setMaxDigits(129); 413 | 414 | function getpwd(pwd) { 415 | var key_to_encode = new RSAKeyPair("010001", "", "978C0A92D2173439707498F0944AA476B1B62595877DD6FA87F6E2AC6DCB3D0BF0B82857439C99B5091192BC134889DFF60C562EC54EFBA4FF2F9D55ADBCCEA4A2FBA80CB398ED501280A007C83AF30C3D1A142D6133C63012B90AB26AC60C898FB66EDC3192C3EC4FF66925A64003B72496099F4F09A9FB72A2CF9E4D770C41"); 416 | return encryptedString(key_to_encode, pwd) 417 | 418 | } -------------------------------------------------------------------------------- /gsxt/第二次请求.js: -------------------------------------------------------------------------------- 1 | const jsdom = require("jsdom"); 2 | const {JSDOM} = jsdom; 3 | const dom = new JSDOM(); 4 | window = dom.window; 5 | document = window.document; 6 | location = new Array(); 7 | var _0x46f0 = ['UcOOwrw0', 'NcKea20=', 'R2LCsy4=', 'w4fCg1zCvw==', 'wqvDphfCuQ==', 'TsKLwo8a', 'w4TDgirCsw==', 'dcOVwrUi', 'w5ktR8Ot', 'ScKzwosF', 'PsKxdsKL', 'R8OIw7tl', 'wqnDgBzDug==', 'BMKewrA4', 'Y8Kpwq3CnQ==', 'fsOLwqYY', 'w55twp5K', 'w7fCnhUb', 'w6bCuS05', 'Q8KdwpnCvA==', 'HT0FFw==', 'wo3CqcK7w5s=', 'w6BpwoNI', 'PMO2wrXDlg==', 'SMOWUGw=', 'w6jDjTPCqA==', 'WcOJwoMm', 'w6tEwr12', 'wrbDrhTCpg==', 'w43CtC0v', 'Ux9Xwqc=', 'esKRw7cf', 'N8Khwq4/', 'wofDsQPCqQ==', 'w5fCkH3Crg==', 'C2AELA==', 'YMKZworCkw==', 'HMOEwobCqg==', 'cMOUwq8p', 'EsKOWcKN', 'DcKcw5PDlQ==', 'F8KHR8Oz', 'wqRdwqk=', 'wpDDqhHDkA==', 'woJ0wrVi', 'wpvClcO/FA==', 'w4FYwp57', 'wrrCtcKrw50=', 'cWVfwrU=', 'w7TDuFnDiA==', 'BMKBw4HDtA==', 'CcK+w4bDjg==', 'Y8KzwpQm', 'w4fCrD8T', 'cGNewpA=', 'VCHCgBU=', 'P8K5woAg', 'w5LDhUQ=', 'wqjCqsOzwpc=', 'HsONwpfDjA==', 'S8KTwpkj', 'AcKJXMKG', 'eRDCoxI=', 'wqTCucKzw58=', 'H8Ktw6jDog==', 'wp/DqxrDkQ==', 'fcK2EcKe', 'w7J7wrxS', 'KsOaw4DCvw==', 'w6bDpivClQ==', 'w5LDnRHClw==', 'wpTCtsO9KQ==', 'w7rDj1bDjw==', 'E8K9TMOW', 'FVs0HQ==', 'wrTCqcOpOQ==', 'ShFhwo8=', 'wohVwpF4', 'UcOPw5tm', 'wo3Du1fDhA==', 'wpPCpsKNw7g=', 'wpZ4XMKQ', 'w6PCr3rCnw==', 'bTRgwrI=', 'TC5GwrQ=', 'w6vDm8K4IA==', 'JD0jAg==', 'wo3Cp8KBw7w=', 'Wk1FwrU=', 'XSpRwqo=', 'dcOSwrs7', 'GMK0wpcc', 'w7TCuA0F', 'w4DCnXrClA==', 'bmPCkwQ=', 'ccKewqEg', 'IxQQBg==', 'wrjDhhHDpg==', 'w6JswoNJ', 'G8KHw5fDlQ==', 'PVQOw6M=', 'w4hFwp1x', 'EMO4w7TCjA==', 'w5fClT83', 'RyhswoE=', 'IEPDvMK7', 'worCtMO5wpU=', 'K8KCw7rDpQ==', 'w7EhZMOo', 'w789woHCrw==', '6K2P5rCr6am06KyF', 'YAtHwrk=', 'w5zDqcKvJA==', 'RsKmwrs6', 'Q8OyeHk=', 'wq/CuX7DoA==', 'OsKiQ0s=', 'wrTDpj/CqQ==', 'wpUYGWA=', 'IHIrw70=', 'w7fDlC1c', 'X3F4wqg=', 'FMOYwpDCqw==', 'UBVY', 'JWU2', 'w53CnzYk', 'WgDCpQc=', 'w7vCscKiw58=', 'OMO0wpbCnA==', 'AsKYwr4d', 'w5McRMOD', 'w6PCpg40', 'w5fDpDdF', 'wofDrF7Dmg==', 'PsKZWsK6', 'wo/Cp8KDw4k=', 'cSHCnB4=', 'wofCr8Kew6I=', 'w5d5R8O9', 'w550wolJ', 'M24Jw4Q=', 'AzoHLg==', 'UMKOwqPCsQ==', 'YMOHR20=', 'fcK4w7Iz', 'w79awq91', 'wqwEN3c=', 'cGHCgj0=', 'ATkxMw==', 'ZsKiwq0i', 'FTfDqDg=', 'Ox4xGw==', 'XsOFwoDClA==', 'T8Okwroz', 'w65TSsOX', 'QFPCvyw=', 'VsOdNcKs', 'CGgPwqM=', 'wrHCpcOHCw==', 'PAA0EA==', 'wqzChcOcFg==', 'KsOmV8OC', 'w4nCvTgy', 'eMK6w6oU', 'JMOUwobCig==', 'woHDmBPClA==', 'w5RIwphQ', 'wqjCicO5Lw==', 'wqjDtwbCjw==', 'wobDqUDDnw==', 'wrfDgiLCqA==', 'KMOLw7fCpA==', 'Gk06wq8=', 'woLDtGrDgA==', 'NXM5wqI=', 'QQHCvxw=', 'SMOHc0s=', 'bcOIREE=', 'C20KDQ==', 'w7bDohN6', 'NsKZSls=', 'IcOYwqjCuA==', 'UMKDw4gT', 'w5nDsCNd', 'w7/DhT9R', 'w6DChmTCpQ==', 'D0rCsyQ=', 'wpLDrgnDng==', 'w4TDhFPDhw==', 'w5bDp3rDrA==', 'wqTDkSfCjw==', 'w7nDoWnDqw==', 'BsOOw4Yc', 'HMKCbFU=', 'O080AQ==', 'TMKQwr7CrQ==', 'w6rDhCho', 'DsKNbcO8', 'w4HDvcKMIw==', 'w5A+VcOy', 'Dzc9JQ==', 'UMOwwpk6', 'w4TCnwUQ', 'A8KiZV4=', 'OcOiwrTDlA==', 'B8OQwqbCjA==', 'wqUmG0I=', 'PSTDmS0=', 'wqHCnMOJKA==', 'J1PDjcKz', 'w7hQdsOy', 'w7E9TsOl', 'ZMKRwqnCgg==', 'EH8Gwq8=', 'wqc7N2A=', 'wozCucOpGQ==', 'J8K6w6fDlg==', 'w4bCrik7', 'SMKowqzDnA==', 'w5jDhwpW', 'W0DCsB4=', 'wrXCuMKkw4g=', 'w6PDhsKuOQ==', 'CnYbw6Q=', 'wrHDvzTDvg==', 'XsO/XWE=']; 8 | (function (_0x25afc8, _0x46f04f) { 9 | var _0x452791 = function (_0x19ad3c) { 10 | while (--_0x19ad3c) { 11 | _0x25afc8['push'](_0x25afc8['shift']()); 12 | } 13 | }; 14 | _0x452791(++_0x46f04f); 15 | }(_0x46f0, 0x102)); 16 | var _0x4527 = function (_0x25afc8, _0x46f04f) { 17 | _0x25afc8 = _0x25afc8 - 0x0; 18 | var _0x452791 = _0x46f0[_0x25afc8]; 19 | if (_0x4527['oWCyvD'] === undefined) { 20 | (function () { 21 | var _0x4e7749; 22 | try { 23 | var _0x53c2bf = Function('return\x20(function()\x20' + '{}.constructor(\x22return\x20this\x22)(\x20)' + ');'); 24 | _0x4e7749 = _0x53c2bf(); 25 | } catch (_0x381a19) { 26 | _0x4e7749 = window; 27 | } 28 | var _0x2e1bbd = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='; 29 | _0x4e7749['atob'] || (_0x4e7749['atob'] = function (_0x4598ac) { 30 | var _0x3f73f0 = String(_0x4598ac)['replace'](/=+$/, ''); 31 | var _0x1087a6 = ''; 32 | for (var _0x230784 = 0x0, _0x1b9d88, _0x298f82, _0x579f76 = 0x0; _0x298f82 = _0x3f73f0['charAt'](_0x579f76++); ~_0x298f82 && (_0x1b9d88 = _0x230784 % 0x4 ? _0x1b9d88 * 0x40 + _0x298f82 : _0x298f82, _0x230784++ % 0x4) ? _0x1087a6 += String['fromCharCode'](0xff & _0x1b9d88 >> (-0x2 * _0x230784 & 0x6)) : 0x0) { 33 | _0x298f82 = _0x2e1bbd['indexOf'](_0x298f82); 34 | } 35 | return _0x1087a6; 36 | }); 37 | }()); 38 | var _0x4c675e = function (_0x3698ec, _0x3f49cf) { 39 | var _0x269a2f = [], _0x30316b = 0x0, _0x5aacae, _0x30d886 = '', _0x491c72 = ''; 40 | _0x3698ec = atob(_0x3698ec); 41 | for (var _0x1b065c = 0x0, _0x10fd05 = _0x3698ec['length']; _0x1b065c < _0x10fd05; _0x1b065c++) { 42 | _0x491c72 += '%' + ('00' + _0x3698ec['charCodeAt'](_0x1b065c)['toString'](0x10))['slice'](-0x2); 43 | } 44 | _0x3698ec = decodeURIComponent(_0x491c72); 45 | var _0x300538; 46 | for (_0x300538 = 0x0; _0x300538 < 0x100; _0x300538++) { 47 | _0x269a2f[_0x300538] = _0x300538; 48 | } 49 | for (_0x300538 = 0x0; _0x300538 < 0x100; _0x300538++) { 50 | _0x30316b = (_0x30316b + _0x269a2f[_0x300538] + _0x3f49cf['charCodeAt'](_0x300538 % _0x3f49cf['length'])) % 0x100; 51 | _0x5aacae = _0x269a2f[_0x300538]; 52 | _0x269a2f[_0x300538] = _0x269a2f[_0x30316b]; 53 | _0x269a2f[_0x30316b] = _0x5aacae; 54 | } 55 | _0x300538 = 0x0; 56 | _0x30316b = 0x0; 57 | for (var _0x4440a8 = 0x0; _0x4440a8 < _0x3698ec['length']; _0x4440a8++) { 58 | _0x300538 = (_0x300538 + 0x1) % 0x100; 59 | _0x30316b = (_0x30316b + _0x269a2f[_0x300538]) % 0x100; 60 | _0x5aacae = _0x269a2f[_0x300538]; 61 | _0x269a2f[_0x300538] = _0x269a2f[_0x30316b]; 62 | _0x269a2f[_0x30316b] = _0x5aacae; 63 | _0x30d886 += String['fromCharCode'](_0x3698ec['charCodeAt'](_0x4440a8) ^ _0x269a2f[(_0x269a2f[_0x300538] + _0x269a2f[_0x30316b]) % 0x100]); 64 | } 65 | return _0x30d886; 66 | }; 67 | _0x4527['mZyLaG'] = _0x4c675e; 68 | _0x4527['nMrZIg'] = {}; 69 | _0x4527['oWCyvD'] = !![]; 70 | } 71 | var _0x19ad3c = _0x4527['nMrZIg'][_0x25afc8]; 72 | if (_0x19ad3c === undefined) { 73 | if (_0x4527['tClKHA'] === undefined) { 74 | _0x4527['tClKHA'] = !![]; 75 | } 76 | _0x452791 = _0x4527['mZyLaG'](_0x452791, _0x46f04f); 77 | _0x4527['nMrZIg'][_0x25afc8] = _0x452791; 78 | } else { 79 | _0x452791 = _0x19ad3c; 80 | } 81 | return _0x452791; 82 | }; 83 | 84 | function hash(_0x284ff9) { 85 | var _0x115894 = {}; 86 | _0x115894[_0x4527('0x7e', 'q%yy') + 'P'] = function (_0x1c9de1, _0x2acc03) { 87 | return _0x1c9de1 ^ _0x2acc03; 88 | }; 89 | _0x115894[_0x4527('0x87', 'q%yy') + 'S'] = function (_0x5128ab, _0x3036a7) { 90 | return _0x5128ab + _0x3036a7; 91 | }; 92 | _0x115894[_0x4527('0xc0', 'Kj^q') + 'r'] = function (_0xad1386, _0x2f6e97) { 93 | return _0xad1386 & _0x2f6e97; 94 | }; 95 | _0x115894[_0x4527('0x30', 'V[8N') + 'z'] = function (_0x1d2278, _0x5f396a) { 96 | return _0x1d2278 & _0x5f396a; 97 | }; 98 | _0x115894[_0x4527('0xda', 'BAno') + 'Z'] = function (_0x1da418, _0x9f6c60) { 99 | return _0x1da418 & _0x9f6c60; 100 | }; 101 | _0x115894[_0x4527('0x58', '$Ot*') + 'A'] = function (_0x441389, _0x158584) { 102 | return _0x441389 >> _0x158584; 103 | }; 104 | _0x115894[_0x4527('0x1c', 'ts@w') + 'v'] = function (_0x5c3af7, _0x12ee58) { 105 | return _0x5c3af7 & _0x12ee58; 106 | }; 107 | _0x115894[_0x4527('0x80', 'q%yy') + 'i'] = function (_0x176016, _0x34cac0) { 108 | return _0x176016 * _0x34cac0; 109 | }; 110 | _0x115894[_0x4527('0x6e', 'KOYF') + 'S'] = function (_0x19a6ff, _0x4d520a) { 111 | return _0x19a6ff !== _0x4d520a; 112 | }; 113 | _0x115894[_0x4527('0x6f', 'BAno') + 'O'] = _0x4527('0x9c', 'u]g3') + 'm'; 114 | _0x115894[_0x4527('0x49', 'VMd1') + 'E'] = function (_0x5f0e06, _0x2c73ed) { 115 | return _0x5f0e06 << _0x2c73ed; 116 | }; 117 | _0x115894[_0x4527('0x4d', 'la]@') + 'P'] = function (_0x2407c4, _0x373e1a) { 118 | return _0x2407c4 & _0x373e1a; 119 | }; 120 | _0x115894[_0x4527('0x5', 'E8h[') + 'o'] = function (_0x521ec2, _0x51b005) { 121 | return _0x521ec2 * _0x51b005; 122 | }; 123 | _0x115894[_0x4527('0xa1', 'YeFr') + 'A'] = function (_0x2cd167, _0x1b11ae) { 124 | return _0x2cd167 !== _0x1b11ae; 125 | }; 126 | _0x115894[_0x4527('0x1', ')l3g') + 'l'] = _0x4527('0x48', 'ilt(') + 'A'; 127 | _0x115894[_0x4527('0x5d', 'i5#D') + 's'] = _0x4527('0xc6', ')l3g') + 'q'; 128 | _0x115894[_0x4527('0x25', '560#') + 'E'] = function (_0x1539de, _0x1e28e2) { 129 | return _0x1539de << _0x1e28e2; 130 | }; 131 | _0x115894[_0x4527('0x26', '560#') + 'S'] = function (_0x704176, _0x3e1d08) { 132 | return _0x704176 >>> _0x3e1d08; 133 | }; 134 | _0x115894[_0x4527('0xd0', 'KOYF') + 'y'] = function (_0x582011, _0x684488) { 135 | return _0x582011 - _0x684488; 136 | }; 137 | _0x115894[_0x4527('0x67', 'W[R&') + 'j'] = function (_0x6de64c, _0x28fe07) { 138 | return _0x6de64c === _0x28fe07; 139 | }; 140 | _0x115894[_0x4527('0x4', 'KOYF') + 'C'] = _0x4527('0xc3', 'YeFr') + 'X'; 141 | _0x115894[_0x4527('0x91', 'BAno') + 'Q'] = function (_0x30cd4a, _0xe59181) { 142 | return _0x30cd4a | _0xe59181; 143 | }; 144 | _0x115894[_0x4527('0xa2', 'SLY&') + 'R'] = function (_0x16fcd8, _0x3879f8) { 145 | return _0x16fcd8 < _0x3879f8; 146 | }; 147 | _0x115894[_0x4527('0x6d', 'hJW]') + 'q'] = function (_0x166986, _0xddd5f7) { 148 | return _0x166986 ^ _0xddd5f7; 149 | }; 150 | _0x115894[_0x4527('0xae', 'SVKb') + 'E'] = function (_0xd9a6b9, _0x46c967) { 151 | return _0xd9a6b9 < _0x46c967; 152 | }; 153 | _0x115894[_0x4527('0xc2', '$w[P') + 'V'] = function (_0x376946, _0x11a640) { 154 | return _0x376946 < _0x11a640; 155 | }; 156 | _0x115894[_0x4527('0x64', '$Ot*') + 'i'] = function (_0x24c469, _0x3bc54a) { 157 | return _0x24c469 * _0x3bc54a; 158 | }; 159 | _0x115894[_0x4527('0x68', 'ldP1') + 'U'] = function (_0xe64537, _0x3076b7) { 160 | return _0xe64537 < _0x3076b7; 161 | }; 162 | _0x115894[_0x4527('0xab', 'YeFr') + 't'] = _0x4527('0x90', 'BAno') + 'r'; 163 | _0x115894[_0x4527('0xde', 'IpXA') + 'R'] = function (_0x31ba2a, _0x50cb34, _0x1949fd) { 164 | return _0x31ba2a(_0x50cb34, _0x1949fd); 165 | }; 166 | _0x115894[_0x4527('0x16', 'Eck1') + 'D'] = function (_0x3787d2, _0x39f4eb) { 167 | return _0x3787d2 - _0x39f4eb; 168 | }; 169 | _0x115894[_0x4527('0x11', 'x17G') + 'u'] = function (_0x3c1cf9, _0x1655de, _0x49a4fe) { 170 | return _0x3c1cf9(_0x1655de, _0x49a4fe); 171 | }; 172 | _0x115894[_0x4527('0x85', ')l3g') + 'r'] = function (_0x416fdd, _0x568f98, _0x103e7c) { 173 | return _0x416fdd(_0x568f98, _0x103e7c); 174 | }; 175 | _0x115894[_0x4527('0x88', ')l3g') + 'S'] = function (_0x29ed55, _0x49144f, _0x17d030, _0x21f9d8, _0x2106c9) { 176 | return _0x29ed55(_0x49144f, _0x17d030, _0x21f9d8, _0x2106c9); 177 | }; 178 | _0x115894[_0x4527('0xaf', '[6rA') + 'W'] = function (_0x5e05a1, _0x4a822a) { 179 | return _0x5e05a1(_0x4a822a); 180 | }; 181 | _0x115894[_0x4527('0x7b', 'Fc$j') + 'l'] = function (_0x242a0d, _0x2ebd70, _0x177b9e) { 182 | return _0x242a0d(_0x2ebd70, _0x177b9e); 183 | }; 184 | _0x115894[_0x4527('0x34', 'ilt(') + 'R'] = function (_0x2f48eb, _0x26401f, _0x219c50) { 185 | return _0x2f48eb(_0x26401f, _0x219c50); 186 | }; 187 | _0x115894[_0x4527('0x5e', 'ldP1') + 'e'] = function (_0x3bff06, _0x245e95, _0x24ad52) { 188 | return _0x3bff06(_0x245e95, _0x24ad52); 189 | }; 190 | _0x115894[_0x4527('0x42', '(qHS') + 'd'] = function (_0x1ceea2, _0x3ad66c) { 191 | return _0x1ceea2 + _0x3ad66c; 192 | }; 193 | _0x115894[_0x4527('0x5a', 'E8h[') + 'Q'] = function (_0x4b6cbd, _0x3ce949) { 194 | return _0x4b6cbd(_0x3ce949); 195 | }; 196 | _0x115894[_0x4527('0xa8', 'hJW]') + 'w'] = function (_0x224b81, _0xf6a333) { 197 | return _0x224b81(_0xf6a333); 198 | }; 199 | var _0x5d6146 = _0x115894; 200 | 201 | function _0xef91ca(_0x218065, _0x224ba4) { 202 | return _0x5d6146[_0x4527('0x37', 'W[R&') + 'P'](_0x5d6146[_0x4527('0x10', 'Eck1') + 'S'](_0x5d6146[_0x4527('0x99', '*Kuy') + 'r'](_0x218065, 0x7fffffff), _0x5d6146[_0x4527('0x4b', 'Xeqk') + 'z'](_0x224ba4, 0x7fffffff)) ^ _0x218065 & 0x80000000, _0x224ba4 & 0x80000000); 203 | } 204 | 205 | function _0x2cba20(_0xcfeac8) { 206 | var _0x20722c = _0x4527('0x78', 'Xeqk') + _0x4527('0xba', ')fSU') + _0x4527('0xa0', 'zk82') + _0x4527('0x21', 'Kj^q'); 207 | var _0x42919b = ''; 208 | for (var _0x164ee7 = 0x7; _0x164ee7 >= 0x0; _0x164ee7--) { 209 | _0x42919b += _0x20722c[_0x4527('0xdf', 'i5#D') + 'At'](_0x5d6146[_0x4527('0xda', 'BAno') + 'Z'](_0x5d6146[_0x4527('0xbe', '#VBy') + 'A'](_0xcfeac8, _0x164ee7 * 0x4), 0xf)); 210 | } 211 | return _0x42919b; 212 | } 213 | 214 | function _0x359045(_0xc925c0) { 215 | var _0x201acf = {}; 216 | _0x201acf[_0x4527('0x52', 'BAno') + 'D'] = function (_0x122c26, _0x3a1af3) { 217 | return _0x122c26 | _0x3a1af3; 218 | }; 219 | _0x201acf[_0x4527('0x47', 'i5#D') + 'f'] = function (_0x586f3b, _0x2d3ad1) { 220 | return _0x5d6146[_0x4527('0x32', '*Kuy') + 'v'](_0x586f3b, _0x2d3ad1); 221 | }; 222 | _0x201acf[_0x4527('0x0', 'sZSB') + 'C'] = function (_0x2c2203, _0x1bd93b) { 223 | return _0x2c2203 & _0x1bd93b; 224 | }; 225 | _0x201acf[_0x4527('0xb8', 'Xeqk') + 'z'] = function (_0x2c8808, _0x566fee) { 226 | return _0x5d6146[_0x4527('0x7e', 'q%yy') + 'P'](_0x2c8808, _0x566fee); 227 | }; 228 | var _0x5eb7fc = _0x201acf; 229 | var _0x3a50a6 = (_0xc925c0[_0x4527('0xf', 'V[8N') + 'th'] + 0x8 >> 0x6) + 0x1, 230 | _0x55d243 = new Array(_0x3a50a6 * 0x10); 231 | for (var _0x1129cb = 0x0; _0x1129cb < _0x5d6146[_0x4527('0x80', 'q%yy') + 'i'](_0x3a50a6, 0x10); _0x1129cb++) { 232 | _0x55d243[_0x1129cb] = 0x0; 233 | } 234 | for (_0x1129cb = 0x0; _0x1129cb < _0xc925c0[_0x4527('0x7a', 'euq(') + 'th']; _0x1129cb++) { 235 | if (_0x5d6146[_0x4527('0x2e', 'K)i3') + 'S'](_0x5d6146[_0x4527('0x79', '$w[P') + 'O'], _0x4527('0x70', 'zk82') + 'c')) { 236 | _0x55d243[_0x5d6146[_0x4527('0xd5', 'KOYF') + 'A'](_0x1129cb, 0x2)] |= _0x5d6146[_0x4527('0xa3', 'KOYF') + 'E'](_0xc925c0[_0x4527('0xc9', '$w[P') + _0x4527('0x7', 'dclM') + 'At'](_0x1129cb), 0x18 - _0x5d6146[_0x4527('0xd8', '(qHS') + 'P'](_0x1129cb, 0x3) * 0x8); 237 | } else { 238 | if (t < 0x14) return _0x5eb7fc[_0x4527('0x57', '@RFn') + 'D'](_0x5eb7fc[_0x4527('0x6b', '(qHS') + 'f'](_0x1ba0f9, _0x2ae876), _0x5eb7fc[_0x4527('0x56', 'SVKb') + 'C'](~_0x1ba0f9, _0xe49903)); 239 | if (t < 0x28) return _0x5eb7fc[_0x4527('0x33', 'ilt(') + 'z'](_0x1ba0f9 ^ _0x2ae876, _0xe49903); 240 | if (t < 0x3c) return _0x1ba0f9 & _0x2ae876 | _0x5eb7fc[_0x4527('0x8d', 'QgG2') + 'C'](_0x1ba0f9, _0xe49903) | _0x5eb7fc[_0x4527('0x14', 'ts@w') + 'C'](_0x2ae876, _0xe49903); 241 | return _0x5eb7fc[_0x4527('0x1b', 'GQc6') + 'z'](_0x5eb7fc[_0x4527('0xa6', '#VBy') + 'z'](_0x1ba0f9, _0x2ae876), _0xe49903); 242 | } 243 | } 244 | _0x55d243[_0x1129cb >> 0x2] |= 0x80 << 0x18 - _0x5d6146[_0x4527('0xc', '3pZt') + 'i'](_0x1129cb & 0x3, 0x8); 245 | _0x55d243[_0x5d6146[_0x4527('0xb7', 'q%yy') + 'o'](_0x3a50a6, 0x10) - 0x1] = _0xc925c0[_0x4527('0x7a', 'euq(') + 'th'] * 0x8; 246 | return _0x55d243; 247 | } 248 | 249 | function _0x988a93(_0x5e5bf0, _0x945b76) { 250 | if (_0x5d6146[_0x4527('0x59', ']EbS') + 'A'](_0x5d6146[_0x4527('0x17', 'ldP1') + 'l'], _0x5d6146[_0x4527('0x5d', 'i5#D') + 's'])) { 251 | return _0x5d6146[_0x4527('0x69', 'W[R&') + 'E'](_0x5e5bf0, _0x945b76) | _0x5d6146[_0x4527('0x29', 'D%N3') + 'S'](_0x5e5bf0, _0x5d6146[_0x4527('0xc7', 'ts@w') + 'y'](0x20, _0x945b76)); 252 | } else { 253 | _0x5a217e[_0x2d5c68] = _0xdb0cd6[_0xf05641 + _0x2d5c68]; 254 | } 255 | } 256 | 257 | function _0x4924a2(_0x5e6bfa, _0x40f100, _0x53d69d, _0x526ff4) { 258 | if (_0x5d6146[_0x4527('0xb3', 'x6ba') + 'j'](_0x4527('0x51', 'ts@w') + 'R', _0x5d6146[_0x4527('0x2a', 'SLY&') + 'C'])) { 259 | return; 260 | } else { 261 | if (_0x5e6bfa < 0x14) return _0x5d6146[_0x4527('0x8b', ')fSU') + 'Q'](_0x40f100 & _0x53d69d, ~_0x40f100 & _0x526ff4); 262 | if (_0x5d6146[_0x4527('0xe', '(qHS') + 'R'](_0x5e6bfa, 0x28)) return _0x5d6146[_0x4527('0x95', 'E8h[') + 'P'](_0x5d6146[_0x4527('0x6a', 'euq(') + 'q'](_0x40f100, _0x53d69d), _0x526ff4); 263 | if (_0x5e6bfa < 0x3c) return _0x40f100 & _0x53d69d | _0x40f100 & _0x526ff4 | _0x53d69d & _0x526ff4; 264 | return _0x5d6146[_0x4527('0xce', 'Kj^q') + 'q'](_0x40f100 ^ _0x53d69d, _0x526ff4); 265 | } 266 | } 267 | 268 | function _0x26ccf7(_0x657a77) { 269 | return _0x5d6146[_0x4527('0x92', 'SLY&') + 'E'](_0x657a77, 0x14) ? 0x5a827999 : _0x5d6146[_0x4527('0x24', ')fSU') + 'E'](_0x657a77, 0x28) ? 0x6ed9eba1 : _0x5d6146[_0x4527('0x94', 'YeFr') + 'V'](_0x657a77, 0x3c) ? -0x70e44324 : -0x359d3e2a; 270 | } 271 | 272 | var _0xdb0cd6 = _0x359045(_0x284ff9); 273 | var _0x5a217e = new Array(0x50); 274 | var _0x21dc08 = 0x67452301; 275 | var _0x1ba0f9 = -0x10325477; 276 | var _0x2ae876 = -0x67452302; 277 | var _0xe49903 = 0x10325476; 278 | var _0x1a739c = -0x3c2d1e10; 279 | for (var _0xf05641 = 0x0; _0xf05641 < _0xdb0cd6[_0x4527('0xa5', 'D%N3') + 'th']; _0xf05641 += 0x10) { 280 | var _0x228e9d = _0x21dc08; 281 | var _0x508e24 = _0x1ba0f9; 282 | var _0x2b1813 = _0x2ae876; 283 | var _0x152cb3 = _0xe49903; 284 | var _0x598d7e = _0x1a739c; 285 | for (var _0x2d5c68 = 0x0; _0x5d6146[_0x4527('0xd1', 'ra2C') + 'V'](_0x2d5c68, 0x50); _0x2d5c68++) { 286 | if (_0x5d6146[_0x4527('0xcc', 'dclM') + 'U'](_0x2d5c68, 0x10)) { 287 | _0x5a217e[_0x2d5c68] = _0xdb0cd6[_0x5d6146[_0x4527('0x3', 'SLY&') + 'S'](_0xf05641, _0x2d5c68)]; 288 | } else { 289 | if (_0x5d6146[_0x4527('0x36', 'hJW]') + 't'] !== _0x4527('0x20', 'Xeqk') + 'r') { 290 | str += sHEXChars[_0x4527('0x8', 'Xeqk') + 'At'](_0x5d6146[_0x4527('0xd9', 'GQc6') + 'A'](num, _0x5d6146[_0x4527('0xdb', '560#') + 'i'](_0x2d5c68, 0x4)) & 0xf); 291 | } else { 292 | _0x5a217e[_0x2d5c68] = _0x5d6146[_0x4527('0xbc', 'Fc$j') + 'R'](_0x988a93, _0x5a217e[_0x5d6146[_0x4527('0x74', 'hJW]') + 'D'](_0x2d5c68, 0x3)] ^ _0x5a217e[_0x2d5c68 - 0x8] ^ _0x5a217e[_0x2d5c68 - 0xe] ^ _0x5a217e[_0x2d5c68 - 0x10], 0x1); 293 | } 294 | } 295 | t = _0x5d6146[_0x4527('0x62', 'x6ba') + 'R'](_0xef91ca, _0x5d6146[_0x4527('0x41', 'Kj^q') + 'u'](_0xef91ca, _0x5d6146[_0x4527('0xb4', 'KOYF') + 'r'](_0x988a93, _0x21dc08, 0x5), _0x5d6146[_0x4527('0xd', 'q%yy') + 'S'](_0x4924a2, _0x2d5c68, _0x1ba0f9, _0x2ae876, _0xe49903)), _0xef91ca(_0x5d6146[_0x4527('0xdd', '(qHS') + 'r'](_0xef91ca, _0x1a739c, _0x5a217e[_0x2d5c68]), _0x5d6146[_0x4527('0xbb', '$Ot*') + 'W'](_0x26ccf7, _0x2d5c68))); 296 | _0x1a739c = _0xe49903; 297 | _0xe49903 = _0x2ae876; 298 | _0x2ae876 = _0x5d6146[_0x4527('0xcb', 'ts@w') + 'r'](_0x988a93, _0x1ba0f9, 0x1e); 299 | _0x1ba0f9 = _0x21dc08; 300 | _0x21dc08 = t; 301 | } 302 | _0x21dc08 = _0x5d6146[_0x4527('0x3f', 'ts@w') + 'l'](_0xef91ca, _0x21dc08, _0x228e9d); 303 | _0x1ba0f9 = _0x5d6146[_0x4527('0x38', ']EbS') + 'R'](_0xef91ca, _0x1ba0f9, _0x508e24); 304 | _0x2ae876 = _0x5d6146[_0x4527('0x4f', 'ilt(') + 'e'](_0xef91ca, _0x2ae876, _0x2b1813); 305 | _0xe49903 = _0xef91ca(_0xe49903, _0x152cb3); 306 | _0x1a739c = _0xef91ca(_0x1a739c, _0x598d7e); 307 | } 308 | return _0x5d6146[_0x4527('0x60', 'E8h[') + 'S'](_0x5d6146[_0x4527('0x97', '$Ot*') + 'd'](_0x5d6146[_0x4527('0xe1', 'zk82') + 'W'](_0x2cba20, _0x21dc08), _0x5d6146[_0x4527('0x73', 'Fc$j') + 'W'](_0x2cba20, _0x1ba0f9)) + _0x5d6146[_0x4527('0x2', '*Kuy') + 'Q'](_0x2cba20, _0x2ae876) + _0x5d6146[_0x4527('0xb2', 'euq(') + 'Q'](_0x2cba20, _0xe49903), _0x5d6146[_0x4527('0xd3', 'i5#D') + 'w'](_0x2cba20, _0x1a739c)); 309 | } 310 | 311 | function go(_0x222812) { 312 | var _0x165d9d = {}; 313 | _0x165d9d[_0x4527('0x44', '@RFn') + 'R'] = function (_0x229877, _0x49c468) { 314 | return _0x229877 < _0x49c468; 315 | }; 316 | _0x165d9d[_0x4527('0x7f', 'hJW]') + 'q'] = function (_0xff36a4, _0x137b74) { 317 | return _0xff36a4(_0x137b74); 318 | }; 319 | _0x165d9d[_0x4527('0x8a', 'IpXA') + 'o'] = function (_0x53905f, _0x448814) { 320 | return _0x53905f - _0x448814; 321 | }; 322 | _0x165d9d[_0x4527('0x3c', 'i5#D') + 'X'] = function (_0x2fbea1, _0x51cfb1) { 323 | return _0x2fbea1(_0x51cfb1); 324 | }; 325 | _0x165d9d[_0x4527('0x63', 'i5#D') + 'e'] = function (_0x7f2b11, _0x1f19f5) { 326 | return _0x7f2b11 + _0x1f19f5; 327 | }; 328 | _0x165d9d[_0x4527('0x3d', '*Kuy') + 'I'] = function (_0x1b949f, _0xed938c) { 329 | return _0x1b949f === _0xed938c; 330 | }; 331 | _0x165d9d[_0x4527('0xd2', '(qHS') + 'n'] = _0x4527('0x22', '5U@6') + _0x4527('0x7c', 'D%N3') + _0x4527('0x53', 'u]g3') + _0x4527('0x98', '$Ot*'); 332 | _0x165d9d[_0x4527('0xaa', 'i5#D') + 'j'] = function (_0x5c2451, _0x5b806f) { 333 | return _0x5c2451 >= _0x5b806f; 334 | }; 335 | _0x165d9d[_0x4527('0x31', '&b16') + 'Z'] = function (_0x572d7a, _0x4f4536) { 336 | return _0x572d7a & _0x4f4536; 337 | }; 338 | _0x165d9d[_0x4527('0x12', 'Xeqk') + 'i'] = function (_0x2fd861, _0x6c8561) { 339 | return _0x2fd861 >> _0x6c8561; 340 | }; 341 | _0x165d9d[_0x4527('0x2b', 'q%yy') + 'd'] = function (_0x1d286c, _0x35c94a) { 342 | return _0x1d286c !== _0x35c94a; 343 | }; 344 | _0x165d9d[_0x4527('0x54', 'YeFr') + 'r'] = _0x4527('0xb5', 'c2Qa') + 's'; 345 | _0x165d9d[_0x4527('0x55', 'IpXA') + 'f'] = _0x4527('0x9', 'D%N3') + 'V'; 346 | _0x165d9d[_0x4527('0x83', 'zk82') + 'x'] = function (_0x2ccdba, _0x569d49) { 347 | return _0x2ccdba + _0x569d49; 348 | }; 349 | _0x165d9d[_0x4527('0x9e', ')l3g') + 'Q'] = function (_0xa07ef7, _0x1a44fe) { 350 | return _0xa07ef7 + _0x1a44fe; 351 | }; 352 | _0x165d9d[_0x4527('0x2d', '3pZt') + 'V'] = function (_0x417f1a) { 353 | return _0x417f1a(); 354 | }; 355 | _0x165d9d[_0x4527('0x45', '(qHS') + 'G'] = function (_0x1b34a1, _0x5f4ef1) { 356 | return _0x1b34a1 - _0x5f4ef1; 357 | }; 358 | _0x165d9d[_0x4527('0xdc', '$w[P') + 'n'] = function (_0x4cf139, _0x260259) { 359 | return _0x4cf139(_0x260259); 360 | }; 361 | _0x165d9d[_0x4527('0x3b', 'sZSB') + 'B'] = function (_0x30041c, _0x891182, _0x1fd637) { 362 | return _0x30041c(_0x891182, _0x1fd637); 363 | }; 364 | _0x165d9d[_0x4527('0xb6', 'SVKb') + 'B'] = _0x4527('0x4e', 'la]@') + '失败'; 365 | var _0x275cb1 = _0x165d9d; 366 | 367 | function _0x4d35a1() { 368 | var _0x12702f = window[_0x4527('0x9b', 'Kj^q') + _0x4527('0xc1', 'BAno') + 'r'][_0x4527('0x43', 'Xeqk') + _0x4527('0x9d', 'u]g3') + 't'], 369 | _0x4f2d9d = [_0x4527('0xbf', '@RFn') + _0x4527('0xa', '3pZt')]; 370 | for (var _0x216d40 = 0x0; _0x275cb1[_0x4527('0x13', 'Xeqk') + 'R'](_0x216d40, _0x4f2d9d[_0x4527('0x46', ')fSU') + 'th']); _0x216d40++) { 371 | if (_0x12702f[_0x4527('0xad', 'E8h[') + _0x4527('0x5c', 'SLY&')](_0x4f2d9d[_0x216d40]) != -0x1) { 372 | return !![]; 373 | } 374 | } 375 | if (window[_0x4527('0x65', 'QgG2') + _0x4527('0x1d', 'dclM') + _0x4527('0x5b', 'ilt(')] || window[_0x4527('0x8f', 'ldP1') + _0x4527('0x96', 'zk82')] || window[_0x4527('0xd4', 'i5#D') + _0x4527('0xa7', 'x6ba')] || window[_0x4527('0x18', 'sZSB') + _0x4527('0x1e', 'ldP1') + 'r'][_0x4527('0xe0', 'ilt(') + _0x4527('0x1f', 'V[8N') + 'r'] || window[_0x4527('0x9f', 'u]g3') + _0x4527('0x82', 'i5#D') + 'r'][_0x4527('0xb0', 'q%yy') + _0x4527('0x2f', 'QgG2') + _0x4527('0x72', 'SVKb') + _0x4527('0x76', '[6rA') + 'e'] || window[_0x4527('0xac', 'GQc6') + _0x4527('0x81', '5U@6') + 'r'][_0x4527('0x8c', 'c2Qa') + _0x4527('0x89', 'QgG2') + _0x4527('0xa4', '$Ot*') + _0x4527('0xca', 'x6ba') + _0x4527('0x40', 'hJW]')]) { 376 | return !![]; 377 | } 378 | }; 379 | if (_0x275cb1[_0x4527('0x71', '(qHS') + 'V'](_0x4d35a1)) { 380 | return; 381 | } 382 | var _0x1f1ad8 = new Date(); 383 | 384 | function _0x8e2026(_0x448ea5, _0x292ef5) { 385 | var _0x26bb98 = _0x222812[_0x4527('0xb1', 'VMd1') + 's'][_0x4527('0xb', 'Kj^q') + 'th']; 386 | for (var _0x1ca2b5 = 0x0; _0x1ca2b5 < _0x26bb98; _0x1ca2b5++) { 387 | for (var _0x57aac8 = 0x0; _0x275cb1[_0x4527('0xc8', '560#') + 'R'](_0x57aac8, _0x26bb98); _0x57aac8++) { 388 | var _0x5532e3 = _0x275cb1[_0x4527('0x7d', 'c2Qa') + 'e'](_0x275cb1[_0x4527('0x4c', 'x6ba') + 'e'](_0x275cb1[_0x4527('0x63', 'i5#D') + 'e'](_0x292ef5[0x0], _0x222812[_0x4527('0xbd', 'V[8N') + 's'][_0x4527('0x86', '(qHS') + 'tr'](_0x1ca2b5, 0x1)), _0x222812[_0x4527('0x35', '#VBy') + 's'][_0x4527('0x4a', 'NV%w') + 'tr'](_0x57aac8, 0x1)), _0x292ef5[0x1]); 389 | if (hash(_0x5532e3) == _0x448ea5) { 390 | if (_0x275cb1[_0x4527('0x77', 'hJW]') + 'I'](_0x4527('0xcf', 'sZSB') + 'u', _0x4527('0x23', '(qHS') + 'u')) { 391 | return [_0x5532e3, _0x275cb1[_0x4527('0x2c', 'ilt(') + 'o'](new Date(), _0x1f1ad8)]; 392 | } else { 393 | _0x351bef = _0x275cb1[_0x4527('0x27', 'q%yy') + 'q'](parseInt, _0x222812['wt']) > _0xc6070a[0x1] ? _0x275cb1[_0x4527('0x2c', 'ilt(') + 'o'](_0x275cb1[_0x4527('0x3e', 'Fc$j') + 'X'](parseInt, _0x222812['wt']), _0xc6070a[0x1]) : 0x1f4; 394 | } 395 | } 396 | } 397 | } 398 | };var _0xc6070a = _0x8e2026(_0x222812['ct'], _0x222812[_0x4527('0x19', 'x17G')]); 399 | if (_0xc6070a) { 400 | var _0x351bef; 401 | if (_0x222812['wt']) { 402 | _0x351bef = parseInt(_0x222812['wt']) > _0xc6070a[0x1] ? _0x275cb1[_0x4527('0x66', 'dclM') + 'G'](_0x275cb1[_0x4527('0xdc', '$w[P') + 'n'](parseInt, _0x222812['wt']), _0xc6070a[0x1]) : 0x1f4; 403 | } else { 404 | _0x351bef = 0x5dc; 405 | } 406 | _0x275cb1[_0x4527('0x6', 'ra2C') + 'B'](setTimeout, function () { 407 | if (_0x275cb1[_0x4527('0x84', 'E8h[') + 'd'](_0x275cb1[_0x4527('0xd6', 'hJW]') + 'r'], _0x275cb1[_0x4527('0x28', 'u]g3') + 'f'])) { 408 | document[_0x4527('0x3a', '$w[P') + 'ie'] = _0x275cb1[_0x4527('0xa9', '$w[P') + 'x'](_0x275cb1[_0x4527('0x15', 'i5#D') + 'Q'](_0x222812['tn'], '='), _0xc6070a[0x0]) + (_0x4527('0x9a', 'Fc$j') + _0x4527('0x5f', 'V[8N') + '=') + _0x222812['vt'] + (_0x4527('0x61', 'ra2C') + _0x4527('0xd7', 'NV%w') + '\x20/'); 409 | location[_0x4527('0xb9', 'i5#D')] = _0x275cb1[_0x4527('0x6c', '@RFn') + 'Q'](location[_0x4527('0x8e', 'c2Qa') + _0x4527('0xcd', 'K)i3')], location[_0x4527('0xc4', 'Fc$j') + 'ch']); 410 | } else { 411 | var _0x242df0 = _0x275cb1[_0x4527('0x39', 'ilt(') + 'n']; 412 | var _0x5b08b3 = ''; 413 | for (var _0x3dda2b = 0x7; _0x275cb1[_0x4527('0x93', '$Ot*') + 'j'](_0x3dda2b, 0x0); _0x3dda2b--) { 414 | _0x5b08b3 += _0x242df0[_0x4527('0x75', 'ts@w') + 'At'](_0x275cb1[_0x4527('0x1a', 'NV%w') + 'Z'](_0x275cb1[_0x4527('0xc5', '*Kuy') + 'i'](num, _0x3dda2b * 0x4), 0xf)); 415 | } 416 | return _0x5b08b3; 417 | } 418 | }, _0x351bef); 419 | } else { 420 | alert(_0x275cb1[_0x4527('0x50', '#VBy') + 'B']); 421 | } 422 | return _0x275cb1[_0x4527('0xa9', '$w[P') + 'x'](_0x275cb1[_0x4527('0x15', 'i5#D') + 'Q'](_0x222812['tn'], '='), _0xc6070a[0x0]) + (_0x4527('0x9a', 'Fc$j') + _0x4527('0x5f', 'V[8N') + '=') + _0x222812['vt'] + (_0x4527('0x61', 'ra2C') + _0x4527('0xd7', 'NV%w') + ' /'); 423 | };go({ 424 | "bts": ["1619442700.882|0|H3x", "kfhd6J8w%2BDS3aCTIdvVKgg%3D"], 425 | "chars": "VJqCTabzzJosYkuZLkqOcq", 426 | "ct": "b3f42f3f14d9a56ab3352c51d9d6b61189b5de55", 427 | "ha": "sha1", 428 | "tn": "__jsl_clearance", 429 | "vt": "3600", 430 | "wt": "1500" 431 | }) 432 | 433 | function request() { 434 | return go({ 435 | "bts": ["1619442700.882|0|H3x", "kfhd6J8w%2BDS3aCTIdvVKgg%3D"], 436 | "chars": "VJqCTabzzJosYkuZLkqOcq", 437 | "ct": "b3f42f3f14d9a56ab3352c51d9d6b61189b5de55", 438 | "ha": "sha1", 439 | "tn": "__jsl_clearance", 440 | "vt": "3600", 441 | "wt": "1500" 442 | }) 443 | } --------------------------------------------------------------------------------