前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >搭建调试环境

搭建调试环境

原创
作者头像
前端小tips
发布2021-11-30 15:53:25
5820
发布2021-11-30 15:53:25
举报
文章被收录于专栏:前端文章小tips

调试网站: 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基本知识)

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
作者已关闭评论
0 条评论
热度
最新
推荐阅读
目录
  • 硬钢搭建环境:请求202界面,复制下来,在script前加debugger,用fiddler autoresponse替换这个文件进行调试。
  • 1、代码已经抠出来,优先运行补环境,查缺补漏。(从头开始一点一点的补)
    • ret= .call( *, **)
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档