当前位置: 首页 > news >正文

wordpress 屏蔽搜索引擎免费的电脑优化软件

wordpress 屏蔽搜索引擎,免费的电脑优化软件,使用爬虫做的网站,成功的企业网站案例本节属于知识总结#xff0c;只是对思路的梳理#xff0c;不对具体内容进行展开 JS 逆向可以分为三大部分#xff1a; 寻找入口#xff0c; 调试分析#xff0c; 模拟执行 寻找入口#xff1a; 这是非常关键的一步#xff0c;逆向在大部分情况下就是找一些加密参数到底…本节属于知识总结只是对思路的梳理不对具体内容进行展开 JS 逆向可以分为三大部分 寻找入口 调试分析 模拟执行 寻找入口 这是非常关键的一步逆向在大部分情况下就是找一些加密参数到底是怎么来的比如请求中的 token sign 等参数到底在哪里构造的 这个关键逻辑可能写在某个关键的方法里面或者隐藏在某个关键的变量里面。一个网站加载了很多 JS 文件那么怎么从这么多 JS 代码里面找到关键的位置那就是一个关键的问题这就是寻找入口 调试分析 找到入口后比如我们可以定位到某个参数可能是在某个方法里面执行了的那么里面的逻辑究竟是怎样的里面调用了多少加密算法经过了多少变量赋值和转换等这些需要我们先把整体思路整理清楚以便于我们后面进行模拟调用或者逻辑改写。在这个过程中我们主要借助于浏览器的调试工具进行断点调试分析或者借助一些反混淆工具进行代码的反混淆 模拟执行 经过调试分析之后我们差不多已经搞清楚整个逻辑了但我们最终目的还是写爬虫怎么爬取到数据才是根本因此这里就需要对整个加密过程进行逻辑复写或者模拟执行以把整个加密流程模拟出来比如输入一些已知变量调用之后我们就可以拿到一些 token 内容再用这个 token 进行数据爬取即可 本节将对以上内容进行梳理 寻找入口 其中包括 查看请求 搜索参数 分析发起调用 断点 Hook 等 查看请求 一般来说我们都是先分析想要的数据到底从哪里来的。 比如说对示例网站 https://spa6.scrape.center 我们可以看到首页有一条条数据这些数据肯定是某个请求返回的那它究竟是从哪个请求里面来的呢 我们可以先尝试搜索一下 打开浏览器开发者工具打开 Network 面板然后点击搜索按钮 比如这里我们搜索 “霸王别姬” 注意: 要把中间的内容刷新出来才搜索不然什么都搜不到 我们可以看到对应的搜索结果点击搜索到的结果我们可以定位到响应结果的位置 这样我们看到了是哪里发起的请求 我们还可以看到请求的参数比如 token  一般来说我们可以通过这种方式寻找最初的突破口。如果请求中带有加密参数就顺着继续找这个参数究竟在哪里生成的。如果没有加密参数我们就可以直接爬取 搜索参数 前面我们找到了最初的突破口同时也找到了加密参数 token 这里我们看看 token 怎么构造出来的 一种简单的方法就是全局搜索。一般来说参数名大多数情况下就是一个普通的字符串比如这里叫做 token 那么这个字符串肯定隐藏在某个 JS 文件中我们可以尝试进行搜索也可以加 冒号空格引号等来配合搜索。因为一般来说这个参数会配合一些符号一起出现比如我们可以搜 token   token:   token :  token  等我们可以直接调用浏览器调试面板的搜索功能 这是一个资源搜索入口比如可以搜索下载下来的 JS 文件的内容这里我们输入 token 来进行搜索 如果内容不显示是可以上拉的这里搜索到的结果我们可以点进去看看里面是不是我们要的内容 分析发起调用 上述搜索是其中一种查找入口的方式这是从源码级别上直接查找。我们也可以通过其他思路来查找入口比如可以查看发起调用的流程。 可以直接从 Network 请求里面的 Initiator 查看当前请求构造的相关逻辑 看不到内容当我们鼠标悬停在 Initiator 那一栏的时候会出现对应的调用 我们可以看到每一层的调用我们可以依次点进去查看比如这里的第八层调用了一个 onFetchData 方法 点击右侧代码位置我们就可以找到一些相关的逻辑 断点 另外我们还可以通过断点进行入口查找比如 XHR 断点 DOM 断点事件断点等。我们可以在开发者工具中的 Sources 面板里面添加设置比如这里我们就添加了 XHT 断点和全局 Load 事件断点 这样网页就可以在整个页面加载完成之后发起 Ajax 请求的时候停下来进入断点调试模式。 Hook Hook 也是一个非常常用的查找入口的功能。有时候一些代码搜索或者断点并能很有效的找到对应的入口位置这时候就可以使用 Hook 了 比如说我们可以对一些常用的加密和编码算法常用的转换操作都进行一些 Hook 比如说 Base64编码 Cookie 的赋值 JSON 的序列化等 比较方便的 Hook 方式就是通过 TamporMonkey 这个插件实现使用它我们不仅可以方便的自定义脚本执行时间点也可以引入一些额外的脚本辅助 Hook 进行代码编写具体实现可以查阅相关资料 其他 以上便是一些常见的分析入口的方法当然还有很多其他方法比如使用 Pyppeteer, PlayWright 里面内置的 API 实现那一些数据拦截和过滤功能 也可以使用一些抓包软件对一些请求进行拦截和分析还可以使用一些第三方工具或浏览器来辅助分析 调试分析 找到对应的入口后我们就要开始调试分析了。在这个步骤中我们通常需要进行一些格式化断点调试反混淆等操作来辅助整个流程的分析 格式化 格式化这个流程非常重要它可以大大增加代码的可读性一般来说很多 JS 代码都是经过打包和压缩的。多数情况下我们可以使用 Sources 面板下 JS 窗口左下角的格式化按钮对代码进行格式化 另外还有一些网站的 HTML 和 JS 是混在一起的比如 https://spa8.scrape.center/ 如果代码被压缩成一行无法利用前面的方法格式化可以把代码复制下来然后用一些格式化工具进行格式化例如 https://beautifier.io/ 我们还可以选择一些格式化的选项比如缩进 换行等 断点调试 代码格式化之后我们就可以正式进入调试流程了基本操作就是给想要调试的代码添加断点同时在对应的面板里观察对应变量的值 反混淆 在某些情况下我们还有可能遇到一些混淆方式比如控制流扁平化数组移位等。对于一些特殊的混淆我们可以使用 AST 技术来对代码进行还原。 比如案例  https://antispider10.scrape.center  就使用控制流扁平化方式对代码进行混淆 不要管页面怎么显示只看代码 可以看到这里有一个 while 循环循环内通过一些判断条件来执行一些逻辑有的逻辑放在了 if 区块 有的逻辑放在了 else 区块还有的逻辑放在了 catch 区块 这就导致我们无法一下子了解这几个区块的真正执行顺序 对于此类混淆我们可以使用 AST 进行还原方便更好的阅读关于 AST 可以查阅相关资料 模拟执行 经过一系列的调试现在我们已经可以理清其中的逻辑了 接下来就是一些调用执行的过程了。 Python 改写和模拟执行 由于 Python 简单易用同时也能够模拟调用执行 JS 如果整体逻辑不复杂的话我们可以尝试使用 Python 来把整个加密流程完整的实现一遍。如果整体流程相对复杂我们可以尝试使用 Python 来模拟调用 JS 来执行 JS 模拟执行   API 由于整个逻辑是 JS 实现的使用 Python 来执行 JS难免会有一些不太方便的地方。而 Node.js 天生就有对 JS 的支持。为了更通用的实现 JS 的模拟调用 我们可以用 express 来模拟调用 JS 同时将其暴露成一个 API 从而可以实现跨语言调用 浏览器模拟执行 由于整个逻辑是运行在浏览器里面的我们当然也可以将浏览器当做整个执行环境。比如使用 Selenium PlayWright 等来尝试执行一些 JS 代码得到一些返回结果 总结 本节是对整体爬取思路的梳理加上应该用哪些方法来解决问题
http://www.w-s-a.com/news/313146/

