美文网首页
硬钢某数系列(一)~搭建调试环境

硬钢某数系列(一)~搭建调试环境

作者: 周周周__ | 来源:发表于2021-01-20 22:58 被阅读0次

调试网站: aHR0cDovL3d3dy5mYW5nZGkuY29tLmNuL25ld19ob3VzZS9uZXdfaG91c2VfZGV0YWlsLmh0bWw/cHJvamVjdF9pZD1iODdjYjNkMDRmODc4Y2E2
瑞数的整体代码(4代为例)
1、直接请求得到的js 有index.html界面上的 script
2、meta content(计算eval的js)
3、scripts[0] 中的 **.dfe1675.js 是 iso-8859-1编码的
4、scripts[1] 是通过自执行得到js 字符串,通过eval进行执行得到cookie的过程
   5.1 整体的代码结构是 初始的大数组
   5.2 定义一些函数,这些函数将会被eval内部的js进行调用
   5.3 控制流代码,进行判断环境检测,并得到eval的字符串
  偷偷告诉eval js代码在 ret=**.call(**, **)得到
5、scripts[3] 在eval的js有调用

硬钢搭建环境:请求202界面,复制下来,在script前加debugger,用fiddler autoresponse替换这个文件进行调试。

如下图,进行单步调试


图片.1
分析代码,扣代码

由扣出的代码可见,主要执行步骤在最下边的while 控制流,以及最后一个函数内部的多个控制流:


图片.png

1、代码已经抠出来,优先运行补环境,查缺补漏。(从头开始一点一点的补)

1、缺window,补个 window=global;

图片.png
2、缺document,补个document={}
图片.png
3、需要document.scripts,定位到浏览器代码,查看长度需要是3,补个document.scripts = [1, 2, 3](暂时)
图片.png
4、再运行代码,就大功告成了?不! 并没有,我们在界面上断住这行代码,发现直到最后都断不住到这里,所以感觉还是缺点是什么。
我是通过在控制流断点和webstorm断点单步调试找到的区别,是因为少了一个文件
图片.png

把这里 代码拿出来 补进去,成功运行 打印 window.$_ts,202界面加载的 主要函数就出来了


图片.png

ret=.call(*, **)

**打印出来,就是瑞数的调试逻辑代码(具体操作js基本知识)

相关文章

网友评论

      本文标题:硬钢某数系列(一)~搭建调试环境

      本文链接:https://www.haomeiwen.com/subject/ccpswktx.html