闲来无事,就来看看某象的滑块是咋样的,居然和某验一样也需要底图还原,想我在搞某验的时候,那个底图还原是直接从网上找的代码,具体的流程我也不是很懂,那么就拿某象来试试手把。
本文章只来分析底图还原的操作。
首先来看一下图片返回的样子
从这我们就可以看出他和某验还是有一点不同的
某验是分了上下两层,而某象只分了一层,这样看来,他应该更简单一点(其实都一样,拿到序号重新排一下就好了)
既然这样了,那我们就要找他是怎么操作的。
打上这个canvas断点, 重新点击按钮
蹦到了这里 ,分析一下这段代码的含义,c.drawImage(t, 0, 0, n, e);,在画布上绘制图片,
还有一个 c.drawImage(t, i, 0, a, e, n * d, 0, a, e)
对应的这个语法 ,这里就是重新剪切这个图片,将他拼成一个完整的图片,那么
我们就要知道这几个参数的数值 ,我们需要去找这个r和n,
这里t[e], e就是 r,n,找这个t,这个就是图片的序列号,要根据这个号进行排序
一共分为32份,我们可以结合这返回的图片看一下是不是竖直分了32份,而这段代码的意思,就是把 图片 重新 按照 6,1,4,23,21... 进行排序。
( 也不知道我说的大家能不能听懂)
现在,我们要去找这个t是怎么生成的
向上跟栈,在这里生成的
这个是文件的名字,他是根据文件的名字生成的排序规则 ,把代码扣出来
也很简单,两段代码 ,序号拿到了,接下来该怎么办呢,我找来了某验的还原代码,既然都是一样的,稍微修改修改就能用吧。
最终代码及结果,_seq就是图片的序号,看你是怎么搞了,代码也不难,可以还原成python版本的,当然直接用execjs调用也可。
到此结束。。。