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

js逆向常用代码

js逆向常用代码

加载

const loadingStyle = `#loadingDiv {position: fixed;z-index: 9999;top: 0;left: 0;width: 100%;height: 100%;background-color: rgba(255, 255, 255, 0.8);display: flex;align-items: center;justify-content: center;flex-direction: column;}.loader {border: 16px solid #f3f3f3;border-radius: 50%;border-top: 16px solid #3498db;width: 120px;height: 120px;animation: spin 2s linear infinite;}.loading-text {margin-top: 20px;font-size: 20px;color: #333;}@keyframes spin {0% { transform: rotate(0deg); }100% { transform: rotate(360deg); }}`;const loadingHTML = `<div id="loadingDiv"><div class="loader"></div><div class="loading-text">正在生成</div></div>`;// 显示加载页面的方法function showLoadingScreen() {// 创建样式元素并插入到head中const style = document.createElement("style");style.type = "text/css";style.id = "loadingStyle";style.innerHTML = loadingStyle;document.head.appendChild(style);// 创建加载层元素并插入到body中const loadingDiv = document.createElement("div");loadingDiv.innerHTML = loadingHTML;document.body.appendChild(loadingDiv);}// 隐藏加载页面的方法function hideLoadingScreen() {const loadingDiv = document.getElementById("loadingDiv");if (loadingDiv) {loadingDiv.style.display = "none";}const style = document.getElementById("loadingStyle");if (style) {style.remove();}}

拦截图片生成

var originalCreateObjectURL = URL.createObjectURL;
// 重写createObjectURL方法
URL.createObjectURL = function (blob) {// 调用原始的createObjectURL方法,并返回其结果var originalResult = originalCreateObjectURL(blob);// 返回重写后的结果return originalResult;
};
 // 保存原始的 Image 构造函数
const OriginalImage = window.Image;// 创建一个自定义的 Image 构造函数
function CustomImage() {const img = new OriginalImage();// 定义一个 setter 拦截 src 属性Object.defineProperty(img, "src", {set: function (url) {// 继续设置 src 属性img.setAttribute("src", url);},});return img;
}
window.Image = CustomImage;
const originalCreateElement = document.createElement;// 重写 createElement 方法document.createElement = function (tagName) {const element = originalCreateElement.call(document, tagName);if (tagName.toLowerCase() === "img") {// 定义一个 setter 拦截 src 属性Object.defineProperty(element, "src", {set: function (url) {element.setAttribute("src", url);},get: function () {return element.getAttribute("src");},});}return element;};

拦截apply函数

