前言
该文章为学习使用,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!如有侵权,请私信联系作者删除~
正文
如何区分瑞数版本
看生成cookie的第一个数字
4代瑞数 通常是 T S 结尾就是4代
5代瑞数 通常是 O T 结尾 值的第一个是5 通常表示5代
瑞数 基本上的代码都差不多 能解一个网站 也能解其他网站 比较通用 除非比较特殊的网站
6代可以补环境解
瑞数的流程逻辑
我们在做逆向的时候,首先得分析出哪些加密参数
是需要逆向的,然后再是去逆向这些参数。当然瑞数也是一样。
所以我们第一步就是明确逆向的目标
:
-
现象:上了rs的网站会请求两次page_url,第二次请求page_url时才能得到正确的页面内容;
-
分析:分析其请求体,发现第二次请求page_url时带上了cookie_s和cookie_t, 而cookies_s是来自第一次请求page_url时其响应头set的;
瑞数网站请求流程分析
第一次请求:
请求page_url,响应状态码202,响应头中 set了 cookie_s;
响应体是HTML
源码,从上到下可以分为四部分:我先剧透一下它们的作用
- 一个
meta
标签,其content
内容很长且是动态的(每次请求会变化),会在eval
执行第二层JS
代码时使用到; - 一个外链
js
文件,一般同一页面中其内容是固定的,下面的自执行函数会解密文件内容生成eval
执行时需要的JS
源码,也就是第二层vm
代码; - 一个大自执行函数(每次请求首页都会动态变化),主要是解密外链
JS
内容,给window
添加一些属性如$_ts
,会在vm
中使用; - 末尾的两个
script
标签中的函数调用,会更新cookie
,使其变长。这里我们可以不用关注这个。
**注:**在这里可以勾选 script 进行调试
瑞数执行流程图解如下
这里我们需要关注eval调用
的位置(也就是VM的入口
),cookie生成的位置。
注:浏览器
v8
调用eval
执行代码时会开启一个虚拟机(VM
+数字)去执行JavaScript代码。
结果
后文
还未更新完毕