相关文章:

  • 高端网站案例360做的网站
  • 瑞安地区建设网站公众号开发者工具是干嘛的
  • 请解释网站开发的主要流程.wordpress主体上传
  • 网站方案组成要素饰品公司网站建设方案
  • 网站改版被降权赣州景文网络科技有限公司
  • 吉林省网站建设推广图片模版
  • 如何做网站热力图佛山 网站关键词优化
  • 个人网站建设论文中期报告申报网站建设理由 模板
  • 岫岩做网站软件开发和app开发的区别
  • 邯郸质量一站式服务平台上线如何做国外销售网站
  • 内蒙古工程建设协会网站sem优化策略
  • Linux网站建设总结建设电子商务平台
  • 公司网站背景图片课程网站如何建设
  • 用js做简单的网站页面互联网技术对人力资源管理的影响有哪些
  • 银川做网站贵德县wap网站建设公司
  • 深圳网站建设zvge山西省煤炭基本建设局网站
  • 佛山网页网站设计线上怎么做推广和宣传
  • 多个域名绑定同一个网站案例
  • 建设网站都需要准备什么代理加盟微信网站建设
  • 网站备案没有了wordpress 添加按钮
  • 湖南建设银行宣传部网站福田蒙派克空调滤芯安装位置图
  • wap网站搜索wordpress工作室模板
  • 青岛金融网站建设如何提交网站地图
  • 制作简单门户网站步骤网站建设论文的摘要
  • 可以直接进入网站的正能量照片学做静态网站
  • 织梦做社交网站合适吗网站的市场如何制作
  • 阳曲网站建设价格多少四川佳和建设工程网站
  • 免费注册店铺位置sem seo什么意思
  • 建筑网站搜图电子商务网站建设渠道
  • 学校网站内容四川手机网站开发