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

了解JavaScript 加密、混淆和生成签名

        分析并理解网站的 JavaScript 加密、混淆和生成签名的方法是 JavaScript 逆向工程中的一个重要方面。这些技术通常用于保护代码免遭未授权的访问和修改,或确保数据在传输过程中的安全性。

加密

  1. 目的:加密用于保护敏感数据,使得只有拥有正确密钥的用户才能解读数据。在 Web 应用中,加密用于保护传输中的数据,如密码和个人信息。

  2. 分析方法

    • 识别加密算法:查找网站代码中使用的加密函数,如 AES、RSA 或自定义算法。
    • 寻找密钥和加密过程:理解加密过程中使用的密钥和初始化向量(IV)。密钥可能硬编码在代码中,或通过某种方式动态生成。
    • 测试和验证:尝试使用相同的算法和密钥解密数据,以验证理解的正确性。
  3. 常用工具:加密库(如 CryptoJS),在线加密/解密工具。

混淆

  1. 目的:混淆是通过改变变量名、函数名和代码结构使代码难以阅读和理解。它用于保护代码免遭逆向工程。

  2. 分析方法

    • 代码格式化:使用代码格式化工具将混淆的代码转换为更可读的格式。
    • 识别模式:关注重复的模式和结构,以识别原始代码的逻辑。
    • 映射变量和函数:尝试将混淆的变量和函数映射回其原始意图。
  3. 常用工具:JavaScript美化器(如 JS Beautifier),开发者控制台。

生成签名

  1. 目的:签名用于验证数据的完整性和来源。在 Web 应用中,签名确保数据未被篡改,并且来自合法源。

  2. 分析方法

    • 识别签名机制:寻找负责生成签名的代码部分,理解使用的哈希函数(如 SHA-256)或数字签名算法。
    • 寻找密钥和盐值:如果使用密钥或盐值,确定这些值的来源和使用方式。
    • 模拟签名过程:尝试使用相同的方法生成签名,以验证对算法的理解。
  3. 常用工具:哈希函数库,网络请求分析工具。

相关文章:

  • 逼格满满,推荐一个高效测试用例工具:XMind2TestCase !
  • 详解FreeRTOS:内存管理(高级篇—8)
  • 设计模式—— 单例设计模式
  • leetcode 动态规划(单词拆分)
  • 面向对象的三大特性
  • Kali安装Xrdp结合内网穿透实现无公网ip远程访问系统桌面
  • 单例模式的八种写法、单例和并发的关系
  • 打印日期c++
  • Java获取文件的后缀名称
  • netcore html to pdf
  • 代码随想录算法训练营第32天|122.买卖股票的最佳时机II 55. 跳跃游戏 45.跳跃游戏II
  • 基于反卷积方法的重大突破:结构光系统中的测量误差降低3倍
  • 设计模式之并发特定场景下的设计模式 Two-phase Termination(两阶段终止)模式
  • Linux中常使用的命令之ls、cd、pwd、mkdir、rmdir
  • 数字后端设计实现之自动化useful skew技术(Concurrent Clock Data)
  • 分享一款快速APP功能测试工具
  • gulp 教程
  • jQuery(一)
  • mysql_config not found
  • rabbitmq延迟消息示例
  • seaborn 安装成功 + ImportError: DLL load failed: 找不到指定的模块 问题解决
  • vue2.0开发聊天程序(四) 完整体验一次Vue开发(下)
  • 利用阿里云 OSS 搭建私有 Docker 仓库
  • 聊聊flink的BlobWriter
  • 实战:基于Spring Boot快速开发RESTful风格API接口
  • 使用 Xcode 的 Target 区分开发和生产环境
  • 腾讯大梁:DevOps最后一棒,有效构建海量运营的持续反馈能力
  • 微信小程序实战练习(仿五洲到家微信版)
  • 温故知新之javascript面向对象
  • 学习JavaScript数据结构与算法 — 树
  • 中文输入法与React文本输入框的问题与解决方案
  • 2017年360最后一道编程题
  • 小白应该如何快速入门阿里云服务器,新手使用ECS的方法 ...
  • # 深度解析 Socket 与 WebSocket:原理、区别与应用
  • ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLTr
  • ###C语言程序设计-----C语言学习(3)#
  • #etcd#安装时出错
  • #设计模式#4.6 Flyweight(享元) 对象结构型模式
  • (4)Elastix图像配准:3D图像
  • (Java数据结构)ArrayList
  • (LeetCode) T14. Longest Common Prefix
  • (阿里巴巴 dubbo,有数据库,可执行 )dubbo zookeeper spring demo
  • (定时器/计数器)中断系统(详解与使用)
  • (四)库存超卖案例实战——优化redis分布式锁
  • (转)四层和七层负载均衡的区别
  • ./configure,make,make install的作用
  • .net core Swagger 过滤部分Api
  • .net core webapi Startup 注入ConfigurePrimaryHttpMessageHandler
  • .NET Framework 的 bug?try-catch-when 中如果 when 语句抛出异常,程序将彻底崩溃
  • .net web项目 调用webService
  • .NET/C# 避免调试器不小心提前计算本应延迟计算的值
  • .NET:自动将请求参数绑定到ASPX、ASHX和MVC(菜鸟必看)
  • /bin、/sbin、/usr/bin、/usr/sbin
  • @Pointcut 使用
  • @SpringBootApplication 包含的三个注解及其含义