blackbox逆向
aHR0cHM6Ly93d3cuanVuZXlhb2Fpci5jb20vaG9tZQ==
本文章中所有内容仅供学习交流使用,不用于其他任何目的,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!
blackbox
直接搜索blackbox即可定位到生成的位置
往上跟栈一点就能找到加密函数(这个js需要本地替换一下不然每次会变,可以AST简单解一下)
扣出来QOoooO()
这个函数,直接粘贴出来就好,缺的一些函数都是运算操作函数,页面上有。
主要是第一个位置的这个加密参数,它是由web3_8/profile.json
这个json中返回的。
加密参数挺多的,就不截图了。
token_id
直接在加密的那个js上搜token_id
在搜Q0oQ0o["token"] =
就能看到加密位置
主要就是拼接了jxhk,时间戳,和随机数
Q0oQ0o["token"] = oo0OoO(oo0OoO(oo0OoO(oo0OoO(_fmOpt["partner"] || Q0oQ0o["partner"], "-"), new window["Date"]()["getTime"]()), "-"), window["Math"]["random"]()["toString"](16)["substr"](2));
a,b,c,d,g,f,w,ct
这个地方的值可以不用动态生成,直接写死就可以过包括时间戳
a,b,c,d,g的数组生成位置,变化的直接搜n,m,x,y中对应某个值,就可以找到这个数组的生成位置以及动态变化的几个值的生成位置
let arr_suffix = new window["Date"]()["getTime"]()["toString"](32) let arr = [] let data = arr.join("^^") // 拼接时间戳 data = data + "^^" + arr_suffix
加密位置,主要是一个3DES加密,iv是12345678,模式是CBC,使用 PKCS7 填充
这个地方要注意会生成两次a,b,c,d,g,第二次的时候会往各自的数组里添加了部分数据,写死即可,如果直接用写死的明文,需要用第二次的加密的明文
Q0oQ0o[timestamp]
的生成位置直接搜就好了
f的明文参数1^^0^^0^^0^^0^^0
w的明文是写死在页面的上的也就是v的值JZuFK8iZfzhZG+BaqcUjAgNuPh8lFrtHCX3Ev7uGAGTj9gLkI0nL5bb/QS7zhKew
ct的明文参数是一个时间差,jsDownloadedTime(直接搜这个就可以看到生成的位置)-当前的时间差值
,最后大概在5000-5500之间
e
因为最后数据都存在了deviceInfo
里面,所有利用这个可以定位到e
的生成位置
主要由Q0o0o0()
随机生成,扣出来就行了,很好扣
idf
搜idf
即可定位到生成位置
秘钥是在页面上写死的,是一个RSA加密,使用 PKCS1 填充
_callback
直接搜_callback
搜OoOOQO =
,这个函数很短简单看一下,就能发现是一个时间戳加个随机数组成的
h
在上面那个_callback
后面就可以看到h
的生成位置
hash128
那个函数直接扣下来即可,加密参数是把前面的所有数据用&
拼接在一起,开头加一个?
本文作者:逍遥子D
本文链接:https://www.cnblogs.com/xyzJoker/p/18700949
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步