# 第三题 解import requests
whileTrue:# 第一次请求url
url ="http://159.75.70.9:8081/pull?u="+token
# 发送get请求
r = requests.get(url)# 获取返回的json数据print(r.json())
t = r.json()['t']
a = r.json()['a']
c = r.json()['c']# 经过变量名替换,发现运算过程如下:
x =0x30d3ffor i inrange(0x30d3f,0,-1):
j = a[0x0]* i
if(j % a[0x2]== a[0x1]and i < x):
x = i
print(x)# 第二次请求url
url ="http://159.75.70.9:8081/push?t="+ t +"&a="+str(x)# 发送get请求
r = requests.get(url)# 获取返回的json数据print(r.json())
# 第四题 解import requests
defadd(x, y):return x + y
defsub(x, y):return x - y
defmul(x, y):return x * y
fun =[add, sub, mul]whileTrue:# 第一次请求url
url ="http://159.75.70.9:8081/pull?u="+token
# 发送get请求
r = requests.get(url)# 获取返回的json数据print(r.json())
t = r.json()['t']
a = r.json()['a']
c = r.json()['c']# 第四关 求参数a 的运算过程
answer =0
i =0
a.sort()for num in a:
i +=1
answer = fun[i %3](answer, num)print(-answer)# 第二次请求url
url ="http://159.75.70.9:8081/push?t="+ t +"&a="+str(-answer)# 发送get请求
r = requests.get(url)# 获取返回的json数据print(r.json())
# 第六关 解# 获取js中参数e的数据
e =[]
c ="F3B9B832"
url ="http://159.75.70.9:8080/"+ c +".js"print(url)# 发送get请求
r = requests.get(url)# 获取返回的json数据
start = r.text.find("__TENCENT_CHAOS_VM(0,[")+len("__TENCENT_CHAOS_VM(0,[")
end = r.text.find("],window)}()")
strList = r.text[start: end].split(',')for take_str in strList:
e.append(int(take_str))print("e:",len(e))# 从 e 中 获取 求余值 和 种子值 列表
judge = e[142]
seedList =[]
seedStart =142
step =[149,239]
index = seedStart;# 求余值
modStart =2361
mod =0
s =''
i = modStart
while i <len(e):if e[i]== judge:
s +=str(e[i +1]-48)
i +=1else:
mod =int(s)break
i +=1print(mod)# 种子值
count =0;whileTrue:
s =''if count >=12:break
i = index
while i <len(e):if e[i]== judge:
s +=str(e[i +1]-48)
i +=1else:
seedList.append(int(s))break
i +=1
index += step[count%2]
count +=1print(seedList)# 快速幂deffastPower(ans, a, b, n):while n >0:if n %2==1:
ans = ans * a % b
a = a * a % b
n = n //2return ans % b
count =0while(count <10000):print(count)# 请求地址
url ="http://159.75.70.9:8081/pull?u="+token
# 发送get请求
r = requests.get(url)# 获取返回的json数据print(r.json())
t = r.json()['t']
a = r.json()['a']
c = r.json()['c']# 第六关
ans =1
addNumber =0
i =0while i <6:
j =0while j <2:
ans = fastPower(ans, seedList[i*2+ j], mod, a[i*2+ j])
j +=1
addNumber =(addNumber + ans)% mod
ans =1
i +=1# print(addNumber)
url ="http://159.75.70.9:8081/push?t="+ t +"&a="+str(addNumber)print(url)# 发送get请求
r = requests.get(url)# 获取返回的json数据print(r.json())try:if r.json()["error"]!=None:
url ="http://159.75.70.9:8080/"+ c +".js"print(url)# 发送get请求
r = requests.get(url)# 获取返回的json数据
start = r.text.find("__TENCENT_CHAOS_VM(0,[")+len("__TENCENT_CHAOS_VM(0,[")
end = r.text.find("],window)}()")
strList = r.text[start: end].split(',')
e.clear()for take_str in strList:
e.append(int(take_str))print("e:", e)
judge = e[142]print(judge)# 获取种子
i = modStart
while i <len(e):if e[i]== judge:
s +=str(e[i +1]-48)
i +=1else:
mod =int(s)break
i +=1print(mod)# 种子
j =0; index = seedStart;
seedList.clear()whileTrue:
s =''if j >=12:break
i = index
while index <len(e):if e[i]== judge:
s +=str(e[i +1]-48)
i +=1else:
seedList.append(int(s))break
i +=1
index += step[j %2]
j +=1print(seedList)
count +=1except KeyError:
count +=1continue