Web Spider基础 JS逆向 手动补环境(一)

发布时间:2026/9/7 13:42:00

Web Spider基础 JS逆向 手动补环境(一)
文章目录前言一、资源推荐二、vscode 本地调试三、补环境注意事项四、代码如何被检测五、小知识扩展前言目的在补环境框架中直接运行某JS文件不修改原JS文件难点如何找到缺少的环境如何很好的实现环境代码注意只要能返回正常的数据补什么环境或数据不重要提示以下是本篇文章正文内容下面案例可供参考一、资源推荐Web 开发技术 官方https://developer.mozilla.org/zh-CN/vm2 官方地址https://www.npmjs.com/package/vm2Documenthttps://developer.mozilla.org/zh-CN/docs/Web/API/Document/referrer二、vscode 本地调试由于V8环境不能调试JS代码node环境可以调试(但有一些检测需要安装vm2来执行)vm2网址https://www.npmjs.com/package/vm2命令安装npm install vm2vm2是一个纯净的V8环境1、读取JS代码使用vm2来执行案例var fsrequire(fs);const{VM}require(vm2);constvmnewVM();var codefs.readFileSync(encode.js,utf-8);vm.run(code);2、vm2 vscode浏览器无环境联调// vm2 官方地址https://www.npmjs.com/package/vm2var fsrequire(fs);// 导入读取文件模块var{VM,VMScript}require(vm2);// VMScipt是用于调试的对象var encrypt_code_path./src/js_encrypt.js;// 加密的代码 路径var window_code_path./src/js_window.js;// 补充环境的代码 路径var vmnewVM();// 参数1加密代码和补充环境代码的文件读取对象 参数2正在debugger的名称var scriptnewVMScript(fs.readFileSync(window_code_path)fs.readFileSync(encrypt_code_path),testing js code);debugger;vm.run(script);debugger;3、vscode 配置文件{type:node,request:launch,name:testing js code 启动程序,// 本地运行skipFiles:[node_internals/**],program:${workspaceFolder}\\src\\js_runs.js// 需要运行的代码文件},{type:node,request:launch,name:debugger testing js code ,// 用于与浏览器联调skipFiles:[node_internals/**],runtimeExecutable:node-inspect,// 需要安装模块node-inspectprogram:${workspaceFolder}\\src\\js_runs.js// 需要运行的代码文件},程序启动后会跟下图标红处一致我们可以打开任意浏览器按F12进入开发者模式可以发现一个小绿盒子点击就能进入纯净的无环境V8浏览器调试工具并且本地的代码也会嵌入到浏览器调试当中三、补环境注意事项注意事项1、小知识检测node环境process属性在浏览器环境和V8环境都没有只有node环境有可以delete process 2、小知识canvas指纹检测不是非常严格却一个两个问题不大3、大部分比较标准的代码会把环境检测代码写在一块可以通过控制台打印(插桩)分析到底检测了哪些环境4、本地代码调试遇见bug不显示哪一行报错可通过编程猫调试工具加载代码来确认会停在出错的哪一行5、node环境没有window this有window global6、总结手动补环境遇见未 知属性可以去Web开发官方文档搜索了解该属性的作用以及返回的东西四、代码如何被检测如何被检测1、tostring2、基于原型链的检测3、document4、bom浏览器环境5、navigator用户代理(浏览器)的状态和标识6、location浏览器连接到的对象的位置7、screen屏幕窗口信息8、window全局属性、方法、控制浏览器窗口相关的属性、方法proxy的作用帮助我们对某一个对象的操作进行拦截五、小知识扩展自行研究**补环境框架jsdom env-js **

相关新闻

【DIY系列:Java虚拟机】第05篇:项目结构与第一行代码——jvmgo 项目骨架搭建

【DIY系列:Java虚拟机】第05篇:项目结构与第一行代码——jvmgo 项目骨架搭建

2026/9/7 13:31:59