const originalApply = Function.prototype.apply;
Object.defineProperty(Function.prototype, "apply", {value: function (target, thisArg, argArray) {// 调用原始的 apply 方法return originalApply.call(this, target, thisArg, argArray);;},
});

拦截Function的构建函数

Function.prototype.constructor_ = Function.prototype.constructor;
Function.prototype.constructor=function Function(){console.log(arguments)return this.constructor_(...arguments)
}

拦截Vue加载

// 创建一个 MutationObserver 实例const observer = new MutationObserver((mutationsList) => {for (const mutation of mutationsList) {if (mutation.type === "childList") {// 遍历新增的节点for (const addedNode of mutation.addedNodes) {if (addedNode.tagName === "SCRIPT") {const scriptSrc = addedNode.src;// 检查是否为 Vue.js 文件if (scriptSrc && scriptSrc.includes("vue")) {// 监听 script 标签的 load 事件addedNode.addEventListener("load", () => {console.log("Vue.js 文件加载成功");// 在这里可以执行你需要的操作// 例如检查 Vue 是否可用if (typeof Vue !== "undefined") {const originalBeforeCreate = Vue.options.beforeCreate || [];Vue.options.beforeCreate = [function () {console.log("Vue instance is about to be created.",this);debugger// 在这里添加自定义代码},...originalBeforeCreate,];}});}}}}}});// 配置观察选项const config = { childList: true, subtree: true };// 开始观察 document.bodyobserver.observe(document.head, config);

相关文章:

js逆向常用代码

js逆向常用代码 加载 const loadingStyle #loadingDiv {position: fixed;z-index: 9999;top: 0;left: 0;width: 100%;height: 100%;background-color: rgba(255, 255, 255, 0.8);display: flex;align-items: center;justify-content: center;flex-direction: column;}.loade…...

Diffusion——扩散模型(未完待续)

论文链接&#xff1a;https://arxiv.org/abs/2006.11239 简介 扩散模型&#xff08;Diffusion Model&#xff09;是用于生成数据的一类深度生成模型&#xff0c;特别擅长于图像生成。其工作原理基于通过随机噪声的逐步转换来生成目标数据。扩散模型分为两部分&#xff1a;正向…...

Java内存管理与性能优化实践

Java内存管理与性能优化实践 Java作为一种广泛使用的编程语言&#xff0c;其内存管理和性能优化是开发者在日常工作中需要深入了解的重要内容。Java的内存管理机制借助于垃圾回收&#xff08;GC&#xff09;来自动处理内存的分配和释放&#xff0c;但要实现高效的内存管理和优…...

unsloth报错FileNotFoundError: [WinError 3] 系统找不到指定的路径。

运行平台 Windows 报错信息 Traceback (most recent call last): File “C:\Python312\Lib\site-packages\IPython\core\interactiveshell.py”, line 3577, in run_code exec(code_obj, self.user_global_ns, self.user_ns) File “”, line 1, in runfile(‘D:\python_pr…...

不同规模企业如何精准选择AI工具: DeepSeek、Grok 和 ChatGPT 三款主流 AI 工具深度剖析与对比

本文深入探讨了最近国内外主流的 DeepSeek、Grok 和 ChatGPT 三款主流 AI 工具的技术细节、性能表现、应用场景及局限性&#xff0c;并从技术能力、功能需求、成本预算、数据安全和合规以及服务与支持五个关键维度&#xff0c;详细分析了不同规模企业在选择 AI 工具时的考量因素…...

各章节详细总结与 Vue 学习收尾

各章节详细总结与 Vue学习收尾 第一章&#xff1a;基础入门 通俗理解&#xff1a;这就像你刚踏入一个新的游戏世界&#xff0c;得先搞清楚游戏的基本规则和操作方法。在 Vue 3 的学习里&#xff0c;就是要搭建好开发环境&#xff0c;认识 Vue 3 的基本概念&#xff0c;比如模…...

c++ 文件及基本读写总结

在 C 中&#xff0c;文件操作是非常重要的一部分&#xff0c;主要用于将数据存储到文件中&#xff0c;或者从文件中读取数据。C 标准库提供了fstream头文件&#xff0c;其中包含了用于文件操作的类&#xff0c;主要有ifstream&#xff08;用于输入文件流&#xff0c;即从文件读…...

如何调试Linux内核?

通过创建一个最小的根文件系统&#xff0c;并使用QEMU和GDB进行调试。 1.准备工作环境 确保系统上安装了所有必要的工具和依赖项。 sudo apt-get update //更新一下软件包 sudo apt-get install build-essential git libncurses-dev bison flex libssl-dev qemu-system-x…...

Docker入门指南:Windows下docker配置镜像源加速下载

Windows下docker配置镜像源加速下载 docker的官方镜像是海外仓库&#xff0c;默认下载耗时较长&#xff0c;而且经常出现断站的现象&#xff0c;因此需要配置国内镜像源。 国内镜像源概述 国内现有如下镜像源可以使用 "http://hub-mirror.c.163.com", "http…...

java后端开发day24--阶段项目(一)

&#xff08;以下内容全部来自上述课程&#xff09; GUI&#xff1a;Graphical User Interface 图形用户接口&#xff0c;采取图形化的方式显示操作界面 分为两套体系&#xff1a;AWT包&#xff08;有兼容问题&#xff09;和Swing包&#xff08;常用&#xff09; 拼图小游戏…...

TVbox蜂蜜影视:智能电视观影新选择,简洁界面与强大功能兼具

蜂蜜影视是一款基于猫影视开源项目 CatVodTVJarLoader 开发的智能电视软件&#xff0c;专为追求简洁与高效观影体验的用户设计。该软件从零开始编写&#xff0c;界面清爽&#xff0c;操作流畅&#xff0c;特别适合在智能电视上使用。其最大的亮点在于能够自动跳过失效的播放地址…...

2025.3.2机器学习笔记:PINN文献阅读

2025.3.2周报 一、文献阅读题目信息摘要Abstract创新点网络架构实验结论不足以及展望 一、文献阅读 题目信息 题目&#xff1a; Physics-Informed Neural Networks of the Saint-Venant Equations for Downscaling a Large-Scale River Model期刊&#xff1a; Water Resource…...

2025AI 有哪些重要的发展趋势?

2025 年&#xff0c;AI 有哪些重要的发展趋势&#xff1f; 看看大佬们的看法&#xff1a; 马斯克&#xff1a;“人形机器人生产、自动驾驶突破、脑机接口进化” 奥特曼&#xff1a;“2025年&#xff0c;AGI即将到来” 黄仁勋&#xff1a;“通用机器人元年、能源效率的提升”…...

uni-app 全局请求封装:支持 Promise,自动刷新 Token,解决 401 过期问题

在 uni-app 中封装一个全局通用的 ajax 请求函数&#xff0c;支持 Promise&#xff0c;使用 uni.request() 进行请求&#xff0c;并且具备 自动刷新 token 的功能。以下是详细步骤&#xff1a; 实现步骤 创建 request.js 统一封装 ajax 请求管理 token&#xff08;存储、获取、…...

IDEAPyCharm安装ProxyAI(CodeGPT)插件连接DeepSeek-R1教程

背景&#xff1a;最近DeepSeek比较火嘛&#xff0c;然后在githup上也看到了GitHub Copilot&#xff0c;就想着现在AI的准确率已经可以提高工作效率了。所以从网上找了一些编程插件&#xff0c;发现Proxy支持的模型比较多&#xff0c;通用性和适配性比较好。所以本文记录一下pro…...

【实战 ES】实战 Elasticsearch:快速上手与深度实践-2.1.2字段类型选择:keyword vs text、nested对象

&#x1f449; 点击关注不迷路 &#x1f449; 点击关注不迷路 &#x1f449; 点击关注不迷路 文章大纲 第2章 数据建模与高效写入&#xff1a;ES字段类型选择最佳实践&#xff1a;keyword vs text与nested对象深度解析1. 索引设计核心原则2. keyword与text类型终极对决2.1 核心…...

【前端基础】Day 3 CSS-2

目录 1. Emmet语法 1.1 快速生成HTML结构语法 1.2 快速生成CSS样式语法 2. CSS的复合选择器 2.1 后代选择器 2.2 子选择器 2.3 并集选择器 2.4 伪类选择器 2.4.1 链接伪类选择器 2.4.2 focus伪类选择器 2.5 复合选择器总结 3. CSS的元素显示模式 3.1 什么是元素显示…...

windows电脑上安装llama-factory实现大模型微调

一、安装环境准备 这是官方给的llama-factory安装教程&#xff0c;安装 - LLaMA Factory&#xff0c;上面介绍了linux系统上以及windows系统上如何正确安装。大家依照安装步骤基本能够完成安装&#xff0c;但是可能由于缺少经验或者相关的知识导致启动webUi界面运行相应内容时…...

汽车无人驾驶系统中的防撞设计

一、系统方案介绍 无人驾驶汽车的防撞系统是保障行车安全的核心模块&#xff0c;本文设计的系统以STM32F103C8T6单片机为主控制器&#xff0c;结合超声波测距、WiFi通信、人机交互等模块&#xff0c;实现障碍物实时检测、动态阈值设置、多级报警和数据可视化功能。系统通过软…...

sql server 版本更新日期

SQL Server 2019 内部版本&#xff08;KB4518398&#xff09; - SQL Server | Microsoft Learn SQL Server 的最新更新和版本历史记录 - SQL Server | Microsoft Learn sql server 2019 版本更新时间和补丁版本号...

Linux网络 DNS

DNS(Domain Name System) TCP/IP 中使用 IP 地址和端口号来确定网络上的一台主机的一个程序 &#xff0c; 但是 IP 地址不方便记忆。于是人们发明了一种叫主机名的东西, 是一个字符串 , 并且使用 hosts 文件来描述主机名和 IP 地址的关系 。 最初 , 通过互连网信息中…...

EMQX中不同端口对应的接入协议

使用tcp接入时应使用mqtt://IP:1883 使用ws接入时应使用ws://IP:8083...

SpringBoot原理-03.自动配置-方案

一.自动配置原理 探究自动配置原理&#xff0c;就是探究spring是如何在运行时将要依赖JAR包提供的配置类和bean对象注入到IOC容器当中。我们当前准备一个maven项目itheima-utils&#xff0c;这里面定义了bean对象以及配置类&#xff0c;用来模拟第三方提供的依赖&#xff0c;首…...

Python 如何实现烟花效果的完整代码

文章精选推荐 1 JetBrains Ai assistant 编程工具让你的工作效率翻倍 2 Extra Icons&#xff1a;JetBrains IDE的图标增强神器 3 IDEA插件推荐-SequenceDiagram&#xff0c;自动生成时序图 4 BashSupport Pro 这个ides插件主要是用来干嘛的 &#xff1f; 5 IDEA必装的插件&…...

Winbox5怎样设置上网

要让连接到交换机的设备都能上网&#xff0c;需在MikroTik路由器&#xff08;通过WinBox配置&#xff09;上完成以下步骤。假设您的网络拓扑是&#xff1a;外网IP配置在路由器的WAN口&#xff0c;内网设备通过交换机连接到路由器的LAN口。 步骤 1&#xff1a;配置内网接口&…...

(KTransformers) RTX4090单卡运行 DeepSeek-R1 671B

安装环境为&#xff1a;ubuntu 22.04 x86_64 下载模型 编辑文件vim url.list 写入如下内容 https://modelscope.cn/models/unsloth/DeepSeek-R1-GGUF/resolve/master/DeepSeek-R1-Q4_K_M/DeepSeek-R1-Q4_K_M-00001-of-00009.gguf https://modelscope.cn/models/unsloth/Dee…...

【软考-架构】1.2、指令系统-存储系统-cache

GitHub地址&#xff1a;https://github.com/tyronczt/system_architect ✨资料&文章更新✨ 指令系统 计算机指令执行过程&#xff1a;取指令一一分析指令一一执行指令三个步骤&#xff0c;首先将程序计数器PC中的指令地址取出&#xff0c;送入地址总线&#xff0c;CPU依据…...

CI/CD与容器化技术核心知识点的QA

CI/CD与容器化技术核心知识点的Q&A 以下是CI/CD和容器化技术的经典必考面试题及详解,结合行业实践与理论核心整理而成: 一、CI/CD核心概念与流程 简述CI/CD的核心目标与实现价值 答案:通过自动化流水线实现快速、可靠的软件交付,减少人工干预,提升开发与运维协作效率…...

动态规划刷题

文章目录 动态规划三步问题题目解析代码 动态规划 1. 状态表示&#xff1a;dp[i]&#xff0c;表示dp表中i下标位置的值 2. 状态转移方程&#xff1a;以i位置位置的状态&#xff0c;最近的一步来划分问题&#xff0c;比如可以将状态拆分成前状态来表示现状态&#xff0c;dp[i] …...

不谓侠--记录

音乐《不谓侠》 衣襟上 别好了晚霞 余晖送我牵匹老马 正路过 烟村里人家 恰似当年故里正飞花 醉过风 喝过茶 寻常巷口寻个酒家 在座皆算老友 碗底便是天涯 天涯远 无处不为家 蓬门自我也像广厦 论意气 不计多或寡 占三分便敢自称为侠 刀可捉 拳也耍 偶尔闲来…...