这段时间一方面是因为工作忙,且后面逆向过程也并不顺利,所以第二篇一直都没写。截止今晚写博客的时候,最后的滑块轨迹没有处理好,导致滑块一直过不去。但是今晚没心思写代码了,想把滑块这个放下缓一缓。一直忙习惯了,突然没事干的一晚上,就水一水博客吧,不忙一要是去打游戏心里总觉得不踏实,这算是一种斯德哥尔摩综合症嘛🤔🤔🤔
一、先把w是怎么生成的再快速过一遍,把第一篇中遗漏的一些地方补上,然后我再把这次逆向中总结到的一点经验写出来。
这里接上上一篇博客,我们在这里找到w的加密入口。
下面这个就是最初的轨迹列表计算差值的代码,代码逻辑就是这样的。
track_list = [
[x1,y1,t1],
[x2,y2,t2],
[x3,y3,t3],
[x4,y4,t4],
]
new_track = [
[x2-x1,y2-y1,t2-t1],
[x3-x2,y3-y1,t3-t2],
[x4-x3,y4-y3,t4-t3]
]
下面这张图是加密函数的更深层的一个入口,我记得加密点是d函数,就是低4607行。如果有读者看到这里了,不要觉得你的也是4607行,因为很有可能你的已经不是了。这里是个重点,重要的事情说三遍,这里是个重点,也是后面我们生成W值的入口。这里面e就是加密所需要的参数。记住这里哈。
然后上面的b函数进来就是这里了。里面具体都是些什么意思上一篇帖子里也说过,我就不详说了。原因是我不想截图复制代码挨个讲解了,多少有点懒。
有几个加密参数是16位的小写英文+数字组合的,千万不要一股脑的都认为是base64的16位加密。
下面这个就是b函数加密中的一个断点,这里可以看看,能帮助理解加密的流程。
暂且暂停一下,有点事ÿ