Skip to content

j0rGeT/rejs

Repository files navigation

JavaScript/TypeScript & SO库 逆向工程系统

一个基于 Python Flask 和 DeepSeek API 的综合逆向工程系统,支持 JavaScript/TypeScript 源码分析和 SO 共享库二进制逆向分析。

功能特性

JavaScript/TypeScript 分析

  • 📁 支持多文件上传(JS, TS, JSX, TSX)
  • 🧠 智能代码结构和逻辑分析
  • 🔄 代码重构和优化建议
  • 🔒 安全漏洞检测和修复建议

SO 共享库分析

  • 🔧 二进制文件深度分析(objdump, readelf, nm, strings)
  • 📊 符号表分析(导出/导入函数、变量)
  • 🔍 反汇编代码段采样分析
  • 📚 依赖库关系分析
  • 🔎 字符串常量提取和分析
  • 🏗️ ELF 文件结构分析

通用功能

  • 🤖 DeepSeek AI 智能逆向推导
  • 📈 详细逆向工程报告生成
  • 🌐 现代化 Web 操作界面
  • 📋 结构化分析结果展示
  • 🔄 混合项目分析(JS + SO)
  • 🎯 自定义分析提示词(重点功能)
  • 💾 代码文件独立查看和下载
  • 🔍 语法高亮代码查看器

安装配置

1. 环境要求

  • Python 3.7+
  • 有效的 DeepSeek API Key
  • Linux/macOS 系统(推荐,用于 SO 分析工具)
  • 系统工具:objdump, readelf, nm, strings, ldd

2. 创建虚拟环境

python3 -m venv .venv
source .venv/bin/activate  # Linux/macOS
# 或 .venv\Scripts\activate  # Windows

3. 安装依赖

pip install -r requirements.txt

4. 配置环境变量

cp .env.example .env

编辑 .env 文件:

DEEPSEEK_API_KEY=your_deepseek_api_key_here
DEEPSEEK_API_URL=https://api.deepseek.com/v1/chat/completions

5. 运行应用

使用启动脚本(推荐):

./start.sh

或手动启动:

source .venv/bin/activate
python app.py

访问 http://localhost:5000 开始使用。

使用方法

JavaScript/TypeScript 分析流程

  1. 上传JS/TS文件: 选择 .js/.ts/.jsx/.tsx 文件
  2. 开始分析: 系统会分析代码结构和逻辑
  3. 查看结果: 获得包含以下内容的报告:
    • 代码分析
    • 逆向推导
    • 重构代码
    • 功能说明
    • 技术要点
    • 安全建议

SO 库分析流程

  1. 上传SO文件: 选择 .so 共享库文件
  2. 二进制分析: 系统使用多种工具分析:
    • objdump -d 反汇编分析
    • nm -D 符号表提取
    • readelf -h/-S ELF头和段分析
    • strings 字符串提取
    • ldd 依赖关系分析
  3. AI智能分析: DeepSeek 分析二进制数据并生成:
    • 二进制文件分析
    • 符号表分析
    • 函数逆向分析
    • 依赖关系分析
    • 安全性分析
    • 逆向推导

混合项目分析

  • 同时上传 JS/TS 和 SO 文件
  • 系统会分析两者的交互关系
  • 生成综合逆向工程报告

🎯 自定义分析提示词功能

  1. 预设模板选择: 点击"快速模板"选择常用分析场景:

    • 分析特定函数(如:encrypt、decode函数)
    • 安全漏洞分析(SQL注入、XSS等)
    • 算法逆向分析(加密算法、编码算法)
    • API接口分析
    • 加密实现分析
    • 性能优化分析
    • 二进制符号分析
    • 漏洞利用分析
  2. 自定义需求: 在文本框中输入具体分析要求:

    示例:
    • 重点分析 authenticateUser() 函数的实现原理
    • 寻找SQL注入漏洞并提供修复方案
    • 分析AES加密的密钥生成过程
    • 逆向分析特定的API调用链
    
  3. 智能分析: AI会根据自定义要求调整分析重点,提供更精准的逆向结果

💾 代码查看和下载功能

  • 代码提取: 自动从分析结果中提取重构代码
  • 独立查看: 每个代码文件都有专用查看页面
  • 语法高亮: 支持多种编程语言的语法高亮
  • 代码统计: 显示行数、字符数等统计信息
  • 便捷操作: 一键复制、下载单个文件或批量下载

系统架构

app.py              # Flask 主应用
file_processor.py   # 文件处理模块(支持JS和SO文件)
deepseek_client.py  # DeepSeek API 客户端
so_analyzer.py      # SO文件二进制分析器
report_generator.py # 报告生成器
templates/          # HTML 模板
static/             # 静态资源(CSS/JS)
uploads/            # 临时上传目录
start.sh            # 启动脚本

API 接口

  • POST /analyze - 分析上传的文件
  • GET /result?id=<analysis_id> - 获取分析结果
  • GET /api/test-connection - 测试 API 连接
  • GET /api/export/<analysis_id> - 导出分析报告

技术栈

  • 后端: Flask, Python
  • 前端: Bootstrap 5, Vanilla JavaScript
  • AI: DeepSeek API
  • 文本处理: Markdown, Highlight.js

安全说明

  • 文件大小限制:64MB(支持较大的SO文件)
  • 支持的文件类型:.js, .ts, .jsx, .tsx, .so
  • 临时文件自动清理
  • API Key 安全存储
  • SO文件分析在隔离环境中进行
  • 二进制工具输出限制,防止过大内容

开发说明

项目结构

rejs/
├── app.py                  # 主应用
├── file_processor.py       # 文件处理
├── deepseek_client.py     # API 客户端
├── report_generator.py    # 报告生成
├── requirements.txt       # 依赖包
├── .env.example          # 环境变量模板
├── templates/            # HTML 模板
│   ├── index.html       # 主页
│   └── result.html      # 结果页
└── static/              # 静态资源
    ├── css/style.css   # 样式文件
    └── js/main.js      # 前端脚本

扩展开发

要添加新功能或修改现有功能,请参考各模块的文档注释。

许可证

MIT License

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published