JS逆向常见情况
分类:JS压缩混淆加密 与 URL/API参数的加密
代码压缩:去除不必要的空格换行等内容,使源码变成几行,大大降低可读性并提升网站加载速度
代码混淆:使用变量替换、字符串阵列化、控制流平坦化、多态变异、僵尸函数、调试保护等手段,使代码变得难以阅读跟分析
代码加密:通过某种手段将代码加密,转化成人无法阅读或者解析的代码,如借用WebAssembly技术,可以将JS代码用C++实现,JS调用编译后的文件进行执行
以下属于混淆范畴:
字符串混淆:将字符串阵列化集中放置并可进行MD5或base64加密存储,使代码中不出现明文字符串,这样可以避免使用全局搜索字符串的方式定位到入口
对象键名替换:针对JS对象的属性进行加密转化,隐藏代码之间的调用关系
控制流平坦化:打乱函数原有的代码的执行流程,使代码逻辑变得混乱无序
无用代码注入:注入不被执行的代码,更加混乱
调试保护:基于调试器特性,对当前运行环境进行检验,加入一些debugger语句,使其在调试模式下难以顺利执行js语句
多态变异:是JS代码每次被调用时:将代码自身立刻自动发生变异,变为与之前完全不同的代码,即功能完全不变,只是代码形式变异,以此杜绝代码被动分析和调试
域名锁定:使JS代码只能在指定域名下执行
代码自我保护:如果对JS进行格式化,则无法执行,导致浏览器假死
特殊编码:将JS完全编码为人不可读的代码,如表情符号
禁用控制台输出:运行JS时无输出,增大了调试难度
相关文章:
JS逆向常见情况
分类:JS压缩混淆加密 与 URL/API参数的加密 代码压缩:去除不必要的空格换行等内容,使源码变成几行,大大降低可读性并提升网站加载速度 代码混淆:使用变量替换、字符串阵列化、控制流平坦化、多态变异、僵尸函数…...
利用matlab对滤波器频率特性分析
【设计目标】对双二阶环路滤波器进行时频域分析和处理的基本方法 【设计工具】MATLAB【设计要求】 1)分析典型的双二阶环路滤波器电路:低通、高通、带通、带阻 2)理论分析各滤波电路的系统函数 3)利用Matlab分析各滤波电路的系统函数的频率特性(幅频、相频)、零极点分…...
对比 RS232,RS422,RS485
对比 RS232,RS422,RS485 首先, 串口、UART口、COM口、RJ45网口、USB口是指的物理接口形式(硬件)。TTL、RS-232、RS-485、RS-422是指的电平标准(电信号)。 RS232,RS422,RS485 对比表格 通信标准RS-232RS-422RS-485工作方式单端差分差分通信线数量4 地线52 地线3节…...
python使用requests+excel进行接口自动化测试(建议收藏)
前言 在当今的互联网时代中,接口自动化测试越来越成为软件测试的重要组成部分。Python是一种简单易学,高效且可扩展的语言,自然而然地成为了开发人员的首选开发语言。而requests和xlwt这两个常用的Python标准库,能够帮助我们轻松…...
华为OD机试真题 Java 实现【食堂供餐】【2023 B卷 考生抽中题】,附详细解题思路
一、题目描述 某公司员工食堂以盒饭的方式供餐。 为将员工取餐排队时间降为0,食堂的供餐速度必须要足够快。 现在需要根据以往员工取餐的统计信息,计算出一个刚好能达到排队时间为0的最低供餐速度。 即,食堂在每个单位时间内必须至少做出多少份盒饭才能满足要求。 二、…...
一分钟学一个 Linux 命令 - cd
前言 大家好,我是 god23bin。欢迎来到这个系列,每天只需一分钟,记住一个 Linux 命令不成问题。今天让我们从 cd 命令开始,掌握在 Linux 系统中切换目录的技巧。 什么是 cd 命令? cd 命令来自这么一个词语࿰…...
vi(vim)常用命令汇总
vim ~/.vimrc vim.vimrc 配置 set nobackup set cursorline #当前行 set cc100 #分屏线 set number set laststatus2 syntax on colorscheme delek 快速移动光标 w(e) 移动光标到下一个单词 b 移动光标到上一个单词 0 移动光标到本行最开头 ^ 移动光标到本行最开头的字符…...
模特信息管理系统的开发与实现(ASP.NET,SQLServer)
需求分析 模特信息管理系统主要给商家和模特用户提供服务,系统分为前台和后台两部分。 本研究课题重点主要包括:活动管理,商家管理,模特管理,系统公告管理和活动报名管理。 活动管理模块主要实现活动更新、活动添加、活…...
文件上传漏洞
<1>概述 漏洞产生原因:服务端代码未对客户端上传的文件进行严格的验证和过滤,就容易造成可以上传任意文件的情况。 <2>文件上传绕过 (1)js检测绕过 1.删除js中检测文件的代码; 2.上传的文件改为允许的后缀绕过js检测后再抓包…...
前端还是后端,该怎么选择
在计算机科学领域,前端和后端是两个常见的方向,它们各自拥有独特的特点和职责。本文将对前端和后端进行比较,并总结哪些人适合前端,哪些人适合后端。 一、前端 前端开发主要涉及构建用户界面,处理用户交互和用户体验…...
【Python】Python系列教程-- Python3 循环语句(十七)
文章目录 前言while 循环无限循环while 循环使用 else 语句简单语句组for 语句for...elserange() 函数break 和 continue 语句及循环中的 else 子句pass 语句 前言 往期回顾: Python系列教程–Python3介绍(一)Python系列教程–Python3 环境…...
chatgpt赋能python:Python如何变为列表
Python如何变为列表 Python是一种高级编程语言,用于快速、轻松地编写软件。它的语法简洁、易于学习,可以用于各种领域,包括Web开发、机器学习和数据科学等。其中,列表是Python的一种基本数据类型,它用于存储一系列相关…...
高频面试八股文用法篇(二) hive中几种排序类型区别
目录 排序函数 1、order by 2、sort by 3、distribute by 4、cluster by 总结 排序类型 1、order by order by是与关系型数据库的用法是一样的。select * from emp order by empno desc; 针对全局数据进行排序,所以最终只会有1个reduce,因…...
linuxOPS基础_linux umask
1、什么是umask umask表示创建文件时的默认权限(即创建文件时不需要设置而天生的权限) 例如: root用户下,touch a ,文件a的默认权限是644 普通用户下,touch b ,文件b的默认权限是664 644和…...
K8s基础核心
Kubernetes (K8s) 是一个用于自动化部署、扩展和管理容器化应用程序的开源平台。下面是 Kubernetes 的一些核心概念: Pod(容器组):Pod 是 Kubernetes 中最小的可调度和管理的单元 ,它可以包含一个或多个相关的容器。这…...
Web开发中的图片管理:策略与实践
前言 在Web开发中,图像是无法忽视的重要组成部分。然而,随着图片数量的增加和高清图像的普及,图片管理变得越来越复杂。在这篇文章中,我们将详细探讨Web开发中的图片管理策略和实践,包括图片优化、存储、分发和加载策…...
SNK施努卡 - 机器视食品检测 食品中视觉检查的作用是什么?
随着工业4.0时代的到来,机器视觉在工业领域的应用场景越来越广泛。在食品工业领域中,机器视觉的应用大大提高了食品生产企业的生产效率,有效的保证了产品品质的水准。 在智能工厂中,机器视觉系统能够实时监控生产工况。机器视觉系…...
【七】设计模式~~~结构型模式~~~桥接模式(Java)
【学习难度:★★★☆☆,使用频率:★★★☆☆】 2.1. 模式动机 在正式介绍桥接模式之前,我先跟大家谈谈两种常见文具的区别,它们是毛笔和蜡笔。假如我们需要大中小3种型号的画笔,能够绘制12种不同的颜色&am…...
Python 教程:使用 pandas 和 glob 库合并多个 Excel 文件
引言 Microsoft Excel 是一种常见的电子表格软件,可用于在表格中存储和处理数据。在某些情况下,您可能需要将多个 Excel 文件合并成单个文件,以方便数据处理和分析。 Python 是一种非常流行的编程语言,具有广泛应用和丰富的库,用于处理数据和文本文件。在本文中,我们将使…...
16. Vue-element-template记住密码
Vue-element-template 记住密码 1. 在登录页面添加记住密码按钮 新增参数 rememberMe # resources/src/views/login/index.vueloginForm: {username: admin,password: 123456,rememberMe: false},添加复选框 # resources/src/views/login/index.vue<div style"margin-…...
Open Interpreter连接LM Studio:双引擎部署实战教程
Open Interpreter连接LM Studio:双引擎部署实战教程 1. 开篇:为什么需要本地AI编程助手? 想象一下这样的场景:你手头有一个2GB的CSV数据文件需要分析处理,但云端AI工具有文件大小限制;或者你正在处理敏感…...
Vivado进阶指南:网表物理约束实战解析
1. 网表物理约束的核心价值 第一次接触Vivado的网表物理约束时,我和很多初学者一样困惑:明明RTL代码已经定义了所有功能,为什么还要多此一举?直到在某次高速ADC数据采集项目中,系统频繁出现时序违例,我才真…...
深入解析FOC控制中的Clark/Park变换及其Matplotlib动态仿真实现
1. 从三相交流电到FOC控制的基础认知 第一次接触电机控制时,看到那些复杂的坐标变换公式确实让人头疼。但后来我发现,理解FOC(磁场定向控制)的核心,关键在于抓住两个关键点:为什么要做坐标变换和变换后能解…...
从零开始:用Arduino+ULN2003驱动28BYJ-48步进电机(附完整代码)
从零开始:用ArduinoULN2003驱动28BYJ-48步进电机(附完整代码) 在创客和硬件爱好者的世界里,步进电机因其精准的位置控制能力而备受青睐。28BYJ-48作为一款经济实惠的五线四相步进电机,配合ULN2003驱动板,成…...
最强AI剪辑工具盘点:免费直接用,小白秒变剪辑大师!
一、AI视频剪辑新时代:为什么选择这些工具? 2025年的AI视频工具已经不再是简单的滤镜和特效叠加,而是真正能够理解内容、自动完成剪辑全流程的智能助手。根据权威评测,真正优秀的AI剪辑工具应该具备以下特点: 真正免费…...
AIGC内容创作流水线:Qwen3-ASR-0.6B赋能语音素材自动化文本化
AIGC内容创作流水线:Qwen3-ASR-0.6B赋能语音素材自动化文本化 你有没有过这样的经历?录完一段精彩的课程讲解、一次深度的访谈对话,或者一段灵光乍现的语音随笔,看着长达几十分钟的音频文件,一想到要把它整理成文字稿…...
文脉定序系统一键部署教程:基于Ubuntu 20.04的快速环境搭建
文脉定序系统一键部署教程:基于Ubuntu 20.04的快速环境搭建 你是不是也对那些能理解上下文、进行长文本对话的AI模型感到好奇?想自己动手部署一个来玩玩,但一看到复杂的安装步骤和满屏的命令行就头疼?别担心,今天我就…...
别再为模糊监控头疼了!手把手教你用SRGAN+ResNet101搞定低清行人重识别
低清监控下的行人重识别实战:SRGAN与ResNet101的工程化融合方案 清晨的地铁站,监控摄像头捕捉到一个模糊的身影——黑色外套、深色背包,像素化的面部特征让传统识别系统束手无策。这正是当下安防领域最棘手的现实挑战:如何从低分辨…...
彻底禁用fmt库文件系统依赖:从编译到代码的全链路方案
彻底禁用fmt库文件系统依赖:从编译到代码的全链路方案 【免费下载链接】fmt A modern formatting library 项目地址: https://gitcode.com/GitHub_Trending/fm/fmt 在C项目中,fmt库是一个现代格式化库,它提供了高效的类型安全格式化功…...
百川2-13B-Chat惊艳效果展示:同一提示词下Temperature=0.3与0.9输出对比
百川2-13B-Chat惊艳效果展示:同一提示词下Temperature0.3与0.9输出对比 你有没有想过,同一个问题问给同一个AI,为什么每次的回答都不太一样?有时候它像个严谨的学者,回答得一丝不苟;有时候又像个天马行空的…...