上一篇【第04篇】Go 语言环境准备——用 Go 写 JVM 的 5 大理由 下一篇【第06篇】类路径(classpath)是什么鬼——JVM 怎么找到你的 class 文件 摘要 前面四篇都在做准备,这一篇终于要动手写代码了! 本章(ch01&#x…

【DIY系列:Java虚拟机】第06篇:类路径(classpath)是什么鬼——JVM 怎么找到你的 class 文件

【DIY系列:Java虚拟机】第06篇:类路径(classpath)是什么鬼——JVM 怎么找到你的 class 文件

2026/9/7 13:31:59

上一篇【第05篇】项目结构与第一行代码——jvmgo 项目骨架搭建 下一篇【第07篇】Entry 接口设计——类路径的"积木块" 摘要 写一个 JVM,第一件要解决的事就是:去哪儿找 class 文件? 有意思的是,Java 虚拟机规范并没有…

计算机系统结构实验指南:从模拟器配置到报告撰写的完整流程

计算机系统结构实验指南:从模拟器配置到报告撰写的完整流程

2026/9/7 13:31:59

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

Web-Dev-For-Beginners 浏览器扩展第 2 课:调用 API 与 Local Storage,为你的扩展注入数据与记忆

Web-Dev-For-Beginners 浏览器扩展第 2 课:调用 API 与 Local Storage,为你的扩展注入数据与记忆

2026/9/7 15:02:03

Web-Dev-For-Beginners 浏览器扩展第 2 课:调用 API 与 Local Storage,为你的扩展注入数据与记忆 【免费下载链接】Web-Dev-For-Beginners 24 Lessons, 12 Weeks, Get Started as a Web Developer 项目地址: https://gitcode.com/GitHub_Trending/we/W…

成本超支90万后,我复盘了4个部门的生成式AI需求:只有1个值得微调

成本超支90万后,我复盘了4个部门的生成式AI需求:只有1个值得微调

2026/9/7 15:02:03

成本超支90万后,我复盘了4个部门的生成式AI需求:只有1个值得微调 周一例会结束,老板把四个部门提上来的 AI 需求甩给我:“销售要智能话术推荐,客服要做多轮对话机器人,法务要合同条款自动审查,研发想让代码补全更懂内部库。你评估一下,三个月落地。”我当场拍胸脯,心想大模型 …

准确率92%上线后亏了20万:财务成本表让我重新理解深度学习基础

准确率92%上线后亏了20万:财务成本表让我重新理解深度学习基础

2026/9/7 15:02:03

准确率92%上线后亏了20万:财务成本表让我重新理解深度学习基础 周二上午的复盘会,财务同事把一张刚算出来的误分类成本表投在屏幕上,我后脊梁一凉。我的风控模型在验证集上准确率 92%,上线两个月,却给公司的信贷策略带来了将近 20 万的额外损失。那张表上赫然写着:高风险订单被…

图像增广让验证准确率飙到96%,上线后漏检了一半,补完机器学习入门才看懂过拟合陷阱

图像增广让验证准确率飙到96%,上线后漏检了一半,补完机器学习入门才看懂过拟合陷阱

2026/9/7 15:02:03

图像增广让验证准确率飙到96%,上线后漏检了一半,补完机器学习入门才看懂过拟合陷阱 上周二下午,运维组的聊天框突然弹出十几张监控截图,每一张都是画面正中央站着人,系统却赫然标注“无人”。我盯着那个自己训练了两周的计算机视觉模型,后背发凉--它用一套精心设计的图像增广方…

自托管视频下载器:从yt-dlp到Docker部署的完整指南

自托管视频下载器:从yt-dlp到Docker部署的完整指南

2026/9/7 15:02:03

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

FLUX 3 AI图像生成工具:复古界面下的现代内核与实用指南

FLUX 3 AI图像生成工具:复古界面下的现代内核与实用指南

2026/9/7 14:52:03

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

中国人民大学杨琳团队《Nature Communications》 | 全球潮汐湿地土壤有机碳时空格局与环境驱动:一项2009-2020年的全球评估

中国人民大学杨琳团队《Nature Communications》 | 全球潮汐湿地土壤有机碳时空格局与环境驱动:一项2009-2020年的全球评估

2026/9/6 1:19:56

本文首发于“生态学者”!从“湿地面积”到“土壤碳密度”:为什么需要重新认识潮汐湿地蓝碳变化?潮汐湿地位于陆地与海洋的交汇地带,包括红树林、盐沼和潮滩,是全球重要的蓝碳生态系统。其土壤能够长期储存大量有机碳&a…

adb抓包

adb抓包

2026/9/7 3:44:24

前言 本文介绍如何通过 tcpdump 在 Android 手机上抓取网络数据包,并在电脑端使用 Wireshark 进行分析。适用于需要排查 App 网络请求、分析接口调用或调试网络问题的开发与测试场景。1. 手机要有 root 权限2. 下载 tcpdump3. adb push C:\Users\zhangkuixun\Downlo…

大模型推理镜像极简瘦身:从 25GB 巨无霸到 3GB 精简镜像实战

大模型推理镜像极简瘦身:从 25GB 巨无霸到 3GB 精简镜像实战

2026/9/7 8:03:37

大模型推理镜像极简瘦身:从 25GB 巨无霸到 3GB 精简镜像实战 在云原生基础设施中,容器镜像体积直接决定了服务的部署速度与弹性扩容敏捷度。对于传统的 Go / Java 微服务,镜像体积通常被严格控制在 50MB 到 200MB 以内,拉取镜像只…

基于YOLOv8和PyQt5的麦穗稻穗检测识别系统设计与实现

基于YOLOv8和PyQt5的麦穗稻穗检测识别系统设计与实现

2026/9/7 0:01:24

这次我们来看一个把目标检测算法和桌面端工具结合得很典型的项目:基于 YOLOv8 PyQt5 的麦穗稻穗检测识别系统。这个项目本身不是新概念,但它的价值在于落地形态很完整。YOLOv8 负责核心的麦穗稻穗目标检测,PyQt5 负责提供可视化的桌面交互界…

UL 1642锂电池安全标准全解析:测试项目、认证流程与避坑指南

UL 1642锂电池安全标准全解析:测试项目、认证流程与避坑指南

2026/9/7 0:01:24

简介:UL 1642是锂电池安全领域的重要规范,本中文版资源适合锂电池制造商、检测机构工程师及产品认证相关人员阅读,用于理解电池在设计与制造层面的安全要求、测试方法与合规要点。资源共1个PDF文件,压缩包大小834KB,便…

BS EN 13814-1-2019游乐设施安全标准:设计与制造核心要点解析

BS EN 13814-1-2019游乐设施安全标准:设计与制造核心要点解析

2026/9/7 0:01:24

简介:BS EN 13814-1:2019是英国采纳欧洲标准EN 13814-1:2019的正式版本,由BSI标准出版,重点规定游乐设施和游乐设备在设计与制造环节的安全准则,与BS EN 13814-2:2019、BS EN 13814-3:2019共同取代旧版BS EN 13814:2004。该标准面…

远程协作的工作台整理

远程协作的工作台整理

2026/9/7 3:38:07

远程协作的工作台整理远程协作的核心不是再加一个工具,而是让交接信息足够完整。异步任务要写明目标、输入位置、完成标准和需要决策的人。 工作台的最小配置 将日程、待办、代码和沟通入口收拢到少数固定位置;通知按紧急程度分层。工作台不需要模仿办公…

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

2026/9/4 7:42:10

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

2026/9/6 23:21:51

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…