某数逆向
声明:文章只做技术分享,切勿将文章用于商业行为;若文章侵犯了贵公司的权益,请联系删除。
今天给大家分享一篇关于某数逆向的文章。
说起某数的逆向,可着实是让踩了不少的坑,本次也主要给大家分享一下我逆向的思路以及其中的一些坑点。
拿到网站,首先f12一下,便发现会停在这样一个界面:
没错,就是这个无限debug,让你无从断点,影响正常调试。一般来说,如果是静态页面,倒不会有啥影响,直接跳过就完事了;关键某数的代码完全是动态的,你的断点根本没有效果。
要过滤掉这个debug也不是没有办法,这里介绍几种方法,都可以使用:
-
使用fiddler进行请求拦截,进行调试
-
使用chrome的script监听器进行调试
-
本地搭建环境
(以上三种方式网上都有讲解,本文不做阐述)
鉴于某数的代码是动态加载的,即你每次请求所返回的js代码都不同,所以这里我采用了第三种方式进行逆向。(毕竟本地代码不会改变嘛)
某数的调试总体来说分为两个阶段,第一个阶段是先获取一些必要的参数(如$_ts),然后再动态生成下一阶段需要运行的js。那么第二段需要运行的js在哪里生成呢,你可以在第一次请求所返回的数据中搜索
"ret = ",然后便会有如下发现:
这个地方主要是调用了eval函数,然后利用动态生成的js代码,进行cookie的生成。之后就是本地调试进行补环境了。
其实说到这里也就没什么说的了,下面在说一下补环境的坑点。
看更多内容,欢迎关注:爬虫逆向与数据分析