某乎x-zse-96参数,逆向算法

文章目录

  • 前言
  • 一.入口函数
  • 二.一些关键点分析

声明:本文只作学习研究,禁止用于非法用途,否则后果自负,如有侵权,请告知删除,谢谢!

前言

	算上前两个网站的jsvmp,就还没有去具体的网站实践,最近就试了一下知乎的x-zse-96参数,看大佬都推荐去逆向这个参数。

目标网址:aHR0cHM6Ly93d3cuemhpaHUuY29tL3NlYXJjaD90eXBlPWNvbnRlbnQmcT0lRTclOTklQkUlRTUlQkElQTYz

某乎x-zse-96参数,逆向算法_第1张图片
同样本文依然沿用的是我之前关于jsvmp的思路,具体的可以看这里我自己还挺好滴
也欢迎大佬们留言交流呀。

一.入口函数

某乎x-zse-96参数,逆向算法_第2张图片
某乎x-zse-96参数,逆向算法_第3张图片
这里导出了加密函数,是为了后面方便的调用,当然你也可以把整个加密算法脱下来,然后去逆向加密过程。
下面就进入,入口函数分析
某乎x-zse-96参数,逆向算法_第4张图片
本来第一步肯定是先看下arguments有什么,我已经看了,有兴趣自己去输出看一看,然后就明白了为什么这样下条件断点。
还有一点就是为什么在这点下断,因为啊,这里有个for循环啊,就像这种类似都所有加密都经过这点的时候,for循环就会提供很多东西。思路开始来源于我最开始一篇关于jsvmp的文章。
看来我之前的文章也就知道,还有一个关键在于一长串的关于计算的东西,一般含有基本的运算符号,位运算啊等等。这不,在这里找到了
某乎x-zse-96参数,逆向算法_第5张图片
当然如果你还要找其他的信息阔以自己去试试,我就选择了这两处。

二.一些关键点分析

某乎x-zse-96参数,逆向算法_第6张图片
从这就阔以知道是先生成索引,然后在再字符串中寻找出来滴结果。
然后就在上一步一直找42是怎么生成的嘛,这个很简单啊。这里提示一些关键位置的生成。
某乎x-zse-96参数,逆向算法_第7张图片
这个97,你是在你输出的日志中是找不到滴,因为这个97是通过
某乎x-zse-96参数,逆向算法_第8张图片
如果你想看在源码那点生成的,可以先下几个条件断,然后就会发现在这里看到如何生成97的。
某乎x-zse-96参数,逆向算法_第9张图片
那就还有一个问题了31是从哪里来的哎?先别慌,看一下这个
在这里插入图片描述
这一长串md5就是传入滴,待加密的参数。正好哎有32位哎,然后我们再多看几组
某乎x-zse-96参数,逆向算法_第10张图片
某乎x-zse-96参数,逆向算法_第11张图片
某乎x-zse-96参数,逆向算法_第12张图片
很棒吧。当然,还有一点疑惑就是,看不到32,29,26,23,20,17,14,11,8,5,2,但并不影响,因为还是用的32,29,26,这些索引值来计算的。
然后我就整理一下,
某乎x-zse-96参数,逆向算法_第13张图片

某乎x-zse-96参数,逆向算法_第14张图片
阔以自己整理下来,然后就会发现一些规律啦。

到目前为止,分析了一些关键的疑惑,剩下的感觉问题也不大了,也就是细心和找规律的问题啦。
整个算法,用python还原后,也只有50行左右啦(阔能我写的比较臃肿,应该还阔以减少)。
某乎x-zse-96参数,逆向算法_第15张图片

大佬文章推荐:
十一姐滴
里面还有其他大佬的文章,都写得很棒啊呀。

你可能感兴趣的:(一些js逆向,爬虫,python,javascript)