Whale-Fall-Code 418a0411d1 Initialize encryption and JavaScript reverse-engineering study repository
Document the project structure and setup while excluding local dependencies and IDE settings.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-10-09 23:25:05 +08:00

tuling-code

Python 与 JavaScript 加解密、JS 逆向学习示例,按学习日期和主题整理,包含基础算法演示、Webpack 结构分析以及网站接口参数加密与响应解密案例。

学习内容

  • 对称加密:DES、AES,CBC 模式、填充方式和 Base64 编解码。
  • 非对称加密:RSA 公私钥生成、加解密,以及 JavaScript 与 Python 实现。
  • 自定义算法分析:接口请求参数加密与响应数据解密。
  • JavaScript 执行机制:自执行函数、Promise 异步任务和 _invoke 方法。
  • Webpack 逆向:模块加载结构、运行环境与常见问题。
  • Python 调用 JavaScript:使用 ExecJS 执行加解密逻辑,并通过 Requests 调用接口。

目录结构

tuling-code/
├── 对称加密-2026-08-21/           # DES 示例与自然科学案例
├── 对称加密-AES-2026-08-24/       # AES 示例、商业观察与建筑市场案例
├── 魔改算法-2026-08-28/           # 吉林长春产权交易中心案例
├── 非对称加密-2026-08-31/         # RSA 示例、中国移动登录与观鸟记录中心案例
├── 非对称加密-2026-09-02/         # JS 执行机制与五矿集团案例
├── webpack-2026-09-04/           # Webpack 结构分析与 36Kr 案例
├── pyproject.toml               # Python 项目与依赖配置
├── uv.lock                      # Python 依赖锁定文件
├── package.json                 # Node.js 依赖配置
└── package-lock.json            # Node.js 依赖锁定文件

环境准备

需要 Python 3.11 或以上版本、Node.js 20.19 或以上版本(包含 npm),以及 Python 包管理工具 uv。ExecJS 调用 JavaScript 时需要可用的 JavaScript 运行时,建议使用 Node.js。

在仓库根目录安装依赖:

uv sync
npm ci

主要依赖:

环境 依赖 用途
Python pycryptodome DES、AES 等加解密
Python rsa RSA 公私钥生成与加解密
Python pyexecjs2 调用 JavaScript 代码
Python requests HTTP 请求
Node.js crypto-js JavaScript 对称加密与摘要算法
Node.js jsencrypt、node-rsa JavaScript RSA 加解密

运行示例

以下命令从仓库根目录执行。

Python DES 示例

uv run python "对称加密-2026-08-21/2. python实现des加解密.py"

Python AES 示例

uv run python "对称加密-AES-2026-08-24/2. python实现aes加解密.py"

Python RSA 示例

uv run python "非对称加密-2026-08-31/python环境实现rsa加解密.py"

JavaScript DES 示例

node "对称加密-2026-08-21/1. js环境实现des加解密.js"

网站接口案例

部分 Python 案例通过相对路径读取同目录的 JavaScript 文件,需要先进入对应案例目录再运行。例如:

cd "对称加密-AES-2026-08-24/实战案例-建筑市场"
uv run python "python调用.py"

网站接口、请求参数和加密逻辑可能随时间变化;案例记录的是学习时的实现,不保证当前接口仍可直接使用。需要登录或会话信息的案例,应自行在本地配置有效凭证,不要将 Cookie、Token 或密码提交到仓库。

注意事项

  • 本仓库用于学习与研究,网站案例仅应在获得授权并遵守相关服务规则的前提下使用。
  • 示例中的固定密钥、固定 IV、DES 和 1024 位 RSA 等写法用于演示,不应直接用于生产环境。
  • node_modules/、.venv/、Python 缓存、IDE 配置和本地 .env 文件不纳入版本控制;通过依赖配置与锁定文件恢复环境。
  • 文件名包含中文和空格,执行命令时请用引号包裹路径。
Description
图灵学习代码
Readme 264 KiB
Languages
JavaScript 94%
Python 6%