1.第一题 js混淆源码乱码 - 猿人学


: url 时间戳加密
右键遇到反调试,参考前面的文章 过反调试

2.ast解混淆

首页1.js 拿到 function oo0O0, 在<script>标签里面, 无法调试,分析自己提取出来,或则hook替换

加密逻辑存在于window.a中,套娃中的套娃
 经过第一个循环拿到window.b
经过第一个循环拿到window.b 
格式化后

很明显了
是一个md5加密
接着分析
J ('0x0', ']dQW') = mwqqppz 
 
 
继续调试输出,结合刚才的md5 加密结尾js有一个整个

代码逻辑就很明显了,也就是用hex_md5(mw),mw就是传进去的时间戳,回到刚才AST解混淆之后的代码,知道得到时间戳之后还要+100000000
var _0x2268f9 = Date.parse(new Date()) + 100000000;3.写代码
完整python代码如下:
import urllib.parse
from curl_cffi import requests
import time
import execjs
with open('test.js','r') as f:
    js_code = f.read()
f.close()
last_result=''
for i in range(5):
    i = i+1
    thetimestap = int(time.time()) * 1000 + 100000000
    ctx = execjs.compile(js_code)
    result = ctx.call('test', thetimestap,last_result)
    print(result)
    thestap = result
    last_result = thestap
    param = urllib.parse.quote_plus(thestap+'丨'+str(int(thetimestap/1000)))
    myurl = 'https://match.yuanrenxue.cn/api/match/1'+'?page='+str(i)+'&m='+param
    print(myurl)
    res = requests.get(myurl)
    print(res.text)




















