# JS逆向百例 **Repository Path**: modier123/js-reverse-100-cases ## Basic Information - **Project Name**: JS逆向百例 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-16 - **Last Updated**: 2026-02-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # JS逆向学习与实战笔记 一个用于记录和实践 JavaScript 逆向工程的学习项目,主要聚焦于常见加密算法的实现、识别、还原与绕过。 目前已完成基础加密算法的示例代码与理解笔记,接下来将逐步补充真实网站的逆向实战案例。 ## 项目目标 - 理解常见前端加密算法的原理与实现 - 掌握在浏览器环境与 Node.js 中识别和还原加密逻辑 - 通过真实案例练习完整的逆向分析流程 - 积累可复用的解密/签名工具函数 ## 已完成 - 基础算法示例 目前已实现并整理了以下算法的原理、纯 JS 实现、常见变种及逆向思路: - **MD5** 基本实现、hex 与 base64 输出、加盐、多次 md5 等常见用法 - **SHA 家族** SHA-1、SHA-256、SHA-512、SHA-3,以及常见拼接方式 - **HMAC** HMAC-MD5、HMAC-SHA1、HMAC-SHA256 等,常见于签名场景 - **AES** ECB/CBC/CTR 模式、PKCS5/PKCS7 填充、base64 输入输出、CryptoJS 与原生 WebCrypto 对比 - **DES / 3DES** 传统对称加密(目前使用较少,但仍出现在老系统) - **RSA** 公钥加密、私钥解密、长文本分段、pkcs1/pkcs8 格式、jsencrypt 使用 - **国密算法(SM 系列)** SM2(签名/验签、加解密)、SM3(杂凑)、SM4(对称加密) - **Webpack 相关逆向基础** 常见打包特征、模块化还原、_0x 开头的变量混淆、webpackChunkName 定位、sourcemap 利用思路 ## 目录结构(当前) ``` js-reverse-learning/ ├── algorithms/ # 基础算法学习与实现 │ ├── md5/ # MD5 相关示例与变种 │ ├── sha/ # SHA1/256/512/3 等 │ ├── hmac/ # HMAC 系列实现与签名场景 │ ├── aes/ # AES 各种模式、填充、对比实现 │ ├── des/ # DES / 3DES 示例 │ ├── rsa/ # RSA 加解密、签名、分段处理 │ ├── sm/ # 国密 SM2 / SM3 / SM4 │ └── webpack/ # webpack 打包特征与逆向练习 ├── cases/ # 后续将存放真实项目逆向案例(待填充) ├── utils/ # 常用工具函数(进制转换、buffer 处理等) ├── README.md └── LICENSE ``` ## 正在规划 - 实战案例(TODO List) 计划逐步完成以下网站的逆向分析与加密参数还原(仅用于学习研究): - [ ] 某登录接口(涉及 AES + RSA 双重加密) - [ ] 某数据采集平台(SM4 + SM2 签名) - [ ] 某办公系统(HMAC-SHA256 + 时间戳 + nonce) - [ ] 某视频平台(Webpack 混淆 + 动态 token) - [ ] 某搜索引擎 API(复杂参数签名) - [ ] 更多案例欢迎补充... ## 使用到的主要库 - CryptoJS(学习与快速验证) - jsencrypt(RSA) - gm-crypto / sm-crypto(国密) - webpack(用于学习打包后代码特征) ## 写在最后 本仓库仅用于个人学习与技术交流,**严禁用于任何非法用途**。 欢迎大家 star、fork、issue,一起交流 JS 逆向与前端加密的那些事~ 最后更新:2025